Bug #11797 "Syntax error for TIME escape sequence" sending literal Strings having curly br
| Submitted: | 7 Jul 2005 16:19 | Modified: | 8 Jul 2005 17:40 |
|---|---|---|---|
| Reporter: | Ken Johanson | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Connector / J | Severity: | S2 (Serious) |
| Version: | mysql-connector-java-3.2.0-alpha | OS: | Linux (Linux) |
| Assigned to: | Mark Matthews | CPU Architecture: | Any |
[7 Jul 2005 16:25]
Mark Matthews
As far as I can tell from the JDBC specification, the only style escapes that are recognized are ODBC ones, and that { and } are reserved characters unless you turn off escape processing.
Do you interpret it differently?
[7 Jul 2005 16:27]
Mark Matthews
Oops, I see that they're in single quotes...That _should_ work. Can you test this with Connector/J 3.1.10?
[7 Jul 2005 16:46]
Ken Johanson
Mark, same problem with that version as well. Icidentally, my config is pretty minimal: mysql.url=jdbc:mysql://127.0.0.1/ken?user=ken&password=pass&useTimezone=false&noDatetimeStringSync=true
[7 Jul 2005 18:41]
Mark Matthews
Ken, I've just tried testing this, and can't repeat it. If I pass that string to Connection.nativeSQL() (which runs it through the escape processor), I get it back. The escape processor code doesn't even know about the sql_mode of the server, so I'm a bit stumped. Can you post a _full_ stack trace, or a repeatable testcase instead of just the string?
[7 Jul 2005 18:53]
Ken Johanson
Mark, my apologies, it was ineed not reporducable with the sample query. The query that causes the problme is below (note, it contrain and ANSI-legal syntax; doubled single-quotes)
select 'ESCAPED BY ''\'' ON {tbl_name | * | *.* | db_name.*}'
[7 Jul 2005 19:32]
Mark Matthews
Fixed for 3.1.11, will move it up to 3.2.x when the merge happens. See nightly snapshots after 00:00 GMT July 8th at http://downloads.mysql.com/snapshots.php#connector-j to test a new build.
[7 Jul 2005 19:46]
Ken Johanson
Mark, thank you!! And sorry for my horrific... typos :-)
[8 Jul 2005 17:35]
Ken Johanson
Mark, I tired last nights build (from http://downloads.mysql.com/snapshots/mysql-connector-java-3.2/mysql-connector-java-3.2-nig...) , having a datestamp on the Jar file of 8 Jul 2005 00:00 UTC, same problem exists. By 'will move it up to 3.2 when the merge happens', do you mean that the fix wont be available until some manual-merge opertaions occurs? - or should the automated build have done this?
[8 Jul 2005 17:40]
Mark Matthews
Ken, We don't automagically merge stuff, the process has to started by hand. The fix is in the nightlies for _3.1_, not _3.2_ right now. 3.2 is probably going to get pretty seriously overhauled in the next few weeks, and basically become what 3.1 is now but with _features_ backported but not any refactorings. Is there something in particular you need from 3.2 for your application?
[8 Jul 2005 17:49]
Ken Johanson
Mark, sorry I havent been keeping track of all features/fixes, that would only apply to 3.2 (I write them off / forgot about them after fixes in 3.2). But two do stand out: Running the server in ANSI compliant mode (no non-standard backslash behavior namely, since I'm only running the server in that mode now), and needing Timezone offsets to NOT be applied to Timestamp.toString() (implicit UTC) (useTimezone=false & noDatetimeStringSync=true). If those are in 3.1 then I can pretty easily go with that version.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.043 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: Running mysql-standard-5.0.7-beta-linux-i686 with options: set-variable=sql-mode=PIPES_AS_CONCAT,ANSI_QUOTES,NO_BACKSLASH_ESCAPE and inserting a string containing brackets (escaped using only ANSI single quote doubling), a java.sql.SQLException: Syntax error for TIME escape sequence is thrown: Example sql literal: UPDATE test SET a = 'ON {tbl_name | * | *.* | db_name.*}' (above String is a real exmaple of some of my syntax notes that was trying to be saved) How to repeat: Run a: UPDATE test SET a = 'ON {tbl_name | * | *.* | db_name.*}' type query. Suggested fix: Apparently this is an ODBC-style escape sequence trigger, but my desire is to use only ANSI style escaping, which I dont believe applies..