diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2008-08-19 08:17:34 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2008-08-19 08:17:34 +0000 |
commit | ce7bf880e5baed3273f0255ad9fc04a2f4ea4f65 (patch) | |
tree | 37670afbf295bb4ca3198dc399161925f25ced37 /connectivity | |
parent | 7636b228b4d1ff0bcacc0a23d37e98ae1d66c030 (diff) |
INTEGRATION: CWS dba31a (1.34.32); FILE MERGED
2008/06/05 07:50:33 oj 1.34.32.2: #i81037# insert more aggegrate functions
2008/06/03 11:40:18 oj 1.34.32.1: #i69262# impl SOME and some more
Diffstat (limited to 'connectivity')
-rw-r--r-- | connectivity/source/parse/sqlflex.l | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/connectivity/source/parse/sqlflex.l b/connectivity/source/parse/sqlflex.l index d47a8b95d2..ac64a5235d 100644 --- a/connectivity/source/parse/sqlflex.l +++ b/connectivity/source/parse/sqlflex.l @@ -10,7 +10,7 @@ // // $RCSfile: sqlflex.l,v $ // -// $Revision: 1.34 $ +// $Revision: 1.35 $ // // This file is part of OpenOffice.org. // @@ -157,6 +157,7 @@ OSQLScanner* xxx_pGLOBAL_SQLSCAN = NULL; [Cc][Hh][Ee][Cc][Kk] {SQL_NEW_KEYWORD(SQL_TOKEN_CHECK); return SQL_TOKEN_CHECK; } [Cc][Ee][Ii][Ll][Ii][Nn][Gg] {SQL_NEW_KEYWORD(SQL_TOKEN_CEILING); return SQL_TOKEN_CEILING; } [Cc][Oo][Ll][Ll][Aa][Tt][Ee] {SQL_NEW_KEYWORD(SQL_TOKEN_COLLATE); return SQL_TOKEN_COLLATE; } +COLLECT {SQL_NEW_KEYWORD(SQL_TOKEN_COLLECT); return SQL_TOKEN_COLLECT; } [Cc][Oo][Mm][Mm][Ii][Tt] {SQL_NEW_KEYWORD(SQL_TOKEN_COMMIT); return SQL_TOKEN_COMMIT; } [Cc][Oo][Nn][Cc][Aa][Tt] {SQL_NEW_KEYWORD(SQL_TOKEN_CONCAT); return SQL_TOKEN_CONCAT; } [Cc][Oo][Nn][Tt][Ii][Nn][Uu][Ee] {SQL_NEW_KEYWORD(SQL_TOKEN_CONTINUE); return SQL_TOKEN_CONTINUE; } @@ -196,6 +197,7 @@ OSQLScanner* xxx_pGLOBAL_SQLSCAN = NULL; [Dd][Oo][Uu][Bb][Ll][Ee] {SQL_NEW_KEYWORD(SQL_TOKEN_DOUBLE); return SQL_TOKEN_DOUBLE; } [Dd][Rr][Oo][Pp] {SQL_NEW_KEYWORD(SQL_TOKEN_DROP); return SQL_TOKEN_DROP; } +EVERY {SQL_NEW_KEYWORD(SQL_TOKEN_EVERY); return SQL_TOKEN_EVERY; } [Ee][Ss][Cc][Aa][Pp][Ee] {SQL_NEW_KEYWORD(SQL_TOKEN_ESCAPE); return SQL_TOKEN_ESCAPE; } [Ee][Xx][Cc][Ee][Pp][Tt] {SQL_NEW_KEYWORD(SQL_TOKEN_EXCEPT); return SQL_TOKEN_EXCEPT; } [Ee][Xx][Ii][Ss][Tt][Ss] {SQL_NEW_KEYWORD(SQL_TOKEN_EXISTS); return SQL_TOKEN_EXISTS; } @@ -212,6 +214,7 @@ OSQLScanner* xxx_pGLOBAL_SQLSCAN = NULL; [Ff][Oo][Uu][Nn][Dd] {SQL_NEW_KEYWORD(SQL_TOKEN_FOUND); return SQL_TOKEN_FOUND; } [Ff][Rr][Oo][Mm] {SQL_NEW_KEYWORD(SQL_TOKEN_FROM); return SQL_TOKEN_FROM; } [Ff][Uu][Ll][Ll] {SQL_NEW_KEYWORD(SQL_TOKEN_FULL); return SQL_TOKEN_FULL; } +FUSION {SQL_NEW_KEYWORD(SQL_TOKEN_FUSION); return SQL_TOKEN_FUSION; } [Gg][Rr][Aa][Nn][Tt] {SQL_NEW_KEYWORD(SQL_TOKEN_GRANT); return SQL_TOKEN_GRANT; } [Gg][Rr][Oo][Uu][Pp] {SQL_NEW_KEYWORD(SQL_TOKEN_GROUP); return SQL_TOKEN_GROUP; } @@ -224,6 +227,7 @@ OSQLScanner* xxx_pGLOBAL_SQLSCAN = NULL; [Ii][Nn][Ss][Ee][Rr][Tt] {SQL_NEW_KEYWORD(SQL_TOKEN_INSERT); return SQL_TOKEN_INSERT; } [Ii][Nn][Tt]([Ee][Gg][Ee][Rr])? {SQL_NEW_KEYWORD(SQL_TOKEN_INTEGER); return SQL_TOKEN_INTEGER; } [Ii][Nn][Tt][Ee][Rr][Ss][Ee][Cc][Tt] {SQL_NEW_KEYWORD(SQL_TOKEN_INTERSECT); return SQL_TOKEN_INTERSECT; } +INTERSECTION {SQL_NEW_KEYWORD(SQL_TOKEN_INTERSECTION); return SQL_TOKEN_INTERSECTION; } [Ii][Nn][Tt][Oo] {SQL_NEW_KEYWORD(SQL_TOKEN_INTO); return SQL_TOKEN_INTO; } [Ii][Ss] {SQL_NEW_KEYWORD(SQL_TOKEN_IS); return SQL_TOKEN_IS; } @@ -303,6 +307,8 @@ OSQLScanner* xxx_pGLOBAL_SQLSCAN = NULL; [Ss][Oo][Uu][Nn][Dd][Ee][Xx] {SQL_NEW_KEYWORD(SQL_TOKEN_SOUNDEX); return SQL_TOKEN_SOUNDEX; } [Ss][Pp][Aa][Cc][Ee] {SQL_NEW_KEYWORD(SQL_TOKEN_SPACE); return SQL_TOKEN_SPACE; } [Ss][Qq][Rr][Tt] {SQL_NEW_KEYWORD(SQL_TOKEN_SQRT); return SQL_TOKEN_SQRT; } +STDDEV_POP {SQL_NEW_KEYWORD(SQL_TOKEN_STDDEV_POP); return SQL_TOKEN_STDDEV_POP; } +STDDEV_SAMP {SQL_NEW_KEYWORD(SQL_TOKEN_STDDEV_SAMP); return SQL_TOKEN_STDDEV_SAMP; } [Ss][Uu][Bb][Ss][Tt][Rr][Ii][Nn][Gg] {SQL_NEW_KEYWORD(SQL_TOKEN_SUBSTRING); return SQL_TOKEN_SUBSTRING; } [Ss][Uu][Mm] {SQL_NEW_KEYWORD(SQL_TOKEN_SUM); return SQL_TOKEN_SUM; } @@ -334,6 +340,8 @@ OSQLScanner* xxx_pGLOBAL_SQLSCAN = NULL; [Uu][Ss][Ee][Rr] {SQL_NEW_KEYWORD(SQL_TOKEN_USER); return SQL_TOKEN_USER; } [Uu][Ss][Ii][Nn][Gg] {SQL_NEW_KEYWORD(SQL_TOKEN_USING); return SQL_TOKEN_USING; } +VAR_POP {SQL_NEW_KEYWORD(SQL_TOKEN_VAR_POP); return SQL_TOKEN_VAR_POP; } +VAR_SAMP {SQL_NEW_KEYWORD(SQL_TOKEN_VAR_SAMP); return SQL_TOKEN_VAR_SAMP; } [Vv][Aa][Ll][Uu][Ee][Ss] {SQL_NEW_KEYWORD(SQL_TOKEN_VALUES); return SQL_TOKEN_VALUES; } [Vv][Ii][Ee][Ww] {SQL_NEW_KEYWORD(SQL_TOKEN_VIEW); return SQL_TOKEN_VIEW; } @@ -540,7 +548,17 @@ sal_Int32 mapEnumToToken(IParseContext::InternationalKeyCode _eKeyCode ) case IParseContext::KEY_MAX: nTokenID = SQL_TOKEN_MAX; break; case IParseContext::KEY_MIN: nTokenID = SQL_TOKEN_MIN; break; case IParseContext::KEY_SUM: nTokenID = SQL_TOKEN_SUM; break; - default: + case IParseContext::KEY_EVERY: nTokenID = SQL_TOKEN_EVERY; break; + case IParseContext::KEY_ANY: nTokenID = SQL_TOKEN_ANY; break; + case IParseContext::KEY_SOME: nTokenID = SQL_TOKEN_SOME; break; + case IParseContext::KEY_STDDEV_POP: nTokenID = SQL_TOKEN_STDDEV_POP; break; + case IParseContext::KEY_STDDEV_SAMP: nTokenID = SQL_TOKEN_STDDEV_SAMP; break; + case IParseContext::KEY_VAR_SAMP: nTokenID = SQL_TOKEN_VAR_SAMP; break; + case IParseContext::KEY_VAR_POP: nTokenID = SQL_TOKEN_VAR_POP; break; + case IParseContext::KEY_COLLECT: nTokenID = SQL_TOKEN_COLLECT; break; + case IParseContext::KEY_FUSION: nTokenID = SQL_TOKEN_FUSION; break; + case IParseContext::KEY_INTERSECTION: nTokenID = SQL_TOKEN_INTERSECTION; break; + default: OSL_ENSURE( false, "mapEnumToToken: unsupported key!" ); } return nTokenID; @@ -571,6 +589,16 @@ sal_Int32 gatherName(const sal_Char* text) case IParseContext::KEY_MAX: case IParseContext::KEY_MIN: case IParseContext::KEY_SUM: + case IParseContext::KEY_EVERY: + case IParseContext::KEY_ANY: + case IParseContext::KEY_SOME: + case IParseContext::KEY_STDDEV_POP: + case IParseContext::KEY_STDDEV_SAMP: + case IParseContext::KEY_VAR_SAMP: + case IParseContext::KEY_VAR_POP: + case IParseContext::KEY_COLLECT: + case IParseContext::KEY_FUSION: + case IParseContext::KEY_INTERSECTION: nToken = mapEnumToToken(eKeyCode); SQL_NEW_KEYWORD(nToken); return nToken; @@ -605,6 +633,16 @@ sal_Int32 gatherNamePre(const sal_Char* text) case IParseContext::KEY_MAX: case IParseContext::KEY_MIN: case IParseContext::KEY_SUM: + case IParseContext::KEY_EVERY: + case IParseContext::KEY_ANY: + case IParseContext::KEY_SOME: + case IParseContext::KEY_STDDEV_POP: + case IParseContext::KEY_STDDEV_SAMP: + case IParseContext::KEY_VAR_SAMP: + case IParseContext::KEY_VAR_POP: + case IParseContext::KEY_COLLECT: + case IParseContext::KEY_FUSION: + case IParseContext::KEY_INTERSECTION: nToken = mapEnumToToken(eKeyCode); SQL_NEW_KEYWORD(nToken); break; |