Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Derby reserved keywords is incorrect #1031

Closed
henrikpalsson opened this issue Mar 11, 2020 · 3 comments · Fixed by #1971
Closed

Derby reserved keywords is incorrect #1031

henrikpalsson opened this issue Mar 11, 2020 · 3 comments · Fixed by #1971
Labels
DBApacheDerby good first issue This issue is an easy starter project for new contributors. hacktoberfest a month-long celebration of open-source software and Developers contribute by completing PRs ImpactLow Severity4 sprint2022-30 TypeEnhancement

Comments

@henrikpalsson
Copy link

henrikpalsson commented Mar 11, 2020

Description
Derby reserved keywords includes more words than necessary according to https://db.apache.org/derby/docs/10.2/ref/rrefkeywords29722.html.
I am trying to add a column named data it gets quoted.

To Reproduce
Add this to a changeSet:

<createTable  tableName="data_test">
    <column name="data" type="CLOB"/>
</createTable>

And this to another changeSet:

 <insert tableName="data_test">
     <column name="data" value="this is a test"/>
 </insert>

Currently it the insert statement will raise a exception with message "'DATA' is not a column in table or VTI"

Expected behavior
It should be possible to add a column with name data.

@SteveDonie
Copy link
Contributor

Thanks for the bug report! I've updated the formatting of it a bit to show the example changesets.

@molivasdat molivasdat added DBApacheDerby ImpactLow RiskMedium Changes that require more testing or that affect many different code paths. Severity4 TypeEnhancement and removed RiskMedium Changes that require more testing or that affect many different code paths. labels May 14, 2020
@molivasdat molivasdat added good first issue This issue is an easy starter project for new contributors. hacktoberfest a month-long celebration of open-source software and Developers contribute by completing PRs labels Sep 26, 2020
@tkelley-eg
Copy link

tkelley-eg commented Oct 6, 2020

I pulled the list from here -

this.addReservedWords(Arrays.asList("ABSOLUTE", "ACTION", "ADD", "AFTER", "ALL", "ALLOCATE", "ALTER", "AND", "ANY", "ARE", "ARRAY", "AS", "ASC", "ASENSITIVE", "ASSERTION", "ASYMMETRIC", "AT", "ATOMIC", "AUTHORIZATION", "AVG", "BEFORE", "BEGIN", "BETWEEN", "BIGINT", "BINARY", "BIT", "BIT_LENGTH", "BLOB", "BOOLEAN", "BOTH", "BREADTH", "BY", "CALL", "CALLED", "CASCADE", "CASCADED", "CASE", "CAST", "CATALOG", "CHAR", "CHARACTER", "CHARACTER_LENGTH", "CHAR_LENGTH", "CHECK", "CLOB", "CLOSE", "COALESCE", "COLLATE", "COLLATION", "COLUMN", "COMMIT", "CONDITION", "CONNECT", "CONNECTION", "CONSTRAINT", "CONSTRAINTS", "CONSTRUCTOR", "CONTAINS", "CONTINUE", "CONVERT", "CORRESPONDING", "COUNT", "CREATE", "CROSS", "CUBE", "CURRENT", "CURRENT_DATE", "CURRENT_DEFAULT_TRANSFORM_GROUP", "CURRENT_PATH", "CURRENT_ROLE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_TRANSFORM_GROUP_FOR_TYPE", "CURRENT_USER", "CURSOR", "CYCLE", "DATA", "DATE", "DAY", "DEALLOCATE", "DEC", "DECIMAL", "DECLARE", "DEFAULT", "DEFERRABLE", "DEFERRED", "DELETE", "DEPTH", "DEREF", "DESC", "DESCRIBE", "DESCRIPTOR", "DETERMINISTIC", "DIAGNOSTICS", "DISCONNECT", "DISTINCT", "DO", "DOMAIN", "DOUBLE", "DROP", "DYNAMIC", "EACH", "ELEMENT", "ELSE", "ELSEIF", "END", "EQUALS", "ESCAPE", "EXCEPT", "EXCEPTION", "EXEC", "EXECUTE", "EXISTS", "EXIT", "EXTERNAL", "EXTRACT", "FALSE", "FETCH", "FILTER", "FIRST", "FLOAT", "FOR", "FOREIGN", "FOUND", "FREE", "FROM", "FULL", "FUNCTION", "GENERAL", "GET", "GLOBAL", "GO", "GOTO", "GRANT", "GROUP", "GROUPING", "HANDLER", "HAVING", "HOLD", "HOUR", "IDENTITY", "IF", "IMMEDIATE", "IN", "INDICATOR", "INITIALLY", "INNER", "INOUT", "INPUT", "INSENSITIVE", "INSERT", "INT", "INTEGER", "INTERSECT", "INTERVAL", "INTO", "IS", "ISOLATION", "ITERATE", "JOIN", "KEY", "LANGUAGE", "LARGE", "LAST", "LATERAL", "LEADING", "LEAVE", "LEFT", "LEVEL", "LIKE", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCATOR", "LOOP", "LOWER", "MAP", "MATCH", "MAX", "MEMBER", "MERGE", "METHOD", "MIN", "MINUTE", "MODIFIES", "MODULE", "MONTH", "MULTISET", "NAMES", "NATIONAL", "NATURAL", "NCHAR", "NCLOB", "NEW", "NEXT", "NO", "NONE", "NOT", "NULL", "NULLIF", "NUMERIC", "OBJECT", "OCTET_LENGTH", "OF", "OLD", "ON", "ONLY", "OPEN", "OPTION", "OR", "ORDER", "ORDINALITY", "OUT", "OUTER", "OUTPUT", "OVER", "OVERLAPS", "PAD", "PARAMETER", "PARTIAL", "PARTITION", "PATH", "POSITION", "PRECISION", "PREPARE", "PRESERVE", "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURE", "PUBLIC", "RANGE", "READ", "READS", "REAL", "RECURSIVE", "REF", "REFERENCES", "REFERENCING", "RELATIVE", "RELEASE", "REPEAT", "RESIGNAL", "RESTRICT", "RESULT", "RETURN", "RETURNS", "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", "ROUTINE", "ROW", "ROWS", "SAVEPOINT", "SCHEMA", "SCOPE", "SCROLL", "SEARCH", "SECOND", "SECTION", "SELECT", "SENSITIVE", "SESSION", "SESSION_USER", "SET", "SETS", "SIGNAL", "SIMILAR", "SIZE", "SMALLINT", "SOME", "SPACE", "SPECIFIC", "SPECIFICTYPE", "SQL", "SQLCODE", "SQLERROR", "SQLEXCEPTION", "SQLSTATE", "SQLWARNING", "START", "STATE", "STATIC", "SUBMULTISET", "SUBSTRING", "SUM", "SYMMETRIC", "SYSTEM", "SYSTEM_USER", "TABLE", "TABLESAMPLE", "TEMPORARY", "THEN", "TIME", "TIMESTAMP", "TIMEZONE_HOUR", "TIMEZONE_MINUTE", "TO", "TRAILING", "TRANSACTION", "TRANSLATE", "TRANSLATION", "TREAT", "TRIGGER", "TRIM", "TRUE", "UNDER", "UNDO", "UNION", "UNIQUE", "UNKNOWN", "UNNEST", "UNTIL", "UPDATE", "UPPER", "USAGE", "USER", "USING", "VALUE", "VALUES", "VARCHAR", "VARYING", "VIEW", "WHEN", "WHENEVER", "WHERE", "WHILE", "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRITE", "YEAR", "ZONE"));

Then I pulled the Derby reserved keywords from here - http://db.apache.org/derby/docs/10.15/ref/rrefkeywords29722.html

It looks like there's a rather large disparity.

derby_keyword.diff.txt

Is there any reason why we shouldn't true the entire list up?

liquibase_master_src.txt
derby_docs.txt

I ran diff -w liquibase_master_src.txt derby_docs.txt > derby_keyword.diff.txt

@jeffjensen
Copy link

This is hitting us as well. Will anything move this forward with a higher priority, perhaps a PR?

andrewhj added a commit to andrewhj/liquibase that referenced this issue Jul 8, 2021
Updated DerbyDatabase definition to use the set of keywords defined in
https://db.apache.org/derby/docs/10.2/ref/rrefkeywords29722.html

resolves liquibase#1031
andrewhj added a commit to andrewhj/liquibase that referenced this issue Jul 8, 2021
Updated DerbyDatabase definition to use the set of keywords defined in
https://db.apache.org/derby/docs/10.2/ref/rrefkeywords29722.html

resolves liquibase#1031
@kataggart kataggart added this to To Do in Conditioning++ via automation Jul 18, 2022
Conditioning++ automation moved this from To Do to Done Jul 26, 2022
nvoxland pushed a commit that referenced this issue Jul 26, 2022
Updated DerbyDatabase definition to use the set of keywords defined in
https://db.apache.org/derby/docs/10.2/ref/rrefkeywords29722.html

resolves #1031
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DBApacheDerby good first issue This issue is an easy starter project for new contributors. hacktoberfest a month-long celebration of open-source software and Developers contribute by completing PRs ImpactLow Severity4 sprint2022-30 TypeEnhancement
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

7 participants