Package web2py :: Package gluon :: Module reserved_sql_keywords
[hide private]
[frames] | no frames]

Source Code for Module web2py.gluon.reserved_sql_keywords

   1  # encoding utf-8 
   2   
   3  __author__ = "Thadeus Burgess <thadeusb@thadeusb.com>" 
   4   
   5  #    we classify as "non-reserved" those key words that are explicitly known 
   6  #    to the parser but are allowed as column or table names. Some key words 
   7  #    that are otherwise non-reserved cannot be used as function or data type n 
   8  #    ames and are in the nonreserved list. (Most of these words represent 
   9  #    built-in functions or data types with special syntax. The function 
  10  #    or type is still available but it cannot be redefined by the user.) 
  11  #    Labeled "reserved" are those tokens that are not allowed as column or 
  12  #    table names. Some reserved key words are allowable as names for 
  13  #    functions or data typesself. 
  14   
  15  # Note at the bottom of the list is a dict containing references to the 
  16  # tuples, and also if you add a list don't forget to remove its default 
  17  # set of COMMON. 
  18   
  19  # Keywords that are adapter specific. Such as a list of "postgresql" 
  20  # or "mysql" keywords 
  21   
  22  # These are keywords that are common to all SQL dialects, and should 
  23  # never be used as a table or column. Even if you use one of these 
  24  # the cursor will throw an OperationalError for the SQL syntax. 
  25  COMMON = set(( 
  26      'SELECT', 
  27      'INSERT', 
  28      'DELETE', 
  29      'UPDATE', 
  30      'DROP', 
  31      'CREATE', 
  32      'ALTER', 
  33   
  34      'WHERE', 
  35      'FROM', 
  36      'INNER', 
  37      'JOIN', 
  38      'AND', 
  39      'OR', 
  40      'LIKE', 
  41      'ON', 
  42      'IN', 
  43      'SET', 
  44   
  45      'BY', 
  46      'GROUP', 
  47      'ORDER', 
  48      'LEFT', 
  49      'OUTER', 
  50   
  51      'IF', 
  52      'END', 
  53      'THEN', 
  54      'LOOP', 
  55      'AS', 
  56      'ELSE', 
  57      'FOR', 
  58   
  59      'CASE', 
  60      'WHEN', 
  61      'MIN', 
  62      'MAX', 
  63      'DISTINCT', 
  64  )) 
  65   
  66   
  67  POSTGRESQL = set(( 
  68      'FALSE', 
  69      'TRUE', 
  70      'ALL', 
  71      'ANALYSE', 
  72      'ANALYZE', 
  73      'AND', 
  74      'ANY', 
  75      'ARRAY', 
  76      'AS', 
  77      'ASC', 
  78      'ASYMMETRIC', 
  79      'AUTHORIZATION', 
  80      'BETWEEN', 
  81      'BIGINT', 
  82      'BINARY', 
  83      'BIT', 
  84      'BOOLEAN', 
  85      'BOTH', 
  86      'CASE', 
  87      'CAST', 
  88      'CHAR', 
  89      'CHARACTER', 
  90      'CHECK', 
  91      'COALESCE', 
  92      'COLLATE', 
  93      'COLUMN', 
  94      'CONSTRAINT', 
  95      'CREATE', 
  96      'CROSS', 
  97      'CURRENT_CATALOG', 
  98      'CURRENT_DATE', 
  99      'CURRENT_ROLE', 
 100      'CURRENT_SCHEMA', 
 101      'CURRENT_TIME', 
 102      'CURRENT_TIMESTAMP', 
 103      'CURRENT_USER', 
 104      'DEC', 
 105      'DECIMAL', 
 106      'DEFAULT', 
 107      'DEFERRABLE', 
 108      'DESC', 
 109      'DISTINCT', 
 110      'DO', 
 111      'ELSE', 
 112      'END', 
 113      'EXCEPT', 
 114      'EXISTS', 
 115      'EXTRACT', 
 116      'FETCH', 
 117      'FLOAT', 
 118      'FOR', 
 119      'FOREIGN', 
 120      'FREEZE', 
 121      'FROM', 
 122      'FULL', 
 123      'GRANT', 
 124      'GREATEST', 
 125      'GROUP', 
 126      'HAVING', 
 127      'ILIKE', 
 128      'IN', 
 129      'INITIALLY', 
 130      'INNER', 
 131      'INOUT', 
 132      'INT', 
 133      'INTEGER', 
 134      'INTERSECT', 
 135      'INTERVAL', 
 136      'INTO', 
 137      'IS', 
 138      'ISNULL', 
 139      'JOIN', 
 140      'LEADING', 
 141      'LEAST', 
 142      'LEFT', 
 143      'LIKE', 
 144      'LIMIT', 
 145      'LOCALTIME', 
 146      'LOCALTIMESTAMP', 
 147      'NATIONAL', 
 148      'NATURAL', 
 149      'NCHAR', 
 150      'NEW', 
 151      'NONE', 
 152      'NOT', 
 153      'NOTNULL', 
 154      'NULL', 
 155      'NULLIF', 
 156      'NUMERIC', 
 157      'OFF', 
 158      'OFFSET', 
 159      'OLD', 
 160      'ON', 
 161      'ONLY', 
 162      'OR', 
 163      'ORDER', 
 164      'OUT', 
 165      'OUTER', 
 166      'OVERLAPS', 
 167      'OVERLAY', 
 168      'PLACING', 
 169      'POSITION', 
 170      'PRECISION', 
 171      'PRIMARY', 
 172      'REAL', 
 173      'REFERENCES', 
 174      'RETURNING', 
 175      'RIGHT', 
 176      'ROW', 
 177      'SELECT', 
 178      'SESSION_USER', 
 179      'SETOF', 
 180      'SIMILAR', 
 181      'SMALLINT', 
 182      'SOME', 
 183      'SUBSTRING', 
 184      'SYMMETRIC', 
 185      'TABLE', 
 186      'THEN', 
 187      'TIME', 
 188      'TIMESTAMP', 
 189      'TO', 
 190      'TRAILING', 
 191      'TREAT', 
 192      'TRIM', 
 193      'UNION', 
 194      'UNIQUE', 
 195      'USER', 
 196      'USING', 
 197      'VALUES', 
 198      'VARCHAR', 
 199      'VARIADIC', 
 200      'VERBOSE', 
 201      'WHEN', 
 202      'WHERE', 
 203      'WITH', 
 204      'XMLATTRIBUTES', 
 205      'XMLCONCAT', 
 206      'XMLELEMENT', 
 207      'XMLFOREST', 
 208      'XMLPARSE', 
 209      'XMLPI', 
 210      'XMLROOT', 
 211      'XMLSERIALIZE', 
 212  )) 
 213   
 214   
 215  POSTGRESQL_NONRESERVED = set(( 
 216      'A', 
 217      'ABORT', 
 218      'ABS', 
 219      'ABSENT', 
 220      'ABSOLUTE', 
 221      'ACCESS', 
 222      'ACCORDING', 
 223      'ACTION', 
 224      'ADA', 
 225      'ADD', 
 226      'ADMIN', 
 227      'AFTER', 
 228      'AGGREGATE', 
 229      'ALIAS', 
 230      'ALLOCATE', 
 231      'ALSO', 
 232      'ALTER', 
 233      'ALWAYS', 
 234      'ARE', 
 235      'ARRAY_AGG', 
 236      'ASENSITIVE', 
 237      'ASSERTION', 
 238      'ASSIGNMENT', 
 239      'AT', 
 240      'ATOMIC', 
 241      'ATTRIBUTE', 
 242      'ATTRIBUTES', 
 243      'AVG', 
 244      'BACKWARD', 
 245      'BASE64', 
 246      'BEFORE', 
 247      'BEGIN', 
 248      'BERNOULLI', 
 249      'BIT_LENGTH', 
 250      'BITVAR', 
 251      'BLOB', 
 252      'BOM', 
 253      'BREADTH', 
 254      'BY', 
 255      'C', 
 256      'CACHE', 
 257      'CALL', 
 258      'CALLED', 
 259      'CARDINALITY', 
 260      'CASCADE', 
 261      'CASCADED', 
 262      'CATALOG', 
 263      'CATALOG_NAME', 
 264      'CEIL', 
 265      'CEILING', 
 266      'CHAIN', 
 267      'CHAR_LENGTH', 
 268      'CHARACTER_LENGTH', 
 269      'CHARACTER_SET_CATALOG', 
 270      'CHARACTER_SET_NAME', 
 271      'CHARACTER_SET_SCHEMA', 
 272      'CHARACTERISTICS', 
 273      'CHARACTERS', 
 274      'CHECKED', 
 275      'CHECKPOINT', 
 276      'CLASS', 
 277      'CLASS_ORIGIN', 
 278      'CLOB', 
 279      'CLOSE', 
 280      'CLUSTER', 
 281      'COBOL', 
 282      'COLLATION', 
 283      'COLLATION_CATALOG', 
 284      'COLLATION_NAME', 
 285      'COLLATION_SCHEMA', 
 286      'COLLECT', 
 287      'COLUMN_NAME', 
 288      'COLUMNS', 
 289      'COMMAND_FUNCTION', 
 290      'COMMAND_FUNCTION_CODE', 
 291      'COMMENT', 
 292      'COMMIT', 
 293      'COMMITTED', 
 294      'COMPLETION', 
 295      'CONCURRENTLY', 
 296      'CONDITION', 
 297      'CONDITION_NUMBER', 
 298      'CONFIGURATION', 
 299      'CONNECT', 
 300      'CONNECTION', 
 301      'CONNECTION_NAME', 
 302      'CONSTRAINT_CATALOG', 
 303      'CONSTRAINT_NAME', 
 304      'CONSTRAINT_SCHEMA', 
 305      'CONSTRAINTS', 
 306      'CONSTRUCTOR', 
 307      'CONTAINS', 
 308      'CONTENT', 
 309      'CONTINUE', 
 310      'CONVERSION', 
 311      'CONVERT', 
 312      'COPY', 
 313      'CORR', 
 314      'CORRESPONDING', 
 315      'COST', 
 316      'COUNT', 
 317      'COVAR_POP', 
 318      'COVAR_SAMP', 
 319      'CREATEDB', 
 320      'CREATEROLE', 
 321      'CREATEUSER', 
 322      'CSV', 
 323      'CUBE', 
 324      'CUME_DIST', 
 325      'CURRENT', 
 326      'CURRENT_DEFAULT_TRANSFORM_GROUP', 
 327      'CURRENT_PATH', 
 328      'CURRENT_TRANSFORM_GROUP_FOR_TYPE', 
 329      'CURSOR', 
 330      'CURSOR_NAME', 
 331      'CYCLE', 
 332      'DATA', 
 333      'DATABASE', 
 334      'DATE', 
 335      'DATETIME_INTERVAL_CODE', 
 336      'DATETIME_INTERVAL_PRECISION', 
 337      'DAY', 
 338      'DEALLOCATE', 
 339      'DECLARE', 
 340      'DEFAULTS', 
 341      'DEFERRED', 
 342      'DEFINED', 
 343      'DEFINER', 
 344      'DEGREE', 
 345      'DELETE', 
 346      'DELIMITER', 
 347      'DELIMITERS', 
 348      'DENSE_RANK', 
 349      'DEPTH', 
 350      'DEREF', 
 351      'DERIVED', 
 352      'DESCRIBE', 
 353      'DESCRIPTOR', 
 354      'DESTROY', 
 355      'DESTRUCTOR', 
 356      'DETERMINISTIC', 
 357      'DIAGNOSTICS', 
 358      'DICTIONARY', 
 359      'DISABLE', 
 360      'DISCARD', 
 361      'DISCONNECT', 
 362      'DISPATCH', 
 363      'DOCUMENT', 
 364      'DOMAIN', 
 365      'DOUBLE', 
 366      'DROP', 
 367      'DYNAMIC', 
 368      'DYNAMIC_FUNCTION', 
 369      'DYNAMIC_FUNCTION_CODE', 
 370      'EACH', 
 371      'ELEMENT', 
 372      'EMPTY', 
 373      'ENABLE', 
 374      'ENCODING', 
 375      'ENCRYPTED', 
 376      'END-EXEC', 
 377      'ENUM', 
 378      'EQUALS', 
 379      'ESCAPE', 
 380      'EVERY', 
 381      'EXCEPTION', 
 382      'EXCLUDE', 
 383      'EXCLUDING', 
 384      'EXCLUSIVE', 
 385      'EXEC', 
 386      'EXECUTE', 
 387      'EXISTING', 
 388      'EXP', 
 389      'EXPLAIN', 
 390      'EXTERNAL', 
 391      'FAMILY', 
 392      'FILTER', 
 393      'FINAL', 
 394      'FIRST', 
 395      'FIRST_VALUE', 
 396      'FLAG', 
 397      'FLOOR', 
 398      'FOLLOWING', 
 399      'FORCE', 
 400      'FORTRAN', 
 401      'FORWARD', 
 402      'FOUND', 
 403      'FREE', 
 404      'FUNCTION', 
 405      'FUSION', 
 406      'G', 
 407      'GENERAL', 
 408      'GENERATED', 
 409      'GET', 
 410      'GLOBAL', 
 411      'GO', 
 412      'GOTO', 
 413      'GRANTED', 
 414      'GROUPING', 
 415      'HANDLER', 
 416      'HEADER', 
 417      'HEX', 
 418      'HIERARCHY', 
 419      'HOLD', 
 420      'HOST', 
 421      'HOUR', 
 422  #    'ID', 
 423      'IDENTITY', 
 424      'IF', 
 425      'IGNORE', 
 426      'IMMEDIATE', 
 427      'IMMUTABLE', 
 428      'IMPLEMENTATION', 
 429      'IMPLICIT', 
 430      'INCLUDING', 
 431      'INCREMENT', 
 432      'INDENT', 
 433      'INDEX', 
 434      'INDEXES', 
 435      'INDICATOR', 
 436      'INFIX', 
 437      'INHERIT', 
 438      'INHERITS', 
 439      'INITIALIZE', 
 440      'INPUT', 
 441      'INSENSITIVE', 
 442      'INSERT', 
 443      'INSTANCE', 
 444      'INSTANTIABLE', 
 445      'INSTEAD', 
 446      'INTERSECTION', 
 447      'INVOKER', 
 448      'ISOLATION', 
 449      'ITERATE', 
 450      'K', 
 451      'KEY', 
 452      'KEY_MEMBER', 
 453      'KEY_TYPE', 
 454      'LAG', 
 455      'LANCOMPILER', 
 456      'LANGUAGE', 
 457      'LARGE', 
 458      'LAST', 
 459      'LAST_VALUE', 
 460      'LATERAL', 
 461      'LC_COLLATE', 
 462      'LC_CTYPE', 
 463      'LEAD', 
 464      'LENGTH', 
 465      'LESS', 
 466      'LEVEL', 
 467      'LIKE_REGEX', 
 468      'LISTEN', 
 469      'LN', 
 470      'LOAD', 
 471      'LOCAL', 
 472      'LOCATION', 
 473      'LOCATOR', 
 474      'LOCK', 
 475      'LOGIN', 
 476      'LOWER', 
 477      'M', 
 478      'MAP', 
 479      'MAPPING', 
 480      'MATCH', 
 481      'MATCHED', 
 482      'MAX', 
 483      'MAX_CARDINALITY', 
 484      'MAXVALUE', 
 485      'MEMBER', 
 486      'MERGE', 
 487      'MESSAGE_LENGTH', 
 488      'MESSAGE_OCTET_LENGTH', 
 489      'MESSAGE_TEXT', 
 490      'METHOD', 
 491      'MIN', 
 492      'MINUTE', 
 493      'MINVALUE', 
 494      'MOD', 
 495      'MODE', 
 496      'MODIFIES', 
 497      'MODIFY', 
 498      'MODULE', 
 499      'MONTH', 
 500      'MORE', 
 501      'MOVE', 
 502      'MULTISET', 
 503      'MUMPS', 
 504  #    'NAME', 
 505      'NAMES', 
 506      'NAMESPACE', 
 507      'NCLOB', 
 508      'NESTING', 
 509      'NEXT', 
 510      'NFC', 
 511      'NFD', 
 512      'NFKC', 
 513      'NFKD', 
 514      'NIL', 
 515      'NO', 
 516      'NOCREATEDB', 
 517      'NOCREATEROLE', 
 518      'NOCREATEUSER', 
 519      'NOINHERIT', 
 520      'NOLOGIN', 
 521      'NORMALIZE', 
 522      'NORMALIZED', 
 523      'NOSUPERUSER', 
 524      'NOTHING', 
 525      'NOTIFY', 
 526      'NOWAIT', 
 527      'NTH_VALUE', 
 528      'NTILE', 
 529      'NULLABLE', 
 530      'NULLS', 
 531      'NUMBER', 
 532      'OBJECT', 
 533      'OCCURRENCES_REGEX', 
 534      'OCTET_LENGTH', 
 535      'OCTETS', 
 536      'OF', 
 537      'OIDS', 
 538      'OPEN', 
 539      'OPERATION', 
 540      'OPERATOR', 
 541      'OPTION', 
 542      'OPTIONS', 
 543      'ORDERING', 
 544      'ORDINALITY', 
 545      'OTHERS', 
 546      'OUTPUT', 
 547      'OVER', 
 548      'OVERRIDING', 
 549      'OWNED', 
 550      'OWNER', 
 551      'P', 
 552      'PAD', 
 553      'PARAMETER', 
 554      'PARAMETER_MODE', 
 555      'PARAMETER_NAME', 
 556      'PARAMETER_ORDINAL_POSITION', 
 557      'PARAMETER_SPECIFIC_CATALOG', 
 558      'PARAMETER_SPECIFIC_NAME', 
 559      'PARAMETER_SPECIFIC_SCHEMA', 
 560      'PARAMETERS', 
 561      'PARSER', 
 562      'PARTIAL', 
 563      'PARTITION', 
 564      'PASCAL', 
 565      'PASSING', 
 566  #    'PASSWORD', 
 567      'PATH', 
 568      'PERCENT_RANK', 
 569      'PERCENTILE_CONT', 
 570      'PERCENTILE_DISC', 
 571      'PLANS', 
 572      'PLI', 
 573      'POSITION_REGEX', 
 574      'POSTFIX', 
 575      'POWER', 
 576      'PRECEDING', 
 577      'PREFIX', 
 578      'PREORDER', 
 579      'PREPARE', 
 580      'PREPARED', 
 581      'PRESERVE', 
 582      'PRIOR', 
 583      'PRIVILEGES', 
 584      'PROCEDURAL', 
 585      'PROCEDURE', 
 586      'PUBLIC', 
 587      'QUOTE', 
 588      'RANGE', 
 589      'RANK', 
 590      'READ', 
 591      'READS', 
 592      'REASSIGN', 
 593      'RECHECK', 
 594      'RECURSIVE', 
 595      'REF', 
 596      'REFERENCING', 
 597      'REGR_AVGX', 
 598      'REGR_AVGY', 
 599      'REGR_COUNT', 
 600      'REGR_INTERCEPT', 
 601      'REGR_R2', 
 602      'REGR_SLOPE', 
 603      'REGR_SXX', 
 604      'REGR_SXY', 
 605      'REGR_SYY', 
 606      'REINDEX', 
 607      'RELATIVE', 
 608      'RELEASE', 
 609      'RENAME', 
 610      'REPEATABLE', 
 611      'REPLACE', 
 612      'REPLICA', 
 613      'RESET', 
 614      'RESPECT', 
 615      'RESTART', 
 616      'RESTRICT', 
 617      'RESULT', 
 618      'RETURN', 
 619      'RETURNED_CARDINALITY', 
 620      'RETURNED_LENGTH', 
 621      'RETURNED_OCTET_LENGTH', 
 622      'RETURNED_SQLSTATE', 
 623      'RETURNS', 
 624      'REVOKE', 
 625  #    'ROLE', 
 626      'ROLLBACK', 
 627      'ROLLUP', 
 628      'ROUTINE', 
 629      'ROUTINE_CATALOG', 
 630      'ROUTINE_NAME', 
 631      'ROUTINE_SCHEMA', 
 632      'ROW_COUNT', 
 633      'ROW_NUMBER', 
 634      'ROWS', 
 635      'RULE', 
 636      'SAVEPOINT', 
 637      'SCALE', 
 638      'SCHEMA', 
 639      'SCHEMA_NAME', 
 640      'SCOPE', 
 641      'SCOPE_CATALOG', 
 642      'SCOPE_NAME', 
 643      'SCOPE_SCHEMA', 
 644      'SCROLL', 
 645      'SEARCH', 
 646      'SECOND', 
 647      'SECTION', 
 648      'SECURITY', 
 649      'SELF', 
 650      'SENSITIVE', 
 651      'SEQUENCE', 
 652      'SERIALIZABLE', 
 653      'SERVER', 
 654      'SERVER_NAME', 
 655      'SESSION', 
 656      'SET', 
 657      'SETS', 
 658      'SHARE', 
 659      'SHOW', 
 660      'SIMPLE', 
 661      'SIZE', 
 662      'SOURCE', 
 663      'SPACE', 
 664      'SPECIFIC', 
 665      'SPECIFIC_NAME', 
 666      'SPECIFICTYPE', 
 667      'SQL', 
 668      'SQLCODE', 
 669      'SQLERROR', 
 670      'SQLEXCEPTION', 
 671      'SQLSTATE', 
 672      'SQLWARNING', 
 673      'SQRT', 
 674      'STABLE', 
 675      'STANDALONE', 
 676      'START', 
 677      'STATE', 
 678      'STATEMENT', 
 679      'STATIC', 
 680      'STATISTICS', 
 681      'STDDEV_POP', 
 682      'STDDEV_SAMP', 
 683      'STDIN', 
 684      'STDOUT', 
 685      'STORAGE', 
 686      'STRICT', 
 687      'STRIP', 
 688      'STRUCTURE', 
 689      'STYLE', 
 690      'SUBCLASS_ORIGIN', 
 691      'SUBLIST', 
 692      'SUBMULTISET', 
 693      'SUBSTRING_REGEX', 
 694      'SUM', 
 695      'SUPERUSER', 
 696      'SYSID', 
 697      'SYSTEM', 
 698      'SYSTEM_USER', 
 699      'T', 
 700  #    'TABLE_NAME', 
 701      'TABLESAMPLE', 
 702      'TABLESPACE', 
 703      'TEMP', 
 704      'TEMPLATE', 
 705      'TEMPORARY', 
 706      'TERMINATE', 
 707      'TEXT', 
 708      'THAN', 
 709      'TIES', 
 710      'TIMEZONE_HOUR', 
 711      'TIMEZONE_MINUTE', 
 712      'TOP_LEVEL_COUNT', 
 713      'TRANSACTION', 
 714      'TRANSACTION_ACTIVE', 
 715      'TRANSACTIONS_COMMITTED', 
 716      'TRANSACTIONS_ROLLED_BACK', 
 717      'TRANSFORM', 
 718      'TRANSFORMS', 
 719      'TRANSLATE', 
 720      'TRANSLATE_REGEX', 
 721      'TRANSLATION', 
 722      'TRIGGER', 
 723      'TRIGGER_CATALOG', 
 724      'TRIGGER_NAME', 
 725      'TRIGGER_SCHEMA', 
 726      'TRIM_ARRAY', 
 727      'TRUNCATE', 
 728      'TRUSTED', 
 729      'TYPE', 
 730      'UESCAPE', 
 731      'UNBOUNDED', 
 732      'UNCOMMITTED', 
 733      'UNDER', 
 734      'UNENCRYPTED', 
 735      'UNKNOWN', 
 736      'UNLISTEN', 
 737      'UNNAMED', 
 738      'UNNEST', 
 739      'UNTIL', 
 740      'UNTYPED', 
 741      'UPDATE', 
 742      'UPPER', 
 743      'URI', 
 744      'USAGE', 
 745      'USER_DEFINED_TYPE_CATALOG', 
 746      'USER_DEFINED_TYPE_CODE', 
 747      'USER_DEFINED_TYPE_NAME', 
 748      'USER_DEFINED_TYPE_SCHEMA', 
 749      'VACUUM', 
 750      'VALID', 
 751      'VALIDATOR', 
 752      'VALUE', 
 753      'VAR_POP', 
 754      'VAR_SAMP', 
 755      'VARBINARY', 
 756      'VARIABLE', 
 757      'VARYING', 
 758      'VERSION', 
 759      'VIEW', 
 760      'VOLATILE', 
 761      'WHENEVER', 
 762      'WHITESPACE', 
 763      'WIDTH_BUCKET', 
 764      'WINDOW', 
 765      'WITHIN', 
 766      'WITHOUT', 
 767      'WORK', 
 768      'WRAPPER', 
 769      'WRITE', 
 770      'XML', 
 771      'XMLAGG', 
 772      'XMLBINARY', 
 773      'XMLCAST', 
 774      'XMLCOMMENT', 
 775      'XMLDECLARATION', 
 776      'XMLDOCUMENT', 
 777      'XMLEXISTS', 
 778      'XMLITERATE', 
 779      'XMLNAMESPACES', 
 780      'XMLQUERY', 
 781      'XMLSCHEMA', 
 782      'XMLTABLE', 
 783      'XMLTEXT', 
 784      'XMLVALIDATE', 
 785      'YEAR', 
 786      'YES', 
 787      'ZONE', 
 788  )) 
 789   
 790  #Thanks villas 
 791  FIREBIRD = set(( 
 792      'ABS', 
 793      'ACTIVE', 
 794      'ADMIN', 
 795      'AFTER', 
 796      'ASCENDING', 
 797      'AUTO', 
 798      'AUTODDL', 
 799      'BASED', 
 800      'BASENAME', 
 801      'BASE_NAME', 
 802      'BEFORE', 
 803      'BIT_LENGTH', 
 804      'BLOB', 
 805      'BLOBEDIT', 
 806      'BOOLEAN', 
 807      'BOTH', 
 808      'BUFFER', 
 809      'CACHE', 
 810      'CHAR_LENGTH', 
 811      'CHARACTER_LENGTH', 
 812      'CHECK_POINT_LEN', 
 813      'CHECK_POINT_LENGTH', 
 814      'CLOSE', 
 815      'COMMITTED', 
 816      'COMPILETIME', 
 817      'COMPUTED', 
 818      'CONDITIONAL', 
 819      'CONNECT', 
 820      'CONTAINING', 
 821      'CROSS', 
 822      'CSTRING', 
 823      'CURRENT_CONNECTION', 
 824      'CURRENT_ROLE', 
 825      'CURRENT_TRANSACTION', 
 826      'CURRENT_USER', 
 827      'DATABASE', 
 828      'DB_KEY', 
 829      'DEBUG', 
 830      'DESCENDING', 
 831      'DISCONNECT', 
 832      'DISPLAY', 
 833      'DO', 
 834      'ECHO', 
 835      'EDIT', 
 836      'ENTRY_POINT', 
 837      'EVENT', 
 838      'EXIT', 
 839      'EXTERN', 
 840      'FALSE', 
 841      'FETCH', 
 842      'FILE', 
 843      'FILTER', 
 844      'FREE_IT', 
 845      'FUNCTION', 
 846      'GDSCODE', 
 847      'GENERATOR', 
 848      'GEN_ID', 
 849      'GLOBAL', 
 850      'GROUP_COMMIT_WAIT', 
 851      'GROUP_COMMIT_WAIT_TIME', 
 852      'HELP', 
 853      'IF', 
 854      'INACTIVE', 
 855      'INDEX', 
 856      'INIT', 
 857      'INPUT_TYPE', 
 858      'INSENSITIVE', 
 859      'ISQL', 
 860      'LC_MESSAGES', 
 861      'LC_TYPE', 
 862      'LEADING', 
 863      'LENGTH', 
 864      'LEV', 
 865      'LOGFILE', 
 866      'LOG_BUFFER_SIZE', 
 867      'LOG_BUF_SIZE', 
 868      'LONG', 
 869      'LOWER', 
 870      'MANUAL', 
 871      'MAXIMUM', 
 872      'MAXIMUM_SEGMENT', 
 873      'MAX_SEGMENT', 
 874      'MERGE', 
 875      'MESSAGE', 
 876      'MINIMUM', 
 877      'MODULE_NAME', 
 878      'NOAUTO', 
 879      'NUM_LOG_BUFS', 
 880      'NUM_LOG_BUFFERS', 
 881      'OCTET_LENGTH', 
 882      'OPEN', 
 883      'OUTPUT_TYPE', 
 884      'OVERFLOW', 
 885      'PAGE', 
 886      'PAGELENGTH', 
 887      'PAGES', 
 888      'PAGE_SIZE', 
 889      'PARAMETER', 
 890  #    'PASSWORD', 
 891      'PLAN', 
 892      'POST_EVENT', 
 893      'QUIT', 
 894      'RAW_PARTITIONS', 
 895      'RDB$DB_KEY', 
 896      'RECORD_VERSION', 
 897      'RECREATE', 
 898      'RECURSIVE', 
 899      'RELEASE', 
 900      'RESERV', 
 901      'RESERVING', 
 902      'RETAIN', 
 903      'RETURN', 
 904      'RETURNING_VALUES', 
 905      'RETURNS', 
 906  #    'ROLE', 
 907      'ROW_COUNT', 
 908      'ROWS', 
 909      'RUNTIME', 
 910      'SAVEPOINT', 
 911      'SECOND', 
 912      'SENSITIVE', 
 913      'SHADOW', 
 914      'SHARED', 
 915      'SHELL', 
 916      'SHOW', 
 917      'SINGULAR', 
 918      'SNAPSHOT', 
 919      'SORT', 
 920      'STABILITY', 
 921      'START', 
 922      'STARTING', 
 923      'STARTS', 
 924      'STATEMENT', 
 925      'STATIC', 
 926      'STATISTICS', 
 927      'SUB_TYPE', 
 928      'SUSPEND', 
 929      'TERMINATOR', 
 930      'TRAILING', 
 931      'TRIGGER', 
 932      'TRIM', 
 933      'TRUE', 
 934      'TYPE', 
 935      'UNCOMMITTED', 
 936      'UNKNOWN', 
 937      'USING', 
 938      'VARIABLE', 
 939      'VERSION', 
 940      'WAIT', 
 941      'WEEKDAY', 
 942      'WHILE', 
 943      'YEARDAY', 
 944  )) 
 945  FIREBIRD_NONRESERVED = set(( 
 946      'BACKUP', 
 947      'BLOCK', 
 948      'COALESCE', 
 949      'COLLATION', 
 950      'COMMENT', 
 951      'DELETING', 
 952      'DIFFERENCE', 
 953      'IIF', 
 954      'INSERTING', 
 955      'LAST', 
 956      'LEAVE', 
 957      'LOCK', 
 958      'NEXT', 
 959      'NULLIF', 
 960      'NULLS', 
 961      'RESTART', 
 962      'RETURNING', 
 963      'SCALAR_ARRAY', 
 964      'SEQUENCE', 
 965      'STATEMENT', 
 966      'UPDATING', 
 967      'ABS', 
 968      'ACCENT', 
 969      'ACOS', 
 970      'ALWAYS', 
 971      'ASCII_CHAR', 
 972      'ASCII_VAL', 
 973      'ASIN', 
 974      'ATAN', 
 975      'ATAN2', 
 976      'BACKUP', 
 977      'BIN_AND', 
 978      'BIN_OR', 
 979      'BIN_SHL', 
 980      'BIN_SHR', 
 981      'BIN_XOR', 
 982      'BLOCK', 
 983      'CEIL', 
 984      'CEILING', 
 985      'COLLATION', 
 986      'COMMENT', 
 987      'COS', 
 988      'COSH', 
 989      'COT', 
 990      'DATEADD', 
 991      'DATEDIFF', 
 992      'DECODE', 
 993      'DIFFERENCE', 
 994      'EXP', 
 995      'FLOOR', 
 996      'GEN_UUID', 
 997      'GENERATED', 
 998      'HASH', 
 999      'IIF', 
1000      'LIST', 
1001      'LN', 
1002      'LOG', 
1003      'LOG10', 
1004      'LPAD', 
1005      'MATCHED', 
1006      'MATCHING', 
1007      'MAXVALUE', 
1008      'MILLISECOND', 
1009      'MINVALUE', 
1010      'MOD', 
1011      'NEXT', 
1012      'OVERLAY', 
1013      'PAD', 
1014      'PI', 
1015      'PLACING', 
1016      'POWER', 
1017      'PRESERVE', 
1018      'RAND', 
1019      'REPLACE', 
1020      'RESTART', 
1021      'RETURNING', 
1022      'REVERSE', 
1023      'ROUND', 
1024      'RPAD', 
1025      'SCALAR_ARRAY', 
1026      'SEQUENCE', 
1027      'SIGN', 
1028      'SIN', 
1029      'SINH', 
1030      'SPACE', 
1031      'SQRT', 
1032      'TAN', 
1033      'TANH', 
1034      'TEMPORARY', 
1035      'TRUNC', 
1036      'WEEK', 
1037  )) 
1038   
1039  # Thanks Jonathan Lundell 
1040  MYSQL = set(( 
1041      'ACCESSIBLE', 
1042      'ADD', 
1043      'ALL', 
1044      'ALTER', 
1045      'ANALYZE', 
1046      'AND', 
1047      'AS', 
1048      'ASC', 
1049      'ASENSITIVE', 
1050      'BEFORE', 
1051      'BETWEEN', 
1052      'BIGINT', 
1053      'BINARY', 
1054      'BLOB', 
1055      'BOTH', 
1056      'BY', 
1057      'CALL', 
1058      'CASCADE', 
1059      'CASE', 
1060      'CHANGE', 
1061      'CHAR', 
1062      'CHARACTER', 
1063      'CHECK', 
1064      'COLLATE', 
1065      'COLUMN', 
1066      'CONDITION', 
1067      'CONSTRAINT', 
1068      'CONTINUE', 
1069      'CONVERT', 
1070      'CREATE', 
1071      'CROSS', 
1072      'CURRENT_DATE', 
1073      'CURRENT_TIME', 
1074      'CURRENT_TIMESTAMP', 
1075      'CURRENT_USER', 
1076      'CURSOR', 
1077      'DATABASE', 
1078      'DATABASES', 
1079      'DAY_HOUR', 
1080      'DAY_MICROSECOND', 
1081      'DAY_MINUTE', 
1082      'DAY_SECOND', 
1083      'DEC', 
1084      'DECIMAL', 
1085      'DECLARE', 
1086      'DEFAULT', 
1087      'DELAYED', 
1088      'DELETE', 
1089      'DESC', 
1090      'DESCRIBE', 
1091      'DETERMINISTIC', 
1092      'DISTINCT', 
1093      'DISTINCTROW', 
1094      'DIV', 
1095      'DOUBLE', 
1096      'DROP', 
1097      'DUAL', 
1098      'EACH', 
1099      'ELSE', 
1100      'ELSEIF', 
1101      'ENCLOSED', 
1102      'ESCAPED', 
1103      'EXISTS', 
1104      'EXIT', 
1105      'EXPLAIN', 
1106      'FALSE', 
1107      'FETCH', 
1108      'FLOAT', 
1109      'FLOAT4', 
1110      'FLOAT8', 
1111      'FOR', 
1112      'FORCE', 
1113      'FOREIGN', 
1114      'FROM', 
1115      'FULLTEXT', 
1116      'GRANT', 
1117      'GROUP', 
1118      'HAVING', 
1119      'HIGH_PRIORITY', 
1120      'HOUR_MICROSECOND', 
1121      'HOUR_MINUTE', 
1122      'HOUR_SECOND', 
1123      'IF', 
1124      'IGNORE', 
1125      'IGNORE_SERVER_IDS', 
1126      'IGNORE_SERVER_IDS', 
1127      'IN', 
1128      'INDEX', 
1129      'INFILE', 
1130      'INNER', 
1131      'INOUT', 
1132      'INSENSITIVE', 
1133      'INSERT', 
1134      'INT', 
1135      'INT1', 
1136      'INT2', 
1137      'INT3', 
1138      'INT4', 
1139      'INT8', 
1140      'INTEGER', 
1141      'INTERVAL', 
1142      'INTO', 
1143      'IS', 
1144      'ITERATE', 
1145      'JOIN', 
1146      'KEY', 
1147      'KEYS', 
1148      'KILL', 
1149      'LEADING', 
1150      'LEAVE', 
1151      'LEFT', 
1152      'LIKE', 
1153      'LIMIT', 
1154      'LINEAR', 
1155      'LINES', 
1156      'LOAD', 
1157      'LOCALTIME', 
1158      'LOCALTIMESTAMP', 
1159      'LOCK', 
1160      'LONG', 
1161      'LONGBLOB', 
1162      'LONGTEXT', 
1163      'LOOP', 
1164      'LOW_PRIORITY', 
1165      'MASTER_HEARTBEAT_PERIOD', 
1166      'MASTER_HEARTBEAT_PERIOD', 
1167      'MASTER_SSL_VERIFY_SERVER_CERT', 
1168      'MATCH', 
1169      'MAXVALUE', 
1170      'MAXVALUE', 
1171      'MEDIUMBLOB', 
1172      'MEDIUMINT', 
1173      'MEDIUMTEXT', 
1174      'MIDDLEINT', 
1175      'MINUTE_MICROSECOND', 
1176      'MINUTE_SECOND', 
1177      'MOD', 
1178      'MODIFIES', 
1179      'NATURAL', 
1180      'NO_WRITE_TO_BINLOG', 
1181      'NOT', 
1182      'NULL', 
1183      'NUMERIC', 
1184      'ON', 
1185      'OPTIMIZE', 
1186      'OPTION', 
1187      'OPTIONALLY', 
1188      'OR', 
1189      'ORDER', 
1190      'OUT', 
1191      'OUTER', 
1192      'OUTFILE', 
1193      'PRECISION', 
1194      'PRIMARY', 
1195      'PROCEDURE', 
1196      'PURGE', 
1197      'RANGE', 
1198      'READ', 
1199      'READ_WRITE', 
1200      'READS', 
1201      'REAL', 
1202      'REFERENCES', 
1203      'REGEXP', 
1204      'RELEASE', 
1205      'RENAME', 
1206      'REPEAT', 
1207      'REPLACE', 
1208      'REQUIRE', 
1209      'RESIGNAL', 
1210      'RESIGNAL', 
1211      'RESTRICT', 
1212      'RETURN', 
1213      'REVOKE', 
1214      'RIGHT', 
1215      'RLIKE', 
1216      'SCHEMA', 
1217      'SCHEMAS', 
1218      'SECOND_MICROSECOND', 
1219      'SELECT', 
1220      'SENSITIVE', 
1221      'SEPARATOR', 
1222      'SET', 
1223      'SHOW', 
1224      'SIGNAL', 
1225      'SIGNAL', 
1226      'SMALLINT', 
1227      'SPATIAL', 
1228      'SPECIFIC', 
1229      'SQL', 
1230      'SQL_BIG_RESULT', 
1231      'SQL_CALC_FOUND_ROWS', 
1232      'SQL_SMALL_RESULT', 
1233      'SQLEXCEPTION', 
1234      'SQLSTATE', 
1235      'SQLWARNING', 
1236      'SSL', 
1237      'STARTING', 
1238      'STRAIGHT_JOIN', 
1239      'TABLE', 
1240      'TERMINATED', 
1241      'THEN', 
1242      'TINYBLOB', 
1243      'TINYINT', 
1244      'TINYTEXT', 
1245      'TO', 
1246      'TRAILING', 
1247      'TRIGGER', 
1248      'TRUE', 
1249      'UNDO', 
1250      'UNION', 
1251      'UNIQUE', 
1252      'UNLOCK', 
1253      'UNSIGNED', 
1254      'UPDATE', 
1255      'USAGE', 
1256      'USE', 
1257      'USING', 
1258      'UTC_DATE', 
1259      'UTC_TIME', 
1260      'UTC_TIMESTAMP', 
1261      'VALUES', 
1262      'VARBINARY', 
1263      'VARCHAR', 
1264      'VARCHARACTER', 
1265      'VARYING', 
1266      'WHEN', 
1267      'WHERE', 
1268      'WHILE', 
1269      'WITH', 
1270      'WRITE', 
1271      'XOR', 
1272      'YEAR_MONTH', 
1273      'ZEROFILL', 
1274  )) 
1275   
1276  MSSQL = set(( 
1277      'ADD', 
1278      'ALL', 
1279      'ALTER', 
1280      'AND', 
1281      'ANY', 
1282      'AS', 
1283      'ASC', 
1284      'AUTHORIZATION', 
1285      'BACKUP', 
1286      'BEGIN', 
1287      'BETWEEN', 
1288      'BREAK', 
1289      'BROWSE', 
1290      'BULK', 
1291      'BY', 
1292      'CASCADE', 
1293      'CASE', 
1294      'CHECK', 
1295      'CHECKPOINT', 
1296      'CLOSE', 
1297      'CLUSTERED', 
1298      'COALESCE', 
1299      'COLLATE', 
1300      'COLUMN', 
1301      'COMMIT', 
1302      'COMPUTE', 
1303      'CONSTRAINT', 
1304      'CONTAINS', 
1305      'CONTAINSTABLE', 
1306      'CONTINUE', 
1307      'CONVERT', 
1308      'CREATE', 
1309      'CROSS', 
1310      'CURRENT', 
1311      'CURRENT_DATE', 
1312      'CURRENT_TIME', 
1313      'CURRENT_TIMESTAMP', 
1314      'CURRENT_USER', 
1315      'CURSOR', 
1316      'DATABASE', 
1317      'DBCC', 
1318      'DEALLOCATE', 
1319      'DECLARE', 
1320      'DEFAULT', 
1321      'DELETE', 
1322      'DENY', 
1323      'DESC', 
1324      'DISK', 
1325      'DISTINCT', 
1326      'DISTRIBUTED', 
1327      'DOUBLE', 
1328      'DROP', 
1329      'DUMMY', 
1330      'DUMP', 
1331      'ELSE', 
1332      'END', 
1333      'ERRLVL', 
1334      'ESCAPE', 
1335      'EXCEPT', 
1336      'EXEC', 
1337      'EXECUTE', 
1338      'EXISTS', 
1339      'EXIT', 
1340      'FETCH', 
1341      'FILE', 
1342      'FILLFACTOR', 
1343      'FOR', 
1344      'FOREIGN', 
1345      'FREETEXT', 
1346      'FREETEXTTABLE', 
1347      'FROM', 
1348      'FULL', 
1349      'FUNCTION', 
1350      'GOTO', 
1351      'GRANT', 
1352      'GROUP', 
1353      'HAVING', 
1354      'HOLDLOCK', 
1355      'IDENTITY', 
1356      'IDENTITY_INSERT', 
1357      'IDENTITYCOL', 
1358      'IF', 
1359      'IN', 
1360      'INDEX', 
1361      'INNER', 
1362      'INSERT', 
1363      'INTERSECT', 
1364      'INTO', 
1365      'IS', 
1366      'JOIN', 
1367      'KEY', 
1368      'KILL', 
1369      'LEFT', 
1370      'LIKE', 
1371      'LINENO', 
1372      'LOAD', 
1373      'NATIONAL ', 
1374      'NOCHECK', 
1375      'NONCLUSTERED', 
1376      'NOT', 
1377      'NULL', 
1378      'NULLIF', 
1379      'OF', 
1380      'OFF', 
1381      'OFFSETS', 
1382      'ON', 
1383      'OPEN', 
1384      'OPENDATASOURCE', 
1385      'OPENQUERY', 
1386      'OPENROWSET', 
1387      'OPENXML', 
1388      'OPTION', 
1389      'OR', 
1390      'ORDER', 
1391      'OUTER', 
1392      'OVER', 
1393      'PERCENT', 
1394      'PLAN', 
1395      'PRECISION', 
1396      'PRIMARY', 
1397      'PRINT', 
1398      'PROC', 
1399      'PROCEDURE', 
1400      'PUBLIC', 
1401      'RAISERROR', 
1402      'READ', 
1403      'READTEXT', 
1404      'RECONFIGURE', 
1405      'REFERENCES', 
1406      'REPLICATION', 
1407      'RESTORE', 
1408      'RESTRICT', 
1409      'RETURN', 
1410      'REVOKE', 
1411      'RIGHT', 
1412      'ROLLBACK', 
1413      'ROWCOUNT', 
1414      'ROWGUIDCOL', 
1415      'RULE', 
1416      'SAVE', 
1417      'SCHEMA', 
1418      'SELECT', 
1419      'SESSION_USER', 
1420      'SET', 
1421      'SETUSER', 
1422      'SHUTDOWN', 
1423      'SOME', 
1424      'STATISTICS', 
1425      'SYSTEM_USER', 
1426      'TABLE', 
1427      'TEXTSIZE', 
1428      'THEN', 
1429      'TO', 
1430      'TOP', 
1431      'TRAN', 
1432      'TRANSACTION', 
1433      'TRIGGER', 
1434      'TRUNCATE', 
1435      'TSEQUAL', 
1436      'UNION', 
1437      'UNIQUE', 
1438      'UPDATE', 
1439      'UPDATETEXT', 
1440      'USE', 
1441      'USER', 
1442      'VALUES', 
1443      'VARYING', 
1444      'VIEW', 
1445      'WAITFOR', 
1446      'WHEN', 
1447      'WHERE', 
1448      'WHILE', 
1449      'WITH', 
1450      'WRITETEXT', 
1451  )) 
1452   
1453  ORACLE = set(( 
1454      'ACCESS', 
1455      'ADD', 
1456      'ALL', 
1457      'ALTER', 
1458      'AND', 
1459      'ANY', 
1460      'AS', 
1461      'ASC', 
1462      'AUDIT', 
1463      'BETWEEN', 
1464      'BY', 
1465      'CHAR', 
1466      'CHECK', 
1467      'CLUSTER', 
1468      'COLUMN', 
1469      'COMMENT', 
1470      'COMPRESS', 
1471      'CONNECT', 
1472      'CREATE', 
1473      'CURRENT', 
1474      'DATE', 
1475      'DECIMAL', 
1476      'DEFAULT', 
1477      'DELETE', 
1478      'DESC', 
1479      'DISTINCT', 
1480      'DROP', 
1481      'ELSE', 
1482      'EXCLUSIVE', 
1483      'EXISTS', 
1484      'FILE', 
1485      'FLOAT', 
1486      'FOR', 
1487      'FROM', 
1488      'GRANT', 
1489      'GROUP', 
1490      'HAVING', 
1491      'IDENTIFIED', 
1492      'IMMEDIATE', 
1493      'IN', 
1494      'INCREMENT', 
1495      'INDEX', 
1496      'INITIAL', 
1497      'INSERT', 
1498      'INTEGER', 
1499      'INTERSECT', 
1500      'INTO', 
1501      'IS', 
1502      'LEVEL', 
1503      'LIKE', 
1504      'LOCK', 
1505      'LONG', 
1506      'MAXEXTENTS', 
1507      'MINUS', 
1508      'MLSLABEL', 
1509      'MODE', 
1510      'MODIFY', 
1511      'NOAUDIT', 
1512      'NOCOMPRESS', 
1513      'NOT', 
1514      'NOWAIT', 
1515      'NULL', 
1516      'NUMBER', 
1517      'OF', 
1518      'OFFLINE', 
1519      'ON', 
1520      'ONLINE', 
1521      'OPTION', 
1522      'OR', 
1523      'ORDER', 
1524      'PCTFREE', 
1525      'PRIOR', 
1526      'PRIVILEGES', 
1527      'PUBLIC', 
1528      'RAW', 
1529      'RENAME', 
1530      'RESOURCE', 
1531      'REVOKE', 
1532      'ROW', 
1533      'ROWID', 
1534      'ROWNUM', 
1535      'ROWS', 
1536      'SELECT', 
1537      'SESSION', 
1538      'SET', 
1539      'SHARE', 
1540      'SIZE', 
1541      'SMALLINT', 
1542      'START', 
1543      'SUCCESSFUL', 
1544      'SYNONYM', 
1545      'SYSDATE', 
1546      'TABLE', 
1547      'THEN', 
1548      'TO', 
1549      'TRIGGER', 
1550      'UID', 
1551      'UNION', 
1552      'UNIQUE', 
1553      'UPDATE', 
1554      'USER', 
1555      'VALIDATE', 
1556      'VALUES', 
1557      'VARCHAR', 
1558      'VARCHAR2', 
1559      'VIEW', 
1560      'WHENEVER', 
1561      'WHERE', 
1562      'WITH', 
1563  )) 
1564   
1565  SQLITE = set(( 
1566      'ABORT', 
1567      'ACTION', 
1568      'ADD', 
1569      'AFTER', 
1570      'ALL', 
1571      'ALTER', 
1572      'ANALYZE', 
1573      'AND', 
1574      'AS', 
1575      'ASC', 
1576      'ATTACH', 
1577      'AUTOINCREMENT', 
1578      'BEFORE', 
1579      'BEGIN', 
1580      'BETWEEN', 
1581      'BY', 
1582      'CASCADE', 
1583      'CASE', 
1584      'CAST', 
1585      'CHECK', 
1586      'COLLATE', 
1587      'COLUMN', 
1588      'COMMIT', 
1589      'CONFLICT', 
1590      'CONSTRAINT', 
1591      'CREATE', 
1592      'CROSS', 
1593      'CURRENT_DATE', 
1594      'CURRENT_TIME', 
1595      'CURRENT_TIMESTAMP', 
1596      'DATABASE', 
1597      'DEFAULT', 
1598      'DEFERRABLE', 
1599      'DEFERRED', 
1600      'DELETE', 
1601      'DESC', 
1602      'DETACH', 
1603      'DISTINCT', 
1604      'DROP', 
1605      'EACH', 
1606      'ELSE', 
1607      'END', 
1608      'ESCAPE', 
1609      'EXCEPT', 
1610      'EXCLUSIVE', 
1611      'EXISTS', 
1612      'EXPLAIN', 
1613      'FAIL', 
1614      'FOR', 
1615      'FOREIGN', 
1616      'FROM', 
1617      'FULL', 
1618      'GLOB', 
1619      'GROUP', 
1620      'HAVING', 
1621      'IF', 
1622      'IGNORE', 
1623      'IMMEDIATE', 
1624      'IN', 
1625      'INDEX', 
1626      'INDEXED', 
1627      'INITIALLY', 
1628      'INNER', 
1629      'INSERT', 
1630      'INSTEAD', 
1631      'INTERSECT', 
1632      'INTO', 
1633      'IS', 
1634      'ISNULL', 
1635      'JOIN', 
1636      'KEY', 
1637      'LEFT', 
1638      'LIKE', 
1639      'LIMIT', 
1640      'MATCH', 
1641      'NATURAL', 
1642      'NO', 
1643      'NOT', 
1644      'NOTNULL', 
1645      'NULL', 
1646      'OF', 
1647      'OFFSET', 
1648      'ON', 
1649      'OR', 
1650      'ORDER', 
1651      'OUTER', 
1652      'PLAN', 
1653      'PRAGMA', 
1654      'PRIMARY', 
1655      'QUERY', 
1656      'RAISE', 
1657      'REFERENCES', 
1658      'REGEXP', 
1659      'REINDEX', 
1660      'RELEASE', 
1661      'RENAME', 
1662      'REPLACE', 
1663      'RESTRICT', 
1664      'RIGHT', 
1665      'ROLLBACK', 
1666      'ROW', 
1667      'SAVEPOINT', 
1668      'SELECT', 
1669      'SET', 
1670      'TABLE', 
1671      'TEMP', 
1672      'TEMPORARY', 
1673      'THEN', 
1674      'TO', 
1675      'TRANSACTION', 
1676      'TRIGGER', 
1677      'UNION', 
1678      'UNIQUE', 
1679      'UPDATE', 
1680      'USING', 
1681      'VACUUM', 
1682      'VALUES', 
1683      'VIEW', 
1684      'VIRTUAL', 
1685      'WHEN', 
1686      'WHERE', 
1687  )) 
1688   
1689  # remove from here when you add a list. 
1690  JDBCSQLITE = SQLITE 
1691  DB2 = INFORMIX = INGRES = JDBCPOSTGRESQL = COMMON 
1692   
1693  ADAPTERS = { 
1694      'sqlite': SQLITE, 
1695      'mysql': MYSQL, 
1696      'postgres': POSTGRESQL, 
1697      'postgres_nonreserved': POSTGRESQL_NONRESERVED, 
1698      'oracle': ORACLE, 
1699      'mssql': MSSQL, 
1700      'mssql2': MSSQL, 
1701      'db2': DB2, 
1702      'informix': INFORMIX, 
1703      'firebird': FIREBIRD, 
1704      'firebird_embedded': FIREBIRD, 
1705      'firebird_nonreserved': FIREBIRD_NONRESERVED, 
1706      'ingres': INGRES, 
1707      'ingresu': INGRES, 
1708      'jdbc:sqlite': JDBCSQLITE, 
1709      'jdbc:postgres': JDBCPOSTGRESQL, 
1710      'common': COMMON, 
1711  } 
1712   
1713  ADAPTERS['all'] = reduce(lambda a,b:a.union(b),(x for x in ADAPTERS.values())) 
1714