Bugs item #1047314, was opened at 2004-10-14 13:42
Message generated for change (Comment added) made by starksm
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=1047314&group_id=22866

Category: JBossCMP
Group: v4.0
>Status: Closed
Resolution: None
Priority: 5
Submitted By: Joe Simone (jsimone)
Assigned to: Alexey Loubyansky (loubyansky)
Summary: Exception creating MySQL table using backquoted table name

Initial Comment:
According to the mySQL reference:

http://dev.mysql.com/doc/mysql/en/Legal_names.html

It is possible to create tables and columns with reserved 
names by using the backquote character: `.

Using JBoss 4.0.0, JDK 1.5 and mySQL 4.0.21 (the latest 
production version) results in a SQL exception from 
using the following in jbosscmp-jdbc.xml :

<entity>
   <ejb-name>Session</ejb-name>
   <table-name>`SESSION`</table-name>
   <cmp-field>
      <field-name>id</field-name>
      <column-name>ID</column-name>
       ....

However, when the backquotes are used for column 
names - NO EXCEPTION occurs.

If I try and issue the SQL commands manually with the 
backquotes this works fine.

It would appear the generated SQL is incorrect when 
reserved words for table names are backquoted.

Below is the exception when trying to create the table 
`SESSION`.

16:29:07,730 ERROR [EntityContainer] Starting failed 
jboss.j2ee:jndiName=local/Comment,service=EJB
org.jboss.deployment.DeploymentException: Error while 
creating table `SESSION`; - nested throwable: 
(java.sql.SQLException: Syntax error or access violation 
message from server: "You have an error in your SQL 
syntax.  Check the manual that corresponds to your 
MySQL server version for the right syntax to use 
near 'SESSION` PRIMARY KEY (ID))' at line 1")
        at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStartCommand.create
Table(JDBCStartCommand.java:540)
        at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStartCommand.execu
te(JDBCStartCommand.java:196)
        at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.startSt
oreManager(JDBCStoreManager.java:484)
        at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.start
(JDBCStoreManager.java:381)
        at 
org.jboss.ejb.plugins.CMPPersistenceManager.start
(CMPPersistenceManager.java:157)
        at org.jboss.ejb.EntityContainer.startService
(EntityContainer.java:340)
        at 
org.jboss.system.ServiceMBeanSupport.jbossInternalStar
t(ServiceMBeanSupport.java:271)
        at 
org.jboss.system.ServiceMBeanSupport.jbossInternalLifec
ycle(ServiceMBeanSupport.java:221)
        at 
sun.reflect.GeneratedMethodAccessor82.invoke
(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke
(Method.java:585)
        at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke
(ReflectedDispatcher.java:141)
        at org.jboss.mx.server.Invocation.dispatch
(Invocation.java:80)
        at org.jboss.mx.server.Invocation.invoke
(Invocation.java:72)
        at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke
(AbstractMBeanInvoker.java:242)
        at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:642)
        at 
org.jboss.system.ServiceController$ServiceProxy.invoke
(ServiceController.java:891)
        at $Proxy0.start(Unknown Source)
        at org.jboss.system.ServiceController.start
(ServiceController.java:416)
        at 
sun.reflect.GeneratedMethodAccessor5.invoke(Unknown 
Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke
(Method.java:585)
        at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke
(ReflectedDispatcher.java:141)
        at org.jboss.mx.server.Invocation.dispatch
(Invocation.java:80)
        at org.jboss.mx.server.Invocation.invoke
(Invocation.java:72)
        at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke
(AbstractMBeanInvoker.java:242)
        at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:642)
        at org.jboss.mx.util.MBeanProxyExt.invoke
(MBeanProxyExt.java:176)
        at $Proxy278.start(Unknown Source)
        at org.jboss.ejb.EjbModule.startService
(EjbModule.java:394)
        at 
org.jboss.system.ServiceMBeanSupport.jbossInternalStar
t(ServiceMBeanSupport.java:271)
        at 
org.jboss.system.ServiceMBeanSupport.jbossInternalLifec
ycle(ServiceMBeanSupport.java:221)
        at 
sun.reflect.GeneratedMethodAccessor82.invoke
(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke
(Method.java:585)
        at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke
(ReflectedDispatcher.java:141)
        at org.jboss.mx.server.Invocation.dispatch
(Invocation.java:80)
        at org.jboss.mx.server.Invocation.invoke
(Invocation.java:72)
        at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke
(AbstractMBeanInvoker.java:242)
        at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:642)
        at 
org.jboss.system.ServiceController$ServiceProxy.invoke
(ServiceController.java:891)
        at $Proxy0.start(Unknown Source)
        at org.jboss.system.ServiceController.start
(ServiceController.java:416)
        at 
sun.reflect.GeneratedMethodAccessor5.invoke(Unknown 
Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke
(Method.java:585)
        at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke
(ReflectedDispatcher.java:141)
        at org.jboss.mx.server.Invocation.dispatch
(Invocation.java:80)
        at org.jboss.mx.server.Invocation.invoke
(Invocation.java:72)
        at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke
(AbstractMBeanInvoker.java:242)
        at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:642)
        at org.jboss.mx.util.MBeanProxyExt.invoke
(MBeanProxyExt.java:176)
        at $Proxy19.start(Unknown Source)
        at org.jboss.ejb.EJBDeployer.start
(EJBDeployer.java:605)
        at org.jboss.deployment.MainDeployer.start
(MainDeployer.java:935)
        at org.jboss.deployment.MainDeployer.start
(MainDeployer.java:927)
        at org.jboss.deployment.MainDeployer.deploy
(MainDeployer.java:746)
        at org.jboss.deployment.MainDeployer.deploy
(MainDeployer.java:709)
        at 
sun.reflect.GeneratedMethodAccessor29.invoke
(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke
(Method.java:585)
        at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke
(ReflectedDispatcher.java:141)
        at org.jboss.mx.server.Invocation.dispatch
(Invocation.java:80)
        at 
org.jboss.mx.interceptor.AbstractInterceptor.invoke
(AbstractInterceptor.java:119)
        at org.jboss.mx.server.Invocation.invoke
(Invocation.java:74)
        at 
org.jboss.mx.interceptor.ModelMBeanOperationIntercepto
r.invoke(ModelMBeanOperationInterceptor.java:131)
        at org.jboss.mx.server.Invocation.invoke
(Invocation.java:74)
        at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke
(AbstractMBeanInvoker.java:242)
        at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:642)
        at org.jboss.mx.util.MBeanProxyExt.invoke
(MBeanProxyExt.java:176)
        at $Proxy8.deploy(Unknown Source)
        at 
org.jboss.deployment.scanner.URLDeploymentScanner.de
ploy(URLDeploymentScanner.java:305)
        at 
org.jboss.deployment.scanner.URLDeploymentScanner.sc
an(URLDeploymentScanner.java:463)
        at 
org.jboss.deployment.scanner.AbstractDeploymentScann
er$ScannerThread.doScan
(AbstractDeploymentScanner.java:204)
        at 
org.jboss.deployment.scanner.AbstractDeploymentScann
er$ScannerThread.loop
(AbstractDeploymentScanner.java:215)
        at 
org.jboss.deployment.scanner.AbstractDeploymentScann
er$ScannerThread.run
(AbstractDeploymentScanner.java:194)
Caused by: java.sql.SQLException: Syntax error or 
access violation message from server: "You have an 
error in your SQL syntax.  Check the manual that 
corresponds to your MySQL server version for the right 
syntax to use near 'SESSION` PRIMARY KEY (ID))' at 
line 1"
        at com.mysql.jdbc.MysqlIO.checkErrorPacket
(MysqlIO.java:1997)
        at com.mysql.jdbc.MysqlIO.sendCommand
(MysqlIO.java:1167)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect
(MysqlIO.java:1278)
        at com.mysql.jdbc.MysqlIO.sqlQuery
(MysqlIO.java:1224)
        at com.mysql.jdbc.Connection.execSQL
(Connection.java:2244)
        at com.mysql.jdbc.Connection.execSQL
(Connection.java:2192)
        at com.mysql.jdbc.Statement.executeUpdate
(Statement.java:1259)
        at com.mysql.jdbc.Statement.executeUpdate
(Statement.java:1205)
        at 
org.jboss.resource.adapter.jdbc.WrappedStatement.exec
uteUpdate(WrappedStatement.java:229)
        at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStartCommand.create
Table(JDBCStartCommand.java:527)
        ... 75 more
16:29:07,770 WARN  [ServiceController] Problem 
starting service 
jboss.j2ee:jndiName=local/Comment,service=EJB
org.jboss.deployment.DeploymentException: Error while 
creating table `SESSION`; - nested throwable: 
(java.sql.SQLException: Syntax error or access violation 
message from server: "You have an error in your SQL 
syntax.  Check the manual that corresponds to your 
MySQL server version for the right syntax to use 
near 'SESSION` PRIMARY KEY (ID))' at line 1")
        at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStartCommand.create
Table(JDBCStartCommand.java:540)
        at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStartCommand.execu
te(JDBCStartCommand.java:196)
        at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.startSt
oreManager(JDBCStoreManager.java:484)
        at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.start
(JDBCStoreManager.java:381)
        at 
org.jboss.ejb.plugins.CMPPersistenceManager.start
(CMPPersistenceManager.java:157)
        at org.jboss.ejb.EntityContainer.startService
(EntityContainer.java:340)
        at 
org.jboss.system.ServiceMBeanSupport.jbossInternalStar
t(ServiceMBeanSupport.java:271)
        at 
org.jboss.system.ServiceMBeanSupport.jbossInternalLifec
ycle(ServiceMBeanSupport.java:221)
        at 
sun.reflect.GeneratedMethodAccessor82.invoke
(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke
(Method.java:585)
        at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke
(ReflectedDispatcher.java:141)
        at org.jboss.mx.server.Invocation.dispatch
(Invocation.java:80)
        at org.jboss.mx.server.Invocation.invoke
(Invocation.java:72)
        at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke
(AbstractMBeanInvoker.java:242)
        at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:642)
        at 
org.jboss.system.ServiceController$ServiceProxy.invoke
(ServiceController.java:891)
        at $Proxy0.start(Unknown Source)
        at org.jboss.system.ServiceController.start
(ServiceController.java:416)
        at 
sun.reflect.GeneratedMethodAccessor5.invoke(Unknown 
Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke
(Method.java:585)
        at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke
(ReflectedDispatcher.java:141)
        at org.jboss.mx.server.Invocation.dispatch
(Invocation.java:80)
        at org.jboss.mx.server.Invocation.invoke
(Invocation.java:72)
        at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke
(AbstractMBeanInvoker.java:242)
        at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:642)
        at org.jboss.mx.util.MBeanProxyExt.invoke
(MBeanProxyExt.java:176)
        at $Proxy278.start(Unknown Source)
        at org.jboss.ejb.EjbModule.startService
(EjbModule.java:394)
        at 
org.jboss.system.ServiceMBeanSupport.jbossInternalStar
t(ServiceMBeanSupport.java:271)
        at 
org.jboss.system.ServiceMBeanSupport.jbossInternalLifec
ycle(ServiceMBeanSupport.java:221)
        at 
sun.reflect.GeneratedMethodAccessor82.invoke
(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke
(Method.java:585)
        at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke
(ReflectedDispatcher.java:141)
        at org.jboss.mx.server.Invocation.dispatch
(Invocation.java:80)
        at org.jboss.mx.server.Invocation.invoke
(Invocation.java:72)
        at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke
(AbstractMBeanInvoker.java:242)
        at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:642)
        at 
org.jboss.system.ServiceController$ServiceProxy.invoke
(ServiceController.java:891)
        at $Proxy0.start(Unknown Source)
        at org.jboss.system.ServiceController.start
(ServiceController.java:416)
        at 
sun.reflect.GeneratedMethodAccessor5.invoke(Unknown 
Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke
(Method.java:585)
        at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke
(ReflectedDispatcher.java:141)
        at org.jboss.mx.server.Invocation.dispatch
(Invocation.java:80)
        at org.jboss.mx.server.Invocation.invoke
(Invocation.java:72)
        at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke
(AbstractMBeanInvoker.java:242)
        at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:642)
        at org.jboss.mx.util.MBeanProxyExt.invoke
(MBeanProxyExt.java:176)
        at $Proxy19.start(Unknown Source)
        at org.jboss.ejb.EJBDeployer.start
(EJBDeployer.java:605)
        at org.jboss.deployment.MainDeployer.start
(MainDeployer.java:935)
        at org.jboss.deployment.MainDeployer.start
(MainDeployer.java:927)
        at org.jboss.deployment.MainDeployer.deploy
(MainDeployer.java:746)
        at org.jboss.deployment.MainDeployer.deploy
(MainDeployer.java:709)
        at 
sun.reflect.GeneratedMethodAccessor29.invoke
(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke
(Method.java:585)
        at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke
(ReflectedDispatcher.java:141)
        at org.jboss.mx.server.Invocation.dispatch
(Invocation.java:80)
        at 
org.jboss.mx.interceptor.AbstractInterceptor.invoke
(AbstractInterceptor.java:119)
        at org.jboss.mx.server.Invocation.invoke
(Invocation.java:74)
        at 
org.jboss.mx.interceptor.ModelMBeanOperationIntercepto
r.invoke(ModelMBeanOperationInterceptor.java:131)
        at org.jboss.mx.server.Invocation.invoke
(Invocation.java:74)
        at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke
(AbstractMBeanInvoker.java:242)
        at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:642)
        at org.jboss.mx.util.MBeanProxyExt.invoke
(MBeanProxyExt.java:176)
        at $Proxy8.deploy(Unknown Source)
        at 
org.jboss.deployment.scanner.URLDeploymentScanner.de
ploy(URLDeploymentScanner.java:305)
        at 
org.jboss.deployment.scanner.URLDeploymentScanner.sc
an(URLDeploymentScanner.java:463)
        at 
org.jboss.deployment.scanner.AbstractDeploymentScann
er$ScannerThread.doScan
(AbstractDeploymentScanner.java:204)
        at 
org.jboss.deployment.scanner.AbstractDeploymentScann
er$ScannerThread.loop
(AbstractDeploymentScanner.java:215)
        at 
org.jboss.deployment.scanner.AbstractDeploymentScann
er$ScannerThread.run
(AbstractDeploymentScanner.java:194)
Caused by: java.sql.SQLException: Syntax error or 
access violation message from server: "You have an 
error in your SQL syntax.  Check the manual that 
corresponds to your MySQL server version for the right 
syntax to use near 'SESSION` PRIMARY KEY (ID))' at 
line 1"
        at com.mysql.jdbc.MysqlIO.checkErrorPacket
(MysqlIO.java:1997)
        at com.mysql.jdbc.MysqlIO.sendCommand
(MysqlIO.java:1167)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect
(MysqlIO.java:1278)
        at com.mysql.jdbc.MysqlIO.sqlQuery
(MysqlIO.java:1224)
        at com.mysql.jdbc.Connection.execSQL
(Connection.java:2244)
        at com.mysql.jdbc.Connection.execSQL
(Connection.java:2192)
        at com.mysql.jdbc.Statement.executeUpdate
(Statement.java:1259)
        at com.mysql.jdbc.Statement.executeUpdate
(Statement.java:1205)
        at 
org.jboss.resource.adapter.jdbc.WrappedStatement.exec
uteUpdate(WrappedStatement.java:229)
        at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStartCommand.create
Table(JDBCStartCommand.java:527)
        ... 75 more
16:29:08,821 INFO  [EJBDeployer] Deployed: 
file:/C:/java/jboss-
4.0.0/server/default/tmp/deploy/tmp21076ear2.ear-
contents/ejb.jar
16:29:11,235 INFO  [EARDeployer] Started J2EE 
application: file:/C:/java/jboss-
4.0.0/server/default/deploy/ear2.ear




----------------------------------------------------------------------

Comment By: Scott M Stark (starksm)
Date: 2004-12-29 12:51

Message:
Logged In: YES 
user_id=175228

All issues have been moved to http://jira.jboss.com. Existing
issues have been moved. New issues will be closed with this
canned reponse.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=1047314&group_id=22866


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
JBoss-Development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to