Johan Wikman
b492f09d61
MXS-1196: Add Oracle tests
2017-06-28 21:33:04 +02:00
Johan Wikman
f9eef5ee3b
MXS-1196: Classify SHOW as QUERY_TYPE_READ
2017-06-28 21:33:04 +02:00
Johan Wikman
49c9c60c63
MXS-1196: Parse arguments to CALL.
2017-06-28 21:33:04 +02:00
Johan Wikman
dd5360d30c
MXS-1196: Handle delimiter explicitly, ignore comments
2017-06-28 21:33:04 +02:00
Johan Wikman
fd3258f7f7
MXS-1196: Ignore mysqltest keywords unless delim is ;
2017-06-28 21:33:04 +02:00
Johan Wikman
a73200ad50
MXS-1196: Add Oracle tests
2017-06-28 21:33:04 +02:00
Johan Wikman
eaf5a4152b
MXS-1196: Handle eol-comments
...
Eol-comments need to be followed by a newline as otherwise the
rest of a test-statement will be excluded.
2017-06-28 21:33:04 +02:00
Johan Wikman
332e1bbb7c
MXS-1196: Add more Oracle tests
2017-06-28 21:33:04 +02:00
Johan Wikman
31f2b340ea
MXS-1196: Add more Oracle tests
2017-06-28 21:33:04 +02:00
Johan Wikman
38863bd319
MXS-1196: Handle "exit" correctly
...
"exit" is both a mysqltest and PL/SQL keyword.
2017-06-28 21:33:04 +02:00
Johan Wikman
09b0c44be5
MXS-1196: Add new Oracle test
2017-06-28 21:33:04 +02:00
Johan Wikman
2a89a4de45
MXS-1196: Handle DECLARE
...
DECLARE can also begin an anonymous block in PL/SQL.
2017-06-28 21:33:04 +02:00
Johan Wikman
bf54a9bf9f
MXS-1196: Handle anonymous blocks
...
In PL/SQL BEGIN starts a block (i.e. not a transaction). Whenever we
see that, we assume it is such a block, consume all input and set the
type to QUERY_TYPE_WRITE to ensure it goes to master.
2017-06-28 21:33:04 +02:00
Johan Wikman
f26fb085bc
MXS-1196: Handle "while" correctly
...
"while" is both a mysqltest and PL/SQL keyword.
2017-06-28 21:33:04 +02:00
Johan Wikman
b700a77da6
MXS-1196: Add test for Oracle sequences
2017-06-28 21:33:04 +02:00
Johan Wikman
573a2c6160
MXS-1196: Accept ".tbl.col" columns names
2017-06-28 21:33:04 +02:00
Johan Wikman
9ecd5da255
MXS-1196: Handle sequence related fields/functions
...
Both 10.3 and Oracle support sequence pseudo colums and corresponding
functions. Getting the next number in the sequence is in both cases
obtained using nextval/nextval() but the current number is in Oracle
obtained using currval/currval() and in 10.3 using lastval/lastval().
These fields/functions are now ignored, in the sense that they will
not show up in the field/function infos. However, they will cause the
type mask of the statement to contain the bit QUERY_TYPE_WRITE so that
statements accessing the sequence will always be sent to the master.
2017-06-28 21:33:04 +02:00
Johan Wikman
61b265467b
MXS-1196: Add support for DROP SEQUENCE
2017-06-28 21:33:04 +02:00
Johan Wikman
6645a0581f
MXS-1196: Add support for [SHOW] CREATE SEQUENCE
2017-06-28 21:33:04 +02:00
Johan Wikman
8b4e092d26
MXS-1196: Give same argument to both classifiers
2017-06-28 21:33:04 +02:00
Johan Wikman
bea8513f9d
MXS-1196: Amend default arguments with given
2017-06-28 21:33:04 +02:00
Johan Wikman
6b93a44be1
MXS-1196: Add PS tests
...
The names of the Oracle related tests are renamed as well to make it easier
to see what exactly fails.
2017-06-28 21:33:04 +02:00
Johan Wikman
116e2cd974
MXS-1196: Handle Oracle EXECUTE and PREPARE statements
...
- EXECUTE IMMEDIATE ...
- PREPARE stmt FROM dynamic string
2017-06-28 21:33:04 +02:00
Johan Wikman
7c1afe5d2c
MXS-1196: Not all preparable stmts can be parsed
...
But the out arguments of ...get_[field|function]_infos must
be sensible and the functions must not crash.
2017-06-28 21:33:04 +02:00
Johan Wikman
66e027febd
MXS-1196: Accept EXECUTE ... USING <INTEGER>
2017-06-28 21:33:04 +02:00
Johan Wikman
471fa01f40
MXS-1196: A single '?' is not a user variable
2017-06-28 21:33:04 +02:00
Johan Wikman
fba45fd763
MXS-1196: Add more Oracle tests
2017-06-28 21:33:04 +02:00
Johan Wikman
ee54f3ac61
MXS-1196: Hide implicit translations
...
The embedded library, when used in Oracle mode, reports the use of
"concat" as "concat_operator_oracle" and the use of "decode" as "case.
2017-06-28 21:33:04 +02:00
Johan Wikman
6c334aa12c
MXS-1196: Add Oracle test
2017-06-28 21:33:04 +02:00
Johan Wikman
a5637a311c
MXS-1196: Recognize builtin Oracle functions
2017-06-28 21:33:04 +02:00
Johan Wikman
1d2ca5cde7
MXS-1196: Translate NVL into IFNULL
2017-06-28 21:33:04 +02:00
Johan Wikman
abd12d1376
MXS-1196: Add Oracle test
2017-06-28 21:33:04 +02:00
Johan Wikman
c46f16041e
MXS-1196: Ignore the DUAL table
...
The embedded parser ignores the DUAL table so it's better if
qc_sqlite does that as well.
2017-06-28 21:33:04 +02:00
Johan Wikman
339cc6cc0c
MXS-1196: Add Oracle tests to the test suite
2017-06-28 21:33:04 +02:00
Johan Wikman
e6f8432e33
MXS-1196: Accept :'a' as placeholder variables
...
Oracle SQL accepts statements like
PREPARE stmt FROM 'INSERT INTO t1 VALUES (:a,:b)';
PREPARE stmt FROM 'INSERT INTO t1 VALUES (:"a",:"b")';
That is, the variable may be surrounded by quotes.
2017-06-28 21:33:04 +02:00
Johan Wikman
dece33f7b5
MXS-1196: Ignore "reset master"
...
Qc_sqlite does not parse that, so it needs to be commented out in
test files.
2017-06-28 21:33:04 +02:00
Johan Wikman
e80a378213
MXS-1196: Add 'sql_mode' argument to qc_sqlite
2017-06-28 21:33:04 +02:00
Johan Wikman
50413c5195
MXS-1196: Add Oracle specific tests
...
Copied from .../server/mysql-test/suite/compat/oracle/t
Will be used as a baseline and edited as needed.
2017-06-28 21:33:04 +02:00
Johan Wikman
8c1d53192c
MXS-1196: Handle REPLACE explicitly
...
Allowing REPLACE to implicitly decay into an identifier does not
work.
2017-06-28 21:33:04 +02:00
Johan Wikman
ceaf2110ab
MXS-1196: Add smarter delimiter handling
...
DELIMITER $$;
--delimiter $$
2017-06-28 21:33:04 +02:00
Johan Wikman
e7ef6c855f
MXS-1196: Register if variables are used in function calls
2017-06-28 21:33:04 +02:00
Johan Wikman
593070b865
MXS-1196: Tentative commit
2017-06-28 21:33:04 +02:00
Johan Wikman
0de99dc686
MXS-1196: Use a syntactically correct stmt for init
2017-06-28 21:33:04 +02:00
Johan Wikman
32d4a6a8c7
MXS-1196: Oracle mode needs to be turned on repeatedly
...
Seems it not sufficient to turn it on when the qc module is loaded.
2017-06-28 21:33:04 +02:00
Johan Wikman
9ea380c456
MXS-1196: Turn on 10.3 mode for qc_sqlite
...
Turn on 10.3 mode for qc_sqlite if qc_mysqlembedded is built using 10.3.
2017-06-28 21:33:04 +02:00
Johan Wikman
422ea7f912
MXS-1196: In 10.3 a unary minus is not a function
2017-06-28 21:33:04 +02:00
Johan Wikman
0c51dd75fe
MXS-1196: Pre 10.3 or 10.3 mode selected with option
...
The embedded parser of 10.3 parses things slightly differently than
how the embedded parser of earlier releases does. When comparing the
output of different query classifiers you need to be able to specify
with what qc_sqlite should be compatible with.
2017-06-28 21:33:04 +02:00
Johan Wikman
e0c78d4242
MXS-1196: Qc arguments are separated by ",", not by ";"
2017-06-28 21:33:04 +02:00
Johan Wikman
8a0455c2fe
MXS-1196: Allow delimiters to be multi-character
...
In some new test files, the delimiter is 2 characters.
2017-06-28 21:33:04 +02:00
Johan Wikman
53dfa818e3
MXS-1196: Make MODE_ORACLE optional
...
Turned on by providing an argument when loading the query classifier.
2017-06-28 21:33:04 +02:00