[
https://issues.apache.org/jira/browse/OPENJPA-3074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18142440#comment-18142440
]
ASF subversion and git services commented on OPENJPA-3074:
----------------------------------------------------------
Commit df8124a05d22a9d4bd247355db16df34e8718f1c in openjpa's branch
refs/heads/OPENJPA-3074 from Richard Zowalla
[ https://gitbox.apache.org/repos/asf?p=openjpa.git;h=df8124a05 ]
[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)