[ 
https://issues.apache.org/cayenne/browse/CAY-878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrus Adamchik closed CAY-878.
-------------------------------

    Resolution: Duplicate

Let's use CAY-289 for tracking the quoting feature. It will work the same for 
all types of queries.

> 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.

Reply via email to