sql.js 31 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397
  1. /*---------------------------------------------------------------------------------------------
  2. * Copyright (c) Microsoft Corporation. All rights reserved.
  3. * Licensed under the MIT License. See License.txt in the project root for license information.
  4. *--------------------------------------------------------------------------------------------*/
  5. export var conf = {
  6. comments: {
  7. lineComment: '--',
  8. blockComment: ['/*', '*/']
  9. },
  10. brackets: [
  11. ['{', '}'],
  12. ['[', ']'],
  13. ['(', ')']
  14. ],
  15. autoClosingPairs: [
  16. { open: '{', close: '}' },
  17. { open: '[', close: ']' },
  18. { open: '(', close: ')' },
  19. { open: '"', close: '"' },
  20. { open: "'", close: "'" }
  21. ],
  22. surroundingPairs: [
  23. { open: '{', close: '}' },
  24. { open: '[', close: ']' },
  25. { open: '(', close: ')' },
  26. { open: '"', close: '"' },
  27. { open: "'", close: "'" }
  28. ]
  29. };
  30. export var language = {
  31. defaultToken: '',
  32. tokenPostfix: '.sql',
  33. ignoreCase: true,
  34. brackets: [
  35. { open: '[', close: ']', token: 'delimiter.square' },
  36. { open: '(', close: ')', token: 'delimiter.parenthesis' }
  37. ],
  38. keywords: [
  39. 'ABORT_AFTER_WAIT',
  40. 'ABSENT',
  41. 'ABSOLUTE',
  42. 'ACCENT_SENSITIVITY',
  43. 'ACTION',
  44. 'ACTIVATION',
  45. 'ACTIVE',
  46. 'ADD',
  47. 'ADDRESS',
  48. 'ADMIN',
  49. 'AES',
  50. 'AES_128',
  51. 'AES_192',
  52. 'AES_256',
  53. 'AFFINITY',
  54. 'AFTER',
  55. 'AGGREGATE',
  56. 'ALGORITHM',
  57. 'ALL_CONSTRAINTS',
  58. 'ALL_ERRORMSGS',
  59. 'ALL_INDEXES',
  60. 'ALL_LEVELS',
  61. 'ALL_SPARSE_COLUMNS',
  62. 'ALLOW_CONNECTIONS',
  63. 'ALLOW_MULTIPLE_EVENT_LOSS',
  64. 'ALLOW_PAGE_LOCKS',
  65. 'ALLOW_ROW_LOCKS',
  66. 'ALLOW_SINGLE_EVENT_LOSS',
  67. 'ALLOW_SNAPSHOT_ISOLATION',
  68. 'ALLOWED',
  69. 'ALTER',
  70. 'ANONYMOUS',
  71. 'ANSI_DEFAULTS',
  72. 'ANSI_NULL_DEFAULT',
  73. 'ANSI_NULL_DFLT_OFF',
  74. 'ANSI_NULL_DFLT_ON',
  75. 'ANSI_NULLS',
  76. 'ANSI_PADDING',
  77. 'ANSI_WARNINGS',
  78. 'APPEND',
  79. 'APPLICATION',
  80. 'APPLICATION_LOG',
  81. 'ARITHABORT',
  82. 'ARITHIGNORE',
  83. 'AS',
  84. 'ASC',
  85. 'ASSEMBLY',
  86. 'ASYMMETRIC',
  87. 'ASYNCHRONOUS_COMMIT',
  88. 'AT',
  89. 'ATOMIC',
  90. 'ATTACH',
  91. 'ATTACH_REBUILD_LOG',
  92. 'AUDIT',
  93. 'AUDIT_GUID',
  94. 'AUTHENTICATION',
  95. 'AUTHORIZATION',
  96. 'AUTO',
  97. 'AUTO_CLEANUP',
  98. 'AUTO_CLOSE',
  99. 'AUTO_CREATE_STATISTICS',
  100. 'AUTO_SHRINK',
  101. 'AUTO_UPDATE_STATISTICS',
  102. 'AUTO_UPDATE_STATISTICS_ASYNC',
  103. 'AUTOMATED_BACKUP_PREFERENCE',
  104. 'AUTOMATIC',
  105. 'AVAILABILITY',
  106. 'AVAILABILITY_MODE',
  107. 'BACKUP',
  108. 'BACKUP_PRIORITY',
  109. 'BASE64',
  110. 'BATCHSIZE',
  111. 'BEGIN',
  112. 'BEGIN_DIALOG',
  113. 'BIGINT',
  114. 'BINARY',
  115. 'BINDING',
  116. 'BIT',
  117. 'BLOCKERS',
  118. 'BLOCKSIZE',
  119. 'BOUNDING_BOX',
  120. 'BREAK',
  121. 'BROKER',
  122. 'BROKER_INSTANCE',
  123. 'BROWSE',
  124. 'BUCKET_COUNT',
  125. 'BUFFER',
  126. 'BUFFERCOUNT',
  127. 'BULK',
  128. 'BULK_LOGGED',
  129. 'BY',
  130. 'CACHE',
  131. 'CALL',
  132. 'CALLED',
  133. 'CALLER',
  134. 'CAP_CPU_PERCENT',
  135. 'CASCADE',
  136. 'CASE',
  137. 'CATALOG',
  138. 'CATCH',
  139. 'CELLS_PER_OBJECT',
  140. 'CERTIFICATE',
  141. 'CHANGE_RETENTION',
  142. 'CHANGE_TRACKING',
  143. 'CHANGES',
  144. 'CHAR',
  145. 'CHARACTER',
  146. 'CHECK',
  147. 'CHECK_CONSTRAINTS',
  148. 'CHECK_EXPIRATION',
  149. 'CHECK_POLICY',
  150. 'CHECKALLOC',
  151. 'CHECKCATALOG',
  152. 'CHECKCONSTRAINTS',
  153. 'CHECKDB',
  154. 'CHECKFILEGROUP',
  155. 'CHECKIDENT',
  156. 'CHECKPOINT',
  157. 'CHECKTABLE',
  158. 'CLASSIFIER_FUNCTION',
  159. 'CLEANTABLE',
  160. 'CLEANUP',
  161. 'CLEAR',
  162. 'CLOSE',
  163. 'CLUSTER',
  164. 'CLUSTERED',
  165. 'CODEPAGE',
  166. 'COLLATE',
  167. 'COLLECTION',
  168. 'COLUMN',
  169. 'COLUMN_SET',
  170. 'COLUMNS',
  171. 'COLUMNSTORE',
  172. 'COLUMNSTORE_ARCHIVE',
  173. 'COMMIT',
  174. 'COMMITTED',
  175. 'COMPATIBILITY_LEVEL',
  176. 'COMPRESSION',
  177. 'COMPUTE',
  178. 'CONCAT',
  179. 'CONCAT_NULL_YIELDS_NULL',
  180. 'CONFIGURATION',
  181. 'CONNECT',
  182. 'CONSTRAINT',
  183. 'CONTAINMENT',
  184. 'CONTENT',
  185. 'CONTEXT',
  186. 'CONTINUE',
  187. 'CONTINUE_AFTER_ERROR',
  188. 'CONTRACT',
  189. 'CONTRACT_NAME',
  190. 'CONTROL',
  191. 'CONVERSATION',
  192. 'COOKIE',
  193. 'COPY_ONLY',
  194. 'COUNTER',
  195. 'CPU',
  196. 'CREATE',
  197. 'CREATE_NEW',
  198. 'CREATION_DISPOSITION',
  199. 'CREDENTIAL',
  200. 'CRYPTOGRAPHIC',
  201. 'CUBE',
  202. 'CURRENT',
  203. 'CURRENT_DATE',
  204. 'CURSOR',
  205. 'CURSOR_CLOSE_ON_COMMIT',
  206. 'CURSOR_DEFAULT',
  207. 'CYCLE',
  208. 'DATA',
  209. 'DATA_COMPRESSION',
  210. 'DATA_PURITY',
  211. 'DATABASE',
  212. 'DATABASE_DEFAULT',
  213. 'DATABASE_MIRRORING',
  214. 'DATABASE_SNAPSHOT',
  215. 'DATAFILETYPE',
  216. 'DATE',
  217. 'DATE_CORRELATION_OPTIMIZATION',
  218. 'DATEFIRST',
  219. 'DATEFORMAT',
  220. 'DATETIME',
  221. 'DATETIME2',
  222. 'DATETIMEOFFSET',
  223. 'DAY',
  224. 'DAYOFYEAR',
  225. 'DAYS',
  226. 'DB_CHAINING',
  227. 'DBCC',
  228. 'DBREINDEX',
  229. 'DDL_DATABASE_LEVEL_EVENTS',
  230. 'DEADLOCK_PRIORITY',
  231. 'DEALLOCATE',
  232. 'DEC',
  233. 'DECIMAL',
  234. 'DECLARE',
  235. 'DECRYPTION',
  236. 'DEFAULT',
  237. 'DEFAULT_DATABASE',
  238. 'DEFAULT_FULLTEXT_LANGUAGE',
  239. 'DEFAULT_LANGUAGE',
  240. 'DEFAULT_SCHEMA',
  241. 'DEFINITION',
  242. 'DELAY',
  243. 'DELAYED_DURABILITY',
  244. 'DELETE',
  245. 'DELETED',
  246. 'DENSITY_VECTOR',
  247. 'DENY',
  248. 'DEPENDENTS',
  249. 'DES',
  250. 'DESC',
  251. 'DESCRIPTION',
  252. 'DESX',
  253. 'DHCP',
  254. 'DIAGNOSTICS',
  255. 'DIALOG',
  256. 'DIFFERENTIAL',
  257. 'DIRECTORY_NAME',
  258. 'DISABLE',
  259. 'DISABLE_BROKER',
  260. 'DISABLED',
  261. 'DISK',
  262. 'DISTINCT',
  263. 'DISTRIBUTED',
  264. 'DOCUMENT',
  265. 'DOUBLE',
  266. 'DROP',
  267. 'DROP_EXISTING',
  268. 'DROPCLEANBUFFERS',
  269. 'DUMP',
  270. 'DURABILITY',
  271. 'DYNAMIC',
  272. 'EDITION',
  273. 'ELEMENTS',
  274. 'ELSE',
  275. 'EMERGENCY',
  276. 'EMPTY',
  277. 'EMPTYFILE',
  278. 'ENABLE',
  279. 'ENABLE_BROKER',
  280. 'ENABLED',
  281. 'ENCRYPTION',
  282. 'END',
  283. 'ENDPOINT',
  284. 'ENDPOINT_URL',
  285. 'ERRLVL',
  286. 'ERROR',
  287. 'ERROR_BROKER_CONVERSATIONS',
  288. 'ERRORFILE',
  289. 'ESCAPE',
  290. 'ESTIMATEONLY',
  291. 'EVENT',
  292. 'EVENT_RETENTION_MODE',
  293. 'EXEC',
  294. 'EXECUTABLE',
  295. 'EXECUTE',
  296. 'EXIT',
  297. 'EXPAND',
  298. 'EXPIREDATE',
  299. 'EXPIRY_DATE',
  300. 'EXPLICIT',
  301. 'EXTENDED_LOGICAL_CHECKS',
  302. 'EXTENSION',
  303. 'EXTERNAL',
  304. 'EXTERNAL_ACCESS',
  305. 'FAIL_OPERATION',
  306. 'FAILOVER',
  307. 'FAILOVER_MODE',
  308. 'FAILURE_CONDITION_LEVEL',
  309. 'FALSE',
  310. 'FAN_IN',
  311. 'FAST',
  312. 'FAST_FORWARD',
  313. 'FETCH',
  314. 'FIELDTERMINATOR',
  315. 'FILE',
  316. 'FILEGROUP',
  317. 'FILEGROWTH',
  318. 'FILELISTONLY',
  319. 'FILENAME',
  320. 'FILEPATH',
  321. 'FILESTREAM',
  322. 'FILESTREAM_ON',
  323. 'FILETABLE_COLLATE_FILENAME',
  324. 'FILETABLE_DIRECTORY',
  325. 'FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME',
  326. 'FILETABLE_NAMESPACE',
  327. 'FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME',
  328. 'FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME',
  329. 'FILLFACTOR',
  330. 'FILTERING',
  331. 'FIRE_TRIGGERS',
  332. 'FIRST',
  333. 'FIRSTROW',
  334. 'FLOAT',
  335. 'FMTONLY',
  336. 'FOLLOWING',
  337. 'FOR',
  338. 'FORCE',
  339. 'FORCE_FAILOVER_ALLOW_DATA_LOSS',
  340. 'FORCE_SERVICE_ALLOW_DATA_LOSS',
  341. 'FORCED',
  342. 'FORCEPLAN',
  343. 'FORCESCAN',
  344. 'FORCESEEK',
  345. 'FOREIGN',
  346. 'FORMATFILE',
  347. 'FORMSOF',
  348. 'FORWARD_ONLY',
  349. 'FREE',
  350. 'FREEPROCCACHE',
  351. 'FREESESSIONCACHE',
  352. 'FREESYSTEMCACHE',
  353. 'FROM',
  354. 'FULL',
  355. 'FULLSCAN',
  356. 'FULLTEXT',
  357. 'FUNCTION',
  358. 'GB',
  359. 'GEOGRAPHY_AUTO_GRID',
  360. 'GEOGRAPHY_GRID',
  361. 'GEOMETRY_AUTO_GRID',
  362. 'GEOMETRY_GRID',
  363. 'GET',
  364. 'GLOBAL',
  365. 'GO',
  366. 'GOTO',
  367. 'GOVERNOR',
  368. 'GRANT',
  369. 'GRIDS',
  370. 'GROUP',
  371. 'GROUP_MAX_REQUESTS',
  372. 'HADR',
  373. 'HASH',
  374. 'HASHED',
  375. 'HAVING',
  376. 'HEADERONLY',
  377. 'HEALTH_CHECK_TIMEOUT',
  378. 'HELP',
  379. 'HIERARCHYID',
  380. 'HIGH',
  381. 'HINT',
  382. 'HISTOGRAM',
  383. 'HOLDLOCK',
  384. 'HONOR_BROKER_PRIORITY',
  385. 'HOUR',
  386. 'HOURS',
  387. 'IDENTITY',
  388. 'IDENTITY_INSERT',
  389. 'IDENTITY_VALUE',
  390. 'IDENTITYCOL',
  391. 'IF',
  392. 'IGNORE_CONSTRAINTS',
  393. 'IGNORE_DUP_KEY',
  394. 'IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX',
  395. 'IGNORE_TRIGGERS',
  396. 'IMAGE',
  397. 'IMMEDIATE',
  398. 'IMPERSONATE',
  399. 'IMPLICIT_TRANSACTIONS',
  400. 'IMPORTANCE',
  401. 'INCLUDE',
  402. 'INCREMENT',
  403. 'INCREMENTAL',
  404. 'INDEX',
  405. 'INDEXDEFRAG',
  406. 'INFINITE',
  407. 'INFLECTIONAL',
  408. 'INIT',
  409. 'INITIATOR',
  410. 'INPUT',
  411. 'INPUTBUFFER',
  412. 'INSENSITIVE',
  413. 'INSERT',
  414. 'INSERTED',
  415. 'INSTEAD',
  416. 'INT',
  417. 'INTEGER',
  418. 'INTO',
  419. 'IO',
  420. 'IP',
  421. 'ISABOUT',
  422. 'ISOLATION',
  423. 'JOB',
  424. 'KB',
  425. 'KEEP',
  426. 'KEEP_CDC',
  427. 'KEEP_NULLS',
  428. 'KEEP_REPLICATION',
  429. 'KEEPDEFAULTS',
  430. 'KEEPFIXED',
  431. 'KEEPIDENTITY',
  432. 'KEEPNULLS',
  433. 'KERBEROS',
  434. 'KEY',
  435. 'KEY_SOURCE',
  436. 'KEYS',
  437. 'KEYSET',
  438. 'KILL',
  439. 'KILOBYTES_PER_BATCH',
  440. 'LABELONLY',
  441. 'LANGUAGE',
  442. 'LAST',
  443. 'LASTROW',
  444. 'LEVEL',
  445. 'LEVEL_1',
  446. 'LEVEL_2',
  447. 'LEVEL_3',
  448. 'LEVEL_4',
  449. 'LIFETIME',
  450. 'LIMIT',
  451. 'LINENO',
  452. 'LIST',
  453. 'LISTENER',
  454. 'LISTENER_IP',
  455. 'LISTENER_PORT',
  456. 'LOAD',
  457. 'LOADHISTORY',
  458. 'LOB_COMPACTION',
  459. 'LOCAL',
  460. 'LOCAL_SERVICE_NAME',
  461. 'LOCK_ESCALATION',
  462. 'LOCK_TIMEOUT',
  463. 'LOGIN',
  464. 'LOGSPACE',
  465. 'LOOP',
  466. 'LOW',
  467. 'MANUAL',
  468. 'MARK',
  469. 'MARK_IN_USE_FOR_REMOVAL',
  470. 'MASTER',
  471. 'MAX_CPU_PERCENT',
  472. 'MAX_DISPATCH_LATENCY',
  473. 'MAX_DOP',
  474. 'MAX_DURATION',
  475. 'MAX_EVENT_SIZE',
  476. 'MAX_FILES',
  477. 'MAX_IOPS_PER_VOLUME',
  478. 'MAX_MEMORY',
  479. 'MAX_MEMORY_PERCENT',
  480. 'MAX_QUEUE_READERS',
  481. 'MAX_ROLLOVER_FILES',
  482. 'MAX_SIZE',
  483. 'MAXDOP',
  484. 'MAXERRORS',
  485. 'MAXLENGTH',
  486. 'MAXRECURSION',
  487. 'MAXSIZE',
  488. 'MAXTRANSFERSIZE',
  489. 'MAXVALUE',
  490. 'MB',
  491. 'MEDIADESCRIPTION',
  492. 'MEDIANAME',
  493. 'MEDIAPASSWORD',
  494. 'MEDIUM',
  495. 'MEMBER',
  496. 'MEMORY_OPTIMIZED',
  497. 'MEMORY_OPTIMIZED_DATA',
  498. 'MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT',
  499. 'MEMORY_PARTITION_MODE',
  500. 'MERGE',
  501. 'MESSAGE',
  502. 'MESSAGE_FORWARD_SIZE',
  503. 'MESSAGE_FORWARDING',
  504. 'MICROSECOND',
  505. 'MILLISECOND',
  506. 'MIN_CPU_PERCENT',
  507. 'MIN_IOPS_PER_VOLUME',
  508. 'MIN_MEMORY_PERCENT',
  509. 'MINUTE',
  510. 'MINUTES',
  511. 'MINVALUE',
  512. 'MIRROR',
  513. 'MIRROR_ADDRESS',
  514. 'MODIFY',
  515. 'MONEY',
  516. 'MONTH',
  517. 'MOVE',
  518. 'MULTI_USER',
  519. 'MUST_CHANGE',
  520. 'NAME',
  521. 'NANOSECOND',
  522. 'NATIONAL',
  523. 'NATIVE_COMPILATION',
  524. 'NCHAR',
  525. 'NEGOTIATE',
  526. 'NESTED_TRIGGERS',
  527. 'NEW_ACCOUNT',
  528. 'NEW_BROKER',
  529. 'NEW_PASSWORD',
  530. 'NEWNAME',
  531. 'NEXT',
  532. 'NO',
  533. 'NO_BROWSETABLE',
  534. 'NO_CHECKSUM',
  535. 'NO_COMPRESSION',
  536. 'NO_EVENT_LOSS',
  537. 'NO_INFOMSGS',
  538. 'NO_TRUNCATE',
  539. 'NO_WAIT',
  540. 'NOCHECK',
  541. 'NOCOUNT',
  542. 'NOEXEC',
  543. 'NOEXPAND',
  544. 'NOFORMAT',
  545. 'NOINDEX',
  546. 'NOINIT',
  547. 'NOLOCK',
  548. 'NON',
  549. 'NON_TRANSACTED_ACCESS',
  550. 'NONCLUSTERED',
  551. 'NONE',
  552. 'NORECOMPUTE',
  553. 'NORECOVERY',
  554. 'NORESEED',
  555. 'NORESET',
  556. 'NOREWIND',
  557. 'NORMAL',
  558. 'NOSKIP',
  559. 'NOTIFICATION',
  560. 'NOTRUNCATE',
  561. 'NOUNLOAD',
  562. 'NOWAIT',
  563. 'NTEXT',
  564. 'NTLM',
  565. 'NUMANODE',
  566. 'NUMERIC',
  567. 'NUMERIC_ROUNDABORT',
  568. 'NVARCHAR',
  569. 'OBJECT',
  570. 'OF',
  571. 'OFF',
  572. 'OFFLINE',
  573. 'OFFSET',
  574. 'OFFSETS',
  575. 'OLD_ACCOUNT',
  576. 'OLD_PASSWORD',
  577. 'ON',
  578. 'ON_FAILURE',
  579. 'ONLINE',
  580. 'ONLY',
  581. 'OPEN',
  582. 'OPEN_EXISTING',
  583. 'OPENTRAN',
  584. 'OPTIMISTIC',
  585. 'OPTIMIZE',
  586. 'OPTION',
  587. 'ORDER',
  588. 'OUT',
  589. 'OUTPUT',
  590. 'OUTPUTBUFFER',
  591. 'OVER',
  592. 'OVERRIDE',
  593. 'OWNER',
  594. 'OWNERSHIP',
  595. 'PAD_INDEX',
  596. 'PAGE',
  597. 'PAGE_VERIFY',
  598. 'PAGECOUNT',
  599. 'PAGLOCK',
  600. 'PARAMETERIZATION',
  601. 'PARSEONLY',
  602. 'PARTIAL',
  603. 'PARTITION',
  604. 'PARTITIONS',
  605. 'PARTNER',
  606. 'PASSWORD',
  607. 'PATH',
  608. 'PER_CPU',
  609. 'PER_NODE',
  610. 'PERCENT',
  611. 'PERMISSION_SET',
  612. 'PERSISTED',
  613. 'PHYSICAL_ONLY',
  614. 'PLAN',
  615. 'POISON_MESSAGE_HANDLING',
  616. 'POOL',
  617. 'POPULATION',
  618. 'PORT',
  619. 'PRECEDING',
  620. 'PRECISION',
  621. 'PRIMARY',
  622. 'PRIMARY_ROLE',
  623. 'PRINT',
  624. 'PRIOR',
  625. 'PRIORITY',
  626. 'PRIORITY_LEVEL',
  627. 'PRIVATE',
  628. 'PRIVILEGES',
  629. 'PROC',
  630. 'PROCCACHE',
  631. 'PROCEDURE',
  632. 'PROCEDURE_NAME',
  633. 'PROCESS',
  634. 'PROFILE',
  635. 'PROPERTY',
  636. 'PROPERTY_DESCRIPTION',
  637. 'PROPERTY_INT_ID',
  638. 'PROPERTY_SET_GUID',
  639. 'PROVIDER',
  640. 'PROVIDER_KEY_NAME',
  641. 'PUBLIC',
  642. 'PUT',
  643. 'QUARTER',
  644. 'QUERY',
  645. 'QUERY_GOVERNOR_COST_LIMIT',
  646. 'QUEUE',
  647. 'QUEUE_DELAY',
  648. 'QUOTED_IDENTIFIER',
  649. 'RAISERROR',
  650. 'RANGE',
  651. 'RAW',
  652. 'RC2',
  653. 'RC4',
  654. 'RC4_128',
  655. 'READ',
  656. 'READ_COMMITTED_SNAPSHOT',
  657. 'READ_ONLY',
  658. 'READ_ONLY_ROUTING_LIST',
  659. 'READ_ONLY_ROUTING_URL',
  660. 'READ_WRITE',
  661. 'READ_WRITE_FILEGROUPS',
  662. 'READCOMMITTED',
  663. 'READCOMMITTEDLOCK',
  664. 'READONLY',
  665. 'READPAST',
  666. 'READTEXT',
  667. 'READUNCOMMITTED',
  668. 'READWRITE',
  669. 'REAL',
  670. 'REBUILD',
  671. 'RECEIVE',
  672. 'RECOMPILE',
  673. 'RECONFIGURE',
  674. 'RECOVERY',
  675. 'RECURSIVE',
  676. 'RECURSIVE_TRIGGERS',
  677. 'REFERENCES',
  678. 'REGENERATE',
  679. 'RELATED_CONVERSATION',
  680. 'RELATED_CONVERSATION_GROUP',
  681. 'RELATIVE',
  682. 'REMOTE',
  683. 'REMOTE_PROC_TRANSACTIONS',
  684. 'REMOTE_SERVICE_NAME',
  685. 'REMOVE',
  686. 'REORGANIZE',
  687. 'REPAIR_ALLOW_DATA_LOSS',
  688. 'REPAIR_FAST',
  689. 'REPAIR_REBUILD',
  690. 'REPEATABLE',
  691. 'REPEATABLEREAD',
  692. 'REPLICA',
  693. 'REPLICATION',
  694. 'REQUEST_MAX_CPU_TIME_SEC',
  695. 'REQUEST_MAX_MEMORY_GRANT_PERCENT',
  696. 'REQUEST_MEMORY_GRANT_TIMEOUT_SEC',
  697. 'REQUIRED',
  698. 'RESAMPLE',
  699. 'RESEED',
  700. 'RESERVE_DISK_SPACE',
  701. 'RESET',
  702. 'RESOURCE',
  703. 'RESTART',
  704. 'RESTORE',
  705. 'RESTRICT',
  706. 'RESTRICTED_USER',
  707. 'RESULT',
  708. 'RESUME',
  709. 'RETAINDAYS',
  710. 'RETENTION',
  711. 'RETURN',
  712. 'RETURNS',
  713. 'REVERT',
  714. 'REVOKE',
  715. 'REWIND',
  716. 'REWINDONLY',
  717. 'ROBUST',
  718. 'ROLE',
  719. 'ROLLBACK',
  720. 'ROLLUP',
  721. 'ROOT',
  722. 'ROUTE',
  723. 'ROW',
  724. 'ROWCOUNT',
  725. 'ROWGUIDCOL',
  726. 'ROWLOCK',
  727. 'ROWS',
  728. 'ROWS_PER_BATCH',
  729. 'ROWTERMINATOR',
  730. 'ROWVERSION',
  731. 'RSA_1024',
  732. 'RSA_2048',
  733. 'RSA_512',
  734. 'RULE',
  735. 'SAFE',
  736. 'SAFETY',
  737. 'SAMPLE',
  738. 'SAVE',
  739. 'SCHEDULER',
  740. 'SCHEMA',
  741. 'SCHEMA_AND_DATA',
  742. 'SCHEMA_ONLY',
  743. 'SCHEMABINDING',
  744. 'SCHEME',
  745. 'SCROLL',
  746. 'SCROLL_LOCKS',
  747. 'SEARCH',
  748. 'SECOND',
  749. 'SECONDARY',
  750. 'SECONDARY_ONLY',
  751. 'SECONDARY_ROLE',
  752. 'SECONDS',
  753. 'SECRET',
  754. 'SECURITY_LOG',
  755. 'SECURITYAUDIT',
  756. 'SELECT',
  757. 'SELECTIVE',
  758. 'SELF',
  759. 'SEND',
  760. 'SENT',
  761. 'SEQUENCE',
  762. 'SERIALIZABLE',
  763. 'SERVER',
  764. 'SERVICE',
  765. 'SERVICE_BROKER',
  766. 'SERVICE_NAME',
  767. 'SESSION',
  768. 'SESSION_TIMEOUT',
  769. 'SET',
  770. 'SETS',
  771. 'SETUSER',
  772. 'SHOW_STATISTICS',
  773. 'SHOWCONTIG',
  774. 'SHOWPLAN',
  775. 'SHOWPLAN_ALL',
  776. 'SHOWPLAN_TEXT',
  777. 'SHOWPLAN_XML',
  778. 'SHRINKDATABASE',
  779. 'SHRINKFILE',
  780. 'SHUTDOWN',
  781. 'SID',
  782. 'SIGNATURE',
  783. 'SIMPLE',
  784. 'SINGLE_BLOB',
  785. 'SINGLE_CLOB',
  786. 'SINGLE_NCLOB',
  787. 'SINGLE_USER',
  788. 'SINGLETON',
  789. 'SIZE',
  790. 'SKIP',
  791. 'SMALLDATETIME',
  792. 'SMALLINT',
  793. 'SMALLMONEY',
  794. 'SNAPSHOT',
  795. 'SORT_IN_TEMPDB',
  796. 'SOURCE',
  797. 'SPARSE',
  798. 'SPATIAL',
  799. 'SPATIAL_WINDOW_MAX_CELLS',
  800. 'SPECIFICATION',
  801. 'SPLIT',
  802. 'SQL',
  803. 'SQL_VARIANT',
  804. 'SQLPERF',
  805. 'STANDBY',
  806. 'START',
  807. 'START_DATE',
  808. 'STARTED',
  809. 'STARTUP_STATE',
  810. 'STAT_HEADER',
  811. 'STATE',
  812. 'STATEMENT',
  813. 'STATIC',
  814. 'STATISTICAL_SEMANTICS',
  815. 'STATISTICS',
  816. 'STATISTICS_INCREMENTAL',
  817. 'STATISTICS_NORECOMPUTE',
  818. 'STATS',
  819. 'STATS_STREAM',
  820. 'STATUS',
  821. 'STATUSONLY',
  822. 'STOP',
  823. 'STOP_ON_ERROR',
  824. 'STOPAT',
  825. 'STOPATMARK',
  826. 'STOPBEFOREMARK',
  827. 'STOPLIST',
  828. 'STOPPED',
  829. 'SUBJECT',
  830. 'SUBSCRIPTION',
  831. 'SUPPORTED',
  832. 'SUSPEND',
  833. 'SWITCH',
  834. 'SYMMETRIC',
  835. 'SYNCHRONOUS_COMMIT',
  836. 'SYNONYM',
  837. 'SYSNAME',
  838. 'SYSTEM',
  839. 'TABLE',
  840. 'TABLERESULTS',
  841. 'TABLESAMPLE',
  842. 'TABLOCK',
  843. 'TABLOCKX',
  844. 'TAKE',
  845. 'TAPE',
  846. 'TARGET',
  847. 'TARGET_RECOVERY_TIME',
  848. 'TB',
  849. 'TCP',
  850. 'TEXT',
  851. 'TEXTIMAGE_ON',
  852. 'TEXTSIZE',
  853. 'THEN',
  854. 'THESAURUS',
  855. 'THROW',
  856. 'TIES',
  857. 'TIME',
  858. 'TIMEOUT',
  859. 'TIMER',
  860. 'TIMESTAMP',
  861. 'TINYINT',
  862. 'TO',
  863. 'TOP',
  864. 'TORN_PAGE_DETECTION',
  865. 'TRACEOFF',
  866. 'TRACEON',
  867. 'TRACESTATUS',
  868. 'TRACK_CAUSALITY',
  869. 'TRACK_COLUMNS_UPDATED',
  870. 'TRAN',
  871. 'TRANSACTION',
  872. 'TRANSFER',
  873. 'TRANSFORM_NOISE_WORDS',
  874. 'TRIGGER',
  875. 'TRIPLE_DES',
  876. 'TRIPLE_DES_3KEY',
  877. 'TRUE',
  878. 'TRUNCATE',
  879. 'TRUNCATEONLY',
  880. 'TRUSTWORTHY',
  881. 'TRY',
  882. 'TSQL',
  883. 'TWO_DIGIT_YEAR_CUTOFF',
  884. 'TYPE',
  885. 'TYPE_WARNING',
  886. 'UNBOUNDED',
  887. 'UNCHECKED',
  888. 'UNCOMMITTED',
  889. 'UNDEFINED',
  890. 'UNIQUE',
  891. 'UNIQUEIDENTIFIER',
  892. 'UNKNOWN',
  893. 'UNLIMITED',
  894. 'UNLOAD',
  895. 'UNSAFE',
  896. 'UPDATE',
  897. 'UPDATETEXT',
  898. 'UPDATEUSAGE',
  899. 'UPDLOCK',
  900. 'URL',
  901. 'USE',
  902. 'USED',
  903. 'USER',
  904. 'USEROPTIONS',
  905. 'USING',
  906. 'VALID_XML',
  907. 'VALIDATION',
  908. 'VALUE',
  909. 'VALUES',
  910. 'VARBINARY',
  911. 'VARCHAR',
  912. 'VARYING',
  913. 'VERIFYONLY',
  914. 'VERSION',
  915. 'VIEW',
  916. 'VIEW_METADATA',
  917. 'VIEWS',
  918. 'VISIBILITY',
  919. 'WAIT_AT_LOW_PRIORITY',
  920. 'WAITFOR',
  921. 'WEEK',
  922. 'WEIGHT',
  923. 'WELL_FORMED_XML',
  924. 'WHEN',
  925. 'WHERE',
  926. 'WHILE',
  927. 'WINDOWS',
  928. 'WITH',
  929. 'WITHIN',
  930. 'WITHOUT',
  931. 'WITNESS',
  932. 'WORK',
  933. 'WORKLOAD',
  934. 'WRITETEXT',
  935. 'XACT_ABORT',
  936. 'XLOCK',
  937. 'XMAX',
  938. 'XMIN',
  939. 'XML',
  940. 'XMLDATA',
  941. 'XMLNAMESPACES',
  942. 'XMLSCHEMA',
  943. 'XQUERY',
  944. 'XSINIL',
  945. 'YEAR',
  946. 'YMAX',
  947. 'YMIN'
  948. ],
  949. operators: [
  950. // Logical
  951. 'ALL',
  952. 'AND',
  953. 'ANY',
  954. 'BETWEEN',
  955. 'EXISTS',
  956. 'IN',
  957. 'LIKE',
  958. 'NOT',
  959. 'OR',
  960. 'SOME',
  961. // Set
  962. 'EXCEPT',
  963. 'INTERSECT',
  964. 'UNION',
  965. // Join
  966. 'APPLY',
  967. 'CROSS',
  968. 'FULL',
  969. 'INNER',
  970. 'JOIN',
  971. 'LEFT',
  972. 'OUTER',
  973. 'RIGHT',
  974. // Predicates
  975. 'CONTAINS',
  976. 'FREETEXT',
  977. 'IS',
  978. 'NULL',
  979. // Pivoting
  980. 'PIVOT',
  981. 'UNPIVOT',
  982. // Merging
  983. 'MATCHED'
  984. ],
  985. builtinFunctions: [
  986. // Aggregate
  987. 'AVG',
  988. 'CHECKSUM_AGG',
  989. 'COUNT',
  990. 'COUNT_BIG',
  991. 'GROUPING',
  992. 'GROUPING_ID',
  993. 'MAX',
  994. 'MIN',
  995. 'SUM',
  996. 'STDEV',
  997. 'STDEVP',
  998. 'VAR',
  999. 'VARP',
  1000. // Analytic
  1001. 'CUME_DIST',
  1002. 'FIRST_VALUE',
  1003. 'LAG',
  1004. 'LAST_VALUE',
  1005. 'LEAD',
  1006. 'PERCENTILE_CONT',
  1007. 'PERCENTILE_DISC',
  1008. 'PERCENT_RANK',
  1009. // Collation
  1010. 'COLLATE',
  1011. 'COLLATIONPROPERTY',
  1012. 'TERTIARY_WEIGHTS',
  1013. // Azure
  1014. 'FEDERATION_FILTERING_VALUE',
  1015. // Conversion
  1016. 'CAST',
  1017. 'CONVERT',
  1018. 'PARSE',
  1019. 'TRY_CAST',
  1020. 'TRY_CONVERT',
  1021. 'TRY_PARSE',
  1022. // Cryptographic
  1023. 'ASYMKEY_ID',
  1024. 'ASYMKEYPROPERTY',
  1025. 'CERTPROPERTY',
  1026. 'CERT_ID',
  1027. 'CRYPT_GEN_RANDOM',
  1028. 'DECRYPTBYASYMKEY',
  1029. 'DECRYPTBYCERT',
  1030. 'DECRYPTBYKEY',
  1031. 'DECRYPTBYKEYAUTOASYMKEY',
  1032. 'DECRYPTBYKEYAUTOCERT',
  1033. 'DECRYPTBYPASSPHRASE',
  1034. 'ENCRYPTBYASYMKEY',
  1035. 'ENCRYPTBYCERT',
  1036. 'ENCRYPTBYKEY',
  1037. 'ENCRYPTBYPASSPHRASE',
  1038. 'HASHBYTES',
  1039. 'IS_OBJECTSIGNED',
  1040. 'KEY_GUID',
  1041. 'KEY_ID',
  1042. 'KEY_NAME',
  1043. 'SIGNBYASYMKEY',
  1044. 'SIGNBYCERT',
  1045. 'SYMKEYPROPERTY',
  1046. 'VERIFYSIGNEDBYCERT',
  1047. 'VERIFYSIGNEDBYASYMKEY',
  1048. // Cursor
  1049. 'CURSOR_STATUS',
  1050. // Datatype
  1051. 'DATALENGTH',
  1052. 'IDENT_CURRENT',
  1053. 'IDENT_INCR',
  1054. 'IDENT_SEED',
  1055. 'IDENTITY',
  1056. 'SQL_VARIANT_PROPERTY',
  1057. // Datetime
  1058. 'CURRENT_TIMESTAMP',
  1059. 'DATEADD',
  1060. 'DATEDIFF',
  1061. 'DATEFROMPARTS',
  1062. 'DATENAME',
  1063. 'DATEPART',
  1064. 'DATETIME2FROMPARTS',
  1065. 'DATETIMEFROMPARTS',
  1066. 'DATETIMEOFFSETFROMPARTS',
  1067. 'DAY',
  1068. 'EOMONTH',
  1069. 'GETDATE',
  1070. 'GETUTCDATE',
  1071. 'ISDATE',
  1072. 'MONTH',
  1073. 'SMALLDATETIMEFROMPARTS',
  1074. 'SWITCHOFFSET',
  1075. 'SYSDATETIME',
  1076. 'SYSDATETIMEOFFSET',
  1077. 'SYSUTCDATETIME',
  1078. 'TIMEFROMPARTS',
  1079. 'TODATETIMEOFFSET',
  1080. 'YEAR',
  1081. // Logical
  1082. 'CHOOSE',
  1083. 'COALESCE',
  1084. 'IIF',
  1085. 'NULLIF',
  1086. // Mathematical
  1087. 'ABS',
  1088. 'ACOS',
  1089. 'ASIN',
  1090. 'ATAN',
  1091. 'ATN2',
  1092. 'CEILING',
  1093. 'COS',
  1094. 'COT',
  1095. 'DEGREES',
  1096. 'EXP',
  1097. 'FLOOR',
  1098. 'LOG',
  1099. 'LOG10',
  1100. 'PI',
  1101. 'POWER',
  1102. 'RADIANS',
  1103. 'RAND',
  1104. 'ROUND',
  1105. 'SIGN',
  1106. 'SIN',
  1107. 'SQRT',
  1108. 'SQUARE',
  1109. 'TAN',
  1110. // Metadata
  1111. 'APP_NAME',
  1112. 'APPLOCK_MODE',
  1113. 'APPLOCK_TEST',
  1114. 'ASSEMBLYPROPERTY',
  1115. 'COL_LENGTH',
  1116. 'COL_NAME',
  1117. 'COLUMNPROPERTY',
  1118. 'DATABASE_PRINCIPAL_ID',
  1119. 'DATABASEPROPERTYEX',
  1120. 'DB_ID',
  1121. 'DB_NAME',
  1122. 'FILE_ID',
  1123. 'FILE_IDEX',
  1124. 'FILE_NAME',
  1125. 'FILEGROUP_ID',
  1126. 'FILEGROUP_NAME',
  1127. 'FILEGROUPPROPERTY',
  1128. 'FILEPROPERTY',
  1129. 'FULLTEXTCATALOGPROPERTY',
  1130. 'FULLTEXTSERVICEPROPERTY',
  1131. 'INDEX_COL',
  1132. 'INDEXKEY_PROPERTY',
  1133. 'INDEXPROPERTY',
  1134. 'OBJECT_DEFINITION',
  1135. 'OBJECT_ID',
  1136. 'OBJECT_NAME',
  1137. 'OBJECT_SCHEMA_NAME',
  1138. 'OBJECTPROPERTY',
  1139. 'OBJECTPROPERTYEX',
  1140. 'ORIGINAL_DB_NAME',
  1141. 'PARSENAME',
  1142. 'SCHEMA_ID',
  1143. 'SCHEMA_NAME',
  1144. 'SCOPE_IDENTITY',
  1145. 'SERVERPROPERTY',
  1146. 'STATS_DATE',
  1147. 'TYPE_ID',
  1148. 'TYPE_NAME',
  1149. 'TYPEPROPERTY',
  1150. // Ranking
  1151. 'DENSE_RANK',
  1152. 'NTILE',
  1153. 'RANK',
  1154. 'ROW_NUMBER',
  1155. // Replication
  1156. 'PUBLISHINGSERVERNAME',
  1157. // Rowset
  1158. 'OPENDATASOURCE',
  1159. 'OPENQUERY',
  1160. 'OPENROWSET',
  1161. 'OPENXML',
  1162. // Security
  1163. 'CERTENCODED',
  1164. 'CERTPRIVATEKEY',
  1165. 'CURRENT_USER',
  1166. 'HAS_DBACCESS',
  1167. 'HAS_PERMS_BY_NAME',
  1168. 'IS_MEMBER',
  1169. 'IS_ROLEMEMBER',
  1170. 'IS_SRVROLEMEMBER',
  1171. 'LOGINPROPERTY',
  1172. 'ORIGINAL_LOGIN',
  1173. 'PERMISSIONS',
  1174. 'PWDENCRYPT',
  1175. 'PWDCOMPARE',
  1176. 'SESSION_USER',
  1177. 'SESSIONPROPERTY',
  1178. 'SUSER_ID',
  1179. 'SUSER_NAME',
  1180. 'SUSER_SID',
  1181. 'SUSER_SNAME',
  1182. 'SYSTEM_USER',
  1183. 'USER',
  1184. 'USER_ID',
  1185. 'USER_NAME',
  1186. // String
  1187. 'ASCII',
  1188. 'CHAR',
  1189. 'CHARINDEX',
  1190. 'CONCAT',
  1191. 'DIFFERENCE',
  1192. 'FORMAT',
  1193. 'LEFT',
  1194. 'LEN',
  1195. 'LOWER',
  1196. 'LTRIM',
  1197. 'NCHAR',
  1198. 'PATINDEX',
  1199. 'QUOTENAME',
  1200. 'REPLACE',
  1201. 'REPLICATE',
  1202. 'REVERSE',
  1203. 'RIGHT',
  1204. 'RTRIM',
  1205. 'SOUNDEX',
  1206. 'SPACE',
  1207. 'STR',
  1208. 'STUFF',
  1209. 'SUBSTRING',
  1210. 'UNICODE',
  1211. 'UPPER',
  1212. // System
  1213. 'BINARY_CHECKSUM',
  1214. 'CHECKSUM',
  1215. 'CONNECTIONPROPERTY',
  1216. 'CONTEXT_INFO',
  1217. 'CURRENT_REQUEST_ID',
  1218. 'ERROR_LINE',
  1219. 'ERROR_NUMBER',
  1220. 'ERROR_MESSAGE',
  1221. 'ERROR_PROCEDURE',
  1222. 'ERROR_SEVERITY',
  1223. 'ERROR_STATE',
  1224. 'FORMATMESSAGE',
  1225. 'GETANSINULL',
  1226. 'GET_FILESTREAM_TRANSACTION_CONTEXT',
  1227. 'HOST_ID',
  1228. 'HOST_NAME',
  1229. 'ISNULL',
  1230. 'ISNUMERIC',
  1231. 'MIN_ACTIVE_ROWVERSION',
  1232. 'NEWID',
  1233. 'NEWSEQUENTIALID',
  1234. 'ROWCOUNT_BIG',
  1235. 'XACT_STATE',
  1236. // TextImage
  1237. 'TEXTPTR',
  1238. 'TEXTVALID',
  1239. // Trigger
  1240. 'COLUMNS_UPDATED',
  1241. 'EVENTDATA',
  1242. 'TRIGGER_NESTLEVEL',
  1243. 'UPDATE',
  1244. // ChangeTracking
  1245. 'CHANGETABLE',
  1246. 'CHANGE_TRACKING_CONTEXT',
  1247. 'CHANGE_TRACKING_CURRENT_VERSION',
  1248. 'CHANGE_TRACKING_IS_COLUMN_IN_MASK',
  1249. 'CHANGE_TRACKING_MIN_VALID_VERSION',
  1250. // FullTextSearch
  1251. 'CONTAINSTABLE',
  1252. 'FREETEXTTABLE',
  1253. // SemanticTextSearch
  1254. 'SEMANTICKEYPHRASETABLE',
  1255. 'SEMANTICSIMILARITYDETAILSTABLE',
  1256. 'SEMANTICSIMILARITYTABLE',
  1257. // FileStream
  1258. 'FILETABLEROOTPATH',
  1259. 'GETFILENAMESPACEPATH',
  1260. 'GETPATHLOCATOR',
  1261. 'PATHNAME',
  1262. // ServiceBroker
  1263. 'GET_TRANSMISSION_STATUS'
  1264. ],
  1265. builtinVariables: [
  1266. // Configuration
  1267. '@@DATEFIRST',
  1268. '@@DBTS',
  1269. '@@LANGID',
  1270. '@@LANGUAGE',
  1271. '@@LOCK_TIMEOUT',
  1272. '@@MAX_CONNECTIONS',
  1273. '@@MAX_PRECISION',
  1274. '@@NESTLEVEL',
  1275. '@@OPTIONS',
  1276. '@@REMSERVER',
  1277. '@@SERVERNAME',
  1278. '@@SERVICENAME',
  1279. '@@SPID',
  1280. '@@TEXTSIZE',
  1281. '@@VERSION',
  1282. // Cursor
  1283. '@@CURSOR_ROWS',
  1284. '@@FETCH_STATUS',
  1285. // Datetime
  1286. '@@DATEFIRST',
  1287. // Metadata
  1288. '@@PROCID',
  1289. // System
  1290. '@@ERROR',
  1291. '@@IDENTITY',
  1292. '@@ROWCOUNT',
  1293. '@@TRANCOUNT',
  1294. // Stats
  1295. '@@CONNECTIONS',
  1296. '@@CPU_BUSY',
  1297. '@@IDLE',
  1298. '@@IO_BUSY',
  1299. '@@PACKET_ERRORS',
  1300. '@@PACK_RECEIVED',
  1301. '@@PACK_SENT',
  1302. '@@TIMETICKS',
  1303. '@@TOTAL_ERRORS',
  1304. '@@TOTAL_READ',
  1305. '@@TOTAL_WRITE'
  1306. ],
  1307. pseudoColumns: ['$ACTION', '$IDENTITY', '$ROWGUID', '$PARTITION'],
  1308. tokenizer: {
  1309. root: [
  1310. { include: '@comments' },
  1311. { include: '@whitespace' },
  1312. { include: '@pseudoColumns' },
  1313. { include: '@numbers' },
  1314. { include: '@strings' },
  1315. { include: '@complexIdentifiers' },
  1316. { include: '@scopes' },
  1317. [/[;,.]/, 'delimiter'],
  1318. [/[()]/, '@brackets'],
  1319. [
  1320. /[\w@#$]+/,
  1321. {
  1322. cases: {
  1323. '@keywords': 'keyword',
  1324. '@operators': 'operator',
  1325. '@builtinVariables': 'predefined',
  1326. '@builtinFunctions': 'predefined',
  1327. '@default': 'identifier'
  1328. }
  1329. }
  1330. ],
  1331. [/[<>=!%&+\-*/|~^]/, 'operator']
  1332. ],
  1333. whitespace: [[/\s+/, 'white']],
  1334. comments: [
  1335. [/--+.*/, 'comment'],
  1336. [/\/\*/, { token: 'comment.quote', next: '@comment' }]
  1337. ],
  1338. comment: [
  1339. [/[^*/]+/, 'comment'],
  1340. // Not supporting nested comments, as nested comments seem to not be standard?
  1341. // i.e. http://stackoverflow.com/questions/728172/are-there-multiline-comment-delimiters-in-sql-that-are-vendor-agnostic
  1342. // [/\/\*/, { token: 'comment.quote', next: '@push' }], // nested comment not allowed :-(
  1343. [/\*\//, { token: 'comment.quote', next: '@pop' }],
  1344. [/./, 'comment']
  1345. ],
  1346. pseudoColumns: [
  1347. [
  1348. /[$][A-Za-z_][\w@#$]*/,
  1349. {
  1350. cases: {
  1351. '@pseudoColumns': 'predefined',
  1352. '@default': 'identifier'
  1353. }
  1354. }
  1355. ]
  1356. ],
  1357. numbers: [
  1358. [/0[xX][0-9a-fA-F]*/, 'number'],
  1359. [/[$][+-]*\d*(\.\d*)?/, 'number'],
  1360. [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number']
  1361. ],
  1362. strings: [
  1363. [/N'/, { token: 'string', next: '@string' }],
  1364. [/'/, { token: 'string', next: '@string' }]
  1365. ],
  1366. string: [
  1367. [/[^']+/, 'string'],
  1368. [/''/, 'string'],
  1369. [/'/, { token: 'string', next: '@pop' }]
  1370. ],
  1371. complexIdentifiers: [
  1372. [/\[/, { token: 'identifier.quote', next: '@bracketedIdentifier' }],
  1373. [/"/, { token: 'identifier.quote', next: '@quotedIdentifier' }]
  1374. ],
  1375. bracketedIdentifier: [
  1376. [/[^\]]+/, 'identifier'],
  1377. [/]]/, 'identifier'],
  1378. [/]/, { token: 'identifier.quote', next: '@pop' }]
  1379. ],
  1380. quotedIdentifier: [
  1381. [/[^"]+/, 'identifier'],
  1382. [/""/, 'identifier'],
  1383. [/"/, { token: 'identifier.quote', next: '@pop' }]
  1384. ],
  1385. scopes: [
  1386. [/BEGIN\s+(DISTRIBUTED\s+)?TRAN(SACTION)?\b/i, 'keyword'],
  1387. [/BEGIN\s+TRY\b/i, { token: 'keyword.try' }],
  1388. [/END\s+TRY\b/i, { token: 'keyword.try' }],
  1389. [/BEGIN\s+CATCH\b/i, { token: 'keyword.catch' }],
  1390. [/END\s+CATCH\b/i, { token: 'keyword.catch' }],
  1391. [/(BEGIN|CASE)\b/i, { token: 'keyword.block' }],
  1392. [/END\b/i, { token: 'keyword.block' }],
  1393. [/WHEN\b/i, { token: 'keyword.choice' }],
  1394. [/THEN\b/i, { token: 'keyword.choice' }]
  1395. ]
  1396. }
  1397. };