sql.js 37 KB

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