[ 
https://issues.apache.org/jira/browse/OPENJPA-3074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18142824#comment-18142824
 ] 

ASF subversion and git services commented on OPENJPA-3074:
----------------------------------------------------------

Commit 1b61f448b65ce46e8e130c2bd202d997443cfb24 in openjpa's branch 
refs/heads/OPENJPA-3074 from Richard Zowalla
[ https://gitbox.apache.org/repos/asf?p=openjpa.git;h=1b61f448b ]

[OPENJPA-3074] Treat the words that MySQL 8.0 and later reserve as reserved 
words for table names too

Table names are checked against the reserved words, not the invalid column
words, so an entity named Window or Function still failed to be created on
MySQL 8.0. MySQLDictionary delimits reserved words, so such a table or
column name is now delimited and keeps its name; MariaDBDictionary appends
a 0 to a column name as before. UpdatedMySQLReservedWords=false removes the
added reserved words again.


> Share the common code of MySQLDictionary and MariaDBDictionary in a 
> superclass and add the MySQL 8 reserved words
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-3074
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-3074
>             Project: OpenJPA
>          Issue Type: Improvement
>            Reporter: Richard Zowalla
>            Assignee: Richard Zowalla
>            Priority: Major
>             Fix For: 4.2.0
>
>
> MySQLDictionary and MariaDBDictionary both extend DBDictionary and duplicate 
> most of their code, as noted in the review of #297 (OPENJPA-2943). Move the 
> shared code into a common abstract superclass and keep the per-database 
> differences and defaults in the two subclasses. All public configuration 
> fields stay as they are.
> MySQLDictionary also lacks the reserved words MySQL 8.0 added, such as RANK, 
> ROW_NUMBER, WINDOW and LATERAL. An entity attribute named rank therefore 
> produces a CREATE TABLE statement that fails on MySQL 8.4 and 9.x.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to