PageRenderTime 52ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 1ms

/gluon/reserved_sql_keywords.py

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