cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrus Adamchik (JIRA)" <j...@apache.org>
Subject [jira] Closed: (CAY-878) Field names for INSERT are unquoted
Date Tue, 03 Feb 2009 08:43:45 GMT

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


Mime
View raw message