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

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