DBZ-5650 Support set statement in mariadb

From MariaDB 10.1.2, pre-query variables are supported
src: https://mariadb.com/kb/en/set-statement/
This commit is contained in:
Nir Levy 2022-09-25 11:52:40 +03:00 committed by Jiri Pechanec
parent 803e709e23
commit 8167a5d794
4 changed files with 18 additions and 3 deletions

View File

@ -232,7 +232,7 @@ WITH: 'WITH';
WRITE: 'WRITE'; WRITE: 'WRITE';
XOR: 'XOR'; XOR: 'XOR';
ZEROFILL: 'ZEROFILL'; ZEROFILL: 'ZEROFILL';
STATEMENT: 'STATEMENT';
// DATA TYPE Keywords // DATA TYPE Keywords

View File

@ -42,9 +42,9 @@ sqlStatements
; ;
sqlStatement sqlStatement
: ddlStatement | dmlStatement | transactionStatement : setStatementFor? (ddlStatement | dmlStatement | transactionStatement // setStatementFor is is MariaDB-specific only
| replicationStatement | preparedStatement | replicationStatement | preparedStatement
| administrationStatement | utilityStatement | administrationStatement | utilityStatement)
; ;
emptyStatement emptyStatement
@ -2827,3 +2827,6 @@ functionNameBase
// MariaDB // MariaDB
| LASTVAL | NEXTVAL | SETVAL | LASTVAL | NEXTVAL | SETVAL
; ;
// MariaDB statements
setStatementFor: SET STATEMENT ID EQUAL_SYMBOL constant (COMMA ID EQUAL_SYMBOL constant)* FOR; // MariaDB-specific only

View File

@ -535,3 +535,9 @@ CREATE SEQUENCE if NOT EXISTS workdb.s2 START=1 CYCLE MINVALUE=10000 MAXVALUE=99
CREATE OR REPLACE SEQUENCE if NOT EXISTS s2 START=100 CACHE 1000; CREATE OR REPLACE SEQUENCE if NOT EXISTS s2 START=100 CACHE 1000;
CREATE SEQUENCE `seq_8b4d1cdf-377e-4021-aef3-f7c9846903fc` INCREMENT BY 1 START WITH 1; CREATE SEQUENCE `seq_8b4d1cdf-377e-4021-aef3-f7c9846903fc` INCREMENT BY 1 START WITH 1;
#end #end
#begin
-- From MariaDB 10.1.2, pre-query variables are supported
-- src: https://mariadb.com/kb/en/set-statement/
SET STATEMENT max_statement_time=60 FOR CREATE TABLE some_table (val int);
#end

View File

@ -213,3 +213,9 @@ FROM
ORDER BY amount DESC LIMIT 1) ORDER BY amount DESC LIMIT 1)
AS max_sale; AS max_sale;
#end #end
#begin
-- From MariaDB 10.1.2, pre-query variables are supported
-- src: https://mariadb.com/kb/en/set-statement/
SET STATEMENT some_statement=60 FOR SELECT a FROM some_table;
#end