Merge branch '2.3' into 2.4
This commit is contained in:
		@ -633,7 +633,7 @@ columnid(A) ::= nm(X). {
 | 
			
		||||
  /*KEY*/
 | 
			
		||||
  /*LIKE_KW*/
 | 
			
		||||
  LOCAL
 | 
			
		||||
  MASTER /*MATCH*/ MERGE
 | 
			
		||||
  MASTER /*MATCH*/ MERGE MODE
 | 
			
		||||
  // TODO: MOD is a keyword that should not decay into an id. However, now that is does,
 | 
			
		||||
  // TODO: also "mod(a, 2)" kind of usage will be accepted. Incorrect use will anyway be
 | 
			
		||||
  // TODO: rejected by the server.
 | 
			
		||||
@ -645,7 +645,7 @@ columnid(A) ::= nm(X). {
 | 
			
		||||
  PARTITIONS PASSWORD PREVIOUS
 | 
			
		||||
  QUERY QUICK
 | 
			
		||||
  RAISE RECURSIVE /*REINDEX*/ RELEASE /*RENAME*/ /*REPLACE*/ RESET RESTRICT ROLLBACK ROLLUP ROW
 | 
			
		||||
  SAVEPOINT SELECT_OPTIONS_KW /*SEQUENCE*/ SLAVE /*START*/ STATEMENT STATUS
 | 
			
		||||
  SAVEPOINT SELECT_OPTIONS_KW /*SEQUENCE*/ SHARE SLAVE /*START*/ STATEMENT STATUS
 | 
			
		||||
  TABLES TEMP TEMPTABLE /*TRIGGER*/
 | 
			
		||||
  /*TRUNCATE*/
 | 
			
		||||
  // TODO: UNSIGNED is a reserved word and should not automatically convert into an identifer.
 | 
			
		||||
@ -1045,7 +1045,11 @@ select(A) ::= with(W) selectnowith(X). {
 | 
			
		||||
%ifdef MAXSCALE
 | 
			
		||||
selectnowithsuffix(A) ::= selectnowith(X). {A = X;}
 | 
			
		||||
 | 
			
		||||
selectnowithsuffix(A) ::= selectnowith(X) FOR UPDATE. {
 | 
			
		||||
for_something ::= FOR UPDATE.
 | 
			
		||||
for_something ::= FOR SHARE.
 | 
			
		||||
for_something ::= LOCK IN SHARE MODE.
 | 
			
		||||
 | 
			
		||||
selectnowithsuffix(A) ::= selectnowith(X) for_something. {
 | 
			
		||||
  A = X;
 | 
			
		||||
  maxscale_set_type_mask(QUERY_TYPE_WRITE);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -351,6 +351,7 @@ static Keyword aKeywordTable[] = {
 | 
			
		||||
  { "MASTER",           "TK_MASTER",       ALWAYS                 },
 | 
			
		||||
  { "MERGE",            "TK_MERGE",        ALWAYS                 },
 | 
			
		||||
  { "MOD",              "TK_MOD",          ALWAYS                 },
 | 
			
		||||
  { "MODE",             "TK_MODE",         ALWAYS                 },
 | 
			
		||||
  { "NAMES",            "TK_NAMES",        ALWAYS                 },
 | 
			
		||||
#endif
 | 
			
		||||
  { "NATURAL",          "TK_JOIN_KW",      ALWAYS                 },
 | 
			
		||||
@ -446,6 +447,7 @@ static Keyword aKeywordTable[] = {
 | 
			
		||||
#ifdef MAXSCALE
 | 
			
		||||
  { "SESSION",          "TK_SESSION",      ALWAYS                 },
 | 
			
		||||
  { "SEPARATOR",        "TK_SEPARATOR",    ALWAYS                 },
 | 
			
		||||
  { "SHARE",            "TK_SHARE",        ALWAYS                 },
 | 
			
		||||
  { "SHOW",             "TK_SHOW",         ALWAYS                 },
 | 
			
		||||
  { "SLAVE",            "TK_SLAVE",        ALWAYS                 },
 | 
			
		||||
  { "SPATIAL",          "TK_SPATIAL",      ALWAYS                 },
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user