From the user interface for this module, entering a carriage return/new line in the "Original SQL string" field causes a parse error when there are multiple where conditions.
Was testing with SELECT queries, but i believe the trigger is multiple where conditions. This does not happen with a SELECT * FROM {table} query even when followed by CR/NL.
| Comment | File | Size | Author |
|---|---|---|---|
| #1 | 903520-sql-end-string.patch | 1.46 KB | solotandem |
Comments
Comment #1
solotandem commentedThe Lexer::nextToken() routine never gets to state = 1000 due to character processing with the carriage return and new line in state = 0.
The patch handles the problem with the multiple where conditions that keep forcing a read of next token without testing for the end of the string. There may also be other places this test should occur.
Comment #2
duellj commentedI wasn't able to reproduce this, but the patch fixes some bugs, so committing.
Comment #3
solotandem commentedTry a query with a couple of AND clauses and an OR. The OR seems to trigger things.