Field names for INSERT are unquoted
-----------------------------------
Key: CAY-878
URL: https://issues.apache.org/cayenne/browse/CAY-878
Project: Cayenne
Issue Type: Bug
Affects Versions: 3.0
Environment: MySQL/Tomcat/Cayenne
Reporter: Scott Anderson
Assignee: Andrus Adamchik
My INSERT query fails against MySQL because I have a field named `group` that is not unquoted.
Oct 10, 2007 4:12:31 PM org.apache.cayenne.access.QueryLogger logQuery
INFO: INSERT INTO requests2 (autoengineer, close_time, completion_comments, completion_passfail, completion_time, group, idx, lab_action, lab_budget, lab_date_needed, lab_device_id, lab_location, lab_program, lab_rack_no, lab_requesting_group, lab_serial_no, model_affecting, model_changes, platform, priority, req_type, request, rpt_affecting, rpt_changes, state, submission_comments, submit_time, submitter, testcnt, ui_affecting, ui_changes, version) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Oct 10, 2007 4:12:31 PM org.apache.cayenne.access.QueryLogger logQueryParameters
INFO: [bind: NULL, '2005-11-02 10:51:13.0', '<br>IMPLEMENT COMMENTS: All do...', NULL, '2005-11-02 10:34:39.0', NULL, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'false', NULL, 'ClearQuest Tools', 03, NULL, 'Test Plan Import Problems', 'false', NULL, 'CLOSED', 'Please update the CQ export to...', '2005-10-12 13:18:42.0', 'ddarrah', 0, 'false', NULL, NULL]
Oct 10, 2007 4:12:32 PM org.apache.cayenne.access.QueryLogger logQueryError
INFO: *** error.
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 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 'group, idx, lab_action, lab_budget, lab_date_needed, lab_device_id, lab_location' at line 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1268)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1541)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1455)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1440)
at org.apache.cayenne.access.jdbc.BatchAction.runAsIndividualQueries(BatchAction.java:191)
at org.apache.cayenne.access.jdbc.BatchAction.performAction(BatchAction.java:84)
at org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:57)
at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:236)
at org.apache.cayenne.access.DataDomainFlushAction.runQueries(DataDomainFlushAction.java:225)
at org.apache.cayenne.access.DataDomainFlushAction.flush(DataDomainFlushAction.java:143)
at org.apache.cayenne.access.DataDomain.onSyncFlush(DataDomain.java:803)
at org.apache.cayenne.access.DataDomain$2.transform(DataDomain.java:770)
at org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:829)
at org.apache.cayenne.access.DataDomain.onSync(DataDomain.java:767)
at org.apache.cayenne.access.DataContext.flushToParent(DataContext.java:1159)
at org.apache.cayenne.access.DataContext.commitChanges(DataContext.java:1072)
at com.airvana.nmms.autodb.test.main(test.java:91)
Exception in thread "main" org.apache.cayenne.CayenneRuntimeException: [v.3.0-SNAPSHOT Sep 01 2007 17:06:09] Commit Exception
at org.apache.cayenne.access.DataContext.flushToParent(DataContext.java:1191)
at org.apache.cayenne.access.DataContext.commitChanges(DataContext.java:1072)
at com.airvana.nmms.autodb.test.main(test.java:91)
Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 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 'group, idx, lab_action, lab_budget, lab_date_needed, lab_device_id, lab_location' at line 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1268)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1541)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1455)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1440)
at org.apache.cayenne.access.jdbc.BatchAction.runAsIndividualQueries(BatchAction.java:191)
at org.apache.cayenne.access.jdbc.BatchAction.performAction(BatchAction.java:84)
at org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:57)
at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:236)
at org.apache.cayenne.access.DataDomainFlushAction.runQueries(DataDomainFlushAction.java:225)
at org.apache.cayenne.access.DataDomainFlushAction.flush(DataDomainFlushAction.java:143)
at org.apache.cayenne.access.DataDomain.onSyncFlush(DataDomain.java:803)
at org.apache.cayenne.access.DataDomain$2.transform(DataDomain.java:770)
at org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:829)
at org.apache.cayenne.access.DataDomain.onSync(DataDomain.java:767)
at org.apache.cayenne.access.DataContext.flushToParent(DataContext.java:1159)
... 2 more
-- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
This archive was generated by hypermail 2.0.0 : Wed Oct 10 2007 - 16:22:16 EDT