Skip to content

Commit a8a9864

Browse files
committed
HHH-10142 - Add SQL keyword to DerbyDialect
1 parent 2828936 commit a8a9864

File tree

1 file changed

+212
-1
lines changed

1 file changed

+212
-1
lines changed

hibernate-core/src/main/java/org/hibernate/dialect/DerbyDialect.java

Lines changed: 212 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.hibernate.dialect.pagination.AbstractLimitHandler;
1919
import org.hibernate.dialect.pagination.LimitHandler;
2020
import org.hibernate.dialect.pagination.LimitHelper;
21-
import org.hibernate.engine.jdbc.env.spi.AnsiSqlKeywords;
2221
import org.hibernate.engine.jdbc.env.spi.IdentifierHelper;
2322
import org.hibernate.engine.jdbc.env.spi.IdentifierHelperBuilder;
2423
import org.hibernate.engine.spi.RowSelection;
@@ -64,6 +63,7 @@ public DerbyDialect() {
6463
registerFunction( "concat", new DerbyConcatFunction() );
6564
registerFunction( "trim", new AnsiTrimFunction() );
6665
registerColumnType( Types.BLOB, "blob" );
66+
registerDerbyKeywords();
6767
determineDriverVersion();
6868

6969
if ( driverVersionMajor > 10 || ( driverVersionMajor == 10 && driverVersionMinor >= 7 ) ) {
@@ -341,10 +341,221 @@ public IdentifierHelper buildIdentifierHelper(
341341
builder.applyIdentifierCasing( dbMetaData );
342342

343343
builder.applyReservedWords( dbMetaData );
344+
344345
builder.applyReservedWords( getKeywords() );
345346

346347
builder.setNameQualifierSupport( getNameQualifierSupport() );
347348

348349
return builder.build();
349350
}
351+
352+
protected void registerDerbyKeywords() {
353+
registerKeyword( "ADD" );
354+
registerKeyword( "ALL" );
355+
registerKeyword( "ALLOCATE" );
356+
registerKeyword( "ALTER" );
357+
registerKeyword( "AND" );
358+
registerKeyword( "ANY" );
359+
registerKeyword( "ARE" );
360+
registerKeyword( "AS" );
361+
registerKeyword( "ASC" );
362+
registerKeyword( "ASSERTION" );
363+
registerKeyword( "AT" );
364+
registerKeyword( "AUTHORIZATION" );
365+
registerKeyword( "AVG" );
366+
registerKeyword( "BEGIN" );
367+
registerKeyword( "BETWEEN" );
368+
registerKeyword( "BIT" );
369+
registerKeyword( "BOOLEAN" );
370+
registerKeyword( "BOTH" );
371+
registerKeyword( "BY" );
372+
registerKeyword( "CALL" );
373+
registerKeyword( "CASCADE" );
374+
registerKeyword( "CASCADED" );
375+
registerKeyword( "CASE" );
376+
registerKeyword( "CAST" );
377+
registerKeyword( "CHAR" );
378+
registerKeyword( "CHARACTER" );
379+
registerKeyword( "CHECK" );
380+
registerKeyword( "CLOSE" );
381+
registerKeyword( "COLLATE" );
382+
registerKeyword( "COLLATION" );
383+
registerKeyword( "COLUMN" );
384+
registerKeyword( "COMMIT" );
385+
registerKeyword( "CONNECT" );
386+
registerKeyword( "CONNECTION" );
387+
registerKeyword( "CONSTRAINT" );
388+
registerKeyword( "CONSTRAINTS" );
389+
registerKeyword( "CONTINUE" );
390+
registerKeyword( "CONVERT" );
391+
registerKeyword( "CORRESPONDING" );
392+
registerKeyword( "COUNT" );
393+
registerKeyword( "CREATE" );
394+
registerKeyword( "CURRENT" );
395+
registerKeyword( "CURRENT_DATE" );
396+
registerKeyword( "CURRENT_TIME" );
397+
registerKeyword( "CURRENT_TIMESTAMP" );
398+
registerKeyword( "CURRENT_USER" );
399+
registerKeyword( "CURSOR" );
400+
registerKeyword( "DEALLOCATE" );
401+
registerKeyword( "DEC" );
402+
registerKeyword( "DECIMAL" );
403+
registerKeyword( "DECLARE" );
404+
registerKeyword( "DEFERRABLE" );
405+
registerKeyword( "DEFERRED" );
406+
registerKeyword( "DELETE" );
407+
registerKeyword( "DESC" );
408+
registerKeyword( "DESCRIBE" );
409+
registerKeyword( "DIAGNOSTICS" );
410+
registerKeyword( "DISCONNECT" );
411+
registerKeyword( "DISTINCT" );
412+
registerKeyword( "DOUBLE" );
413+
registerKeyword( "DROP" );
414+
registerKeyword( "ELSE" );
415+
registerKeyword( "END" );
416+
registerKeyword( "ENDEXEC" );
417+
registerKeyword( "ESCAPE" );
418+
registerKeyword( "EXCEPT" );
419+
registerKeyword( "EXCEPTION" );
420+
registerKeyword( "EXEC" );
421+
registerKeyword( "EXECUTE" );
422+
registerKeyword( "EXISTS" );
423+
registerKeyword( "EXPLAIN" );
424+
registerKeyword( "EXTERNAL" );
425+
registerKeyword( "FALSE" );
426+
registerKeyword( "FETCH" );
427+
registerKeyword( "FIRST" );
428+
registerKeyword( "FLOAT" );
429+
registerKeyword( "FOR" );
430+
registerKeyword( "FOREIGN" );
431+
registerKeyword( "FOUND" );
432+
registerKeyword( "FROM" );
433+
registerKeyword( "FULL" );
434+
registerKeyword( "FUNCTION" );
435+
registerKeyword( "GET" );
436+
registerKeyword( "GET_CURRENT_CONNECTION" );
437+
registerKeyword( "GLOBAL" );
438+
registerKeyword( "GO" );
439+
registerKeyword( "GOTO" );
440+
registerKeyword( "GRANT" );
441+
registerKeyword( "GROUP" );
442+
registerKeyword( "HAVING" );
443+
registerKeyword( "HOUR" );
444+
registerKeyword( "IDENTITY" );
445+
registerKeyword( "IMMEDIATE" );
446+
registerKeyword( "IN" );
447+
registerKeyword( "INDICATOR" );
448+
registerKeyword( "INITIALLY" );
449+
registerKeyword( "INNER" );
450+
registerKeyword( "INOUT" );
451+
registerKeyword( "INPUT" );
452+
registerKeyword( "INSENSITIVE" );
453+
registerKeyword( "INSERT" );
454+
registerKeyword( "INT" );
455+
registerKeyword( "INTEGER" );
456+
registerKeyword( "INTERSECT" );
457+
registerKeyword( "INTO" );
458+
registerKeyword( "IS" );
459+
registerKeyword( "ISOLATION" );
460+
registerKeyword( "JOIN" );
461+
registerKeyword( "KEY" );
462+
registerKeyword( "LAST" );
463+
registerKeyword( "LEFT" );
464+
registerKeyword( "LIKE" );
465+
registerKeyword( "LONGINT" );
466+
registerKeyword( "LOWER" );
467+
registerKeyword( "LTRIM" );
468+
registerKeyword( "MATCH" );
469+
registerKeyword( "MAX" );
470+
registerKeyword( "MIN" );
471+
registerKeyword( "MINUTE" );
472+
registerKeyword( "NATIONAL" );
473+
registerKeyword( "NATURAL" );
474+
registerKeyword( "NCHAR" );
475+
registerKeyword( "NVARCHAR" );
476+
registerKeyword( "NEXT" );
477+
registerKeyword( "NO" );
478+
registerKeyword( "NOT" );
479+
registerKeyword( "NULL" );
480+
registerKeyword( "NULLIF" );
481+
registerKeyword( "NUMERIC" );
482+
registerKeyword( "OF" );
483+
registerKeyword( "ON" );
484+
registerKeyword( "ONLY" );
485+
registerKeyword( "OPEN" );
486+
registerKeyword( "OPTION" );
487+
registerKeyword( "OR" );
488+
registerKeyword( "ORDER" );
489+
registerKeyword( "OUT" );
490+
registerKeyword( "OUTER" );
491+
registerKeyword( "OUTPUT" );
492+
registerKeyword( "OVERLAPS" );
493+
registerKeyword( "PAD" );
494+
registerKeyword( "PARTIAL" );
495+
registerKeyword( "PREPARE" );
496+
registerKeyword( "PRESERVE" );
497+
registerKeyword( "PRIMARY" );
498+
registerKeyword( "PRIOR" );
499+
registerKeyword( "PRIVILEGES" );
500+
registerKeyword( "PROCEDURE" );
501+
registerKeyword( "PUBLIC" );
502+
registerKeyword( "READ" );
503+
registerKeyword( "REAL" );
504+
registerKeyword( "REFERENCES" );
505+
registerKeyword( "RELATIVE" );
506+
registerKeyword( "RESTRICT" );
507+
registerKeyword( "REVOKE" );
508+
registerKeyword( "RIGHT" );
509+
registerKeyword( "ROLLBACK" );
510+
registerKeyword( "ROWS" );
511+
registerKeyword( "RTRIM" );
512+
registerKeyword( "SCHEMA" );
513+
registerKeyword( "SCROLL" );
514+
registerKeyword( "SECOND" );
515+
registerKeyword( "SELECT" );
516+
registerKeyword( "SESSION_USER" );
517+
registerKeyword( "SET" );
518+
registerKeyword( "SMALLINT" );
519+
registerKeyword( "SOME" );
520+
registerKeyword( "SPACE" );
521+
registerKeyword( "SQL" );
522+
registerKeyword( "SQLCODE" );
523+
registerKeyword( "SQLERROR" );
524+
registerKeyword( "SQLSTATE" );
525+
registerKeyword( "SUBSTR" );
526+
registerKeyword( "SUBSTRING" );
527+
registerKeyword( "SUM" );
528+
registerKeyword( "SYSTEM_USER" );
529+
registerKeyword( "TABLE" );
530+
registerKeyword( "TEMPORARY" );
531+
registerKeyword( "TIMEZONE_HOUR" );
532+
registerKeyword( "TIMEZONE_MINUTE" );
533+
registerKeyword( "TO" );
534+
registerKeyword( "TRAILING" );
535+
registerKeyword( "TRANSACTION" );
536+
registerKeyword( "TRANSLATE" );
537+
registerKeyword( "TRANSLATION" );
538+
registerKeyword( "TRUE" );
539+
registerKeyword( "UNION" );
540+
registerKeyword( "UNIQUE" );
541+
registerKeyword( "UNKNOWN" );
542+
registerKeyword( "UPDATE" );
543+
registerKeyword( "UPPER" );
544+
registerKeyword( "USER" );
545+
registerKeyword( "USING" );
546+
registerKeyword( "VALUES" );
547+
registerKeyword( "VARCHAR" );
548+
registerKeyword( "VARYING" );
549+
registerKeyword( "VIEW" );
550+
registerKeyword( "WHENEVER" );
551+
registerKeyword( "WHERE" );
552+
registerKeyword( "WITH" );
553+
registerKeyword( "WORK" );
554+
registerKeyword( "WRITE" );
555+
registerKeyword( "XML" );
556+
registerKeyword( "XMLEXISTS" );
557+
registerKeyword( "XMLPARSE" );
558+
registerKeyword( "XMLSERIALIZE" );
559+
registerKeyword( "YEAR" );
560+
}
350561
}

0 commit comments

Comments
 (0)