pgsql.js861 lines · main
1'use strict'
2/*!-----------------------------------------------------------------------------
3 * Copyright (c) Microsoft Corporation. All rights reserved.
4 * Version: 0.37.0(14a92401d7aff24ad84578a4c8b9a701ff533a84)
5 * Released under the MIT license
6 * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
7 *-----------------------------------------------------------------------------*/
8define('vs/basic-languages/pgsql/pgsql', ['require', 'require'], (require) => {
9 var moduleExports = (() => {
10 var r = Object.defineProperty
11 var o = Object.getOwnPropertyDescriptor
12 var i = Object.getOwnPropertyNames
13 var n = Object.prototype.hasOwnProperty
14 var p = (_, e) => {
15 for (var s in e) r(_, s, { get: e[s], enumerable: !0 })
16 },
17 l = (_, e, s, a) => {
18 if ((e && typeof e == 'object') || typeof e == 'function')
19 for (let t of i(e))
20 !n.call(_, t) &&
21 t !== s &&
22 r(_, t, { get: () => e[t], enumerable: !(a = o(e, t)) || a.enumerable })
23 return _
24 }
25 var g = (_) => l(r({}, '__esModule', { value: !0 }), _)
26 var m = {}
27 p(m, { conf: () => c, language: () => d })
28 var c = {
29 comments: { lineComment: '--', blockComment: ['/*', '*/'] },
30 brackets: [
31 ['{', '}'],
32 ['[', ']'],
33 ['(', ')'],
34 ],
35 autoClosingPairs: [
36 { open: '{', close: '}' },
37 { open: '[', close: ']' },
38 { open: '(', close: ')' },
39 { open: '"', close: '"' },
40 { open: "'", close: "'" },
41 ],
42 surroundingPairs: [
43 { open: '{', close: '}' },
44 { open: '[', close: ']' },
45 { open: '(', close: ')' },
46 { open: '"', close: '"' },
47 { open: "'", close: "'" },
48 ],
49 },
50 d = {
51 defaultToken: '',
52 tokenPostfix: '.sql',
53 ignoreCase: !0,
54 brackets: [
55 { open: '[', close: ']', token: 'delimiter.square' },
56 { open: '(', close: ')', token: 'delimiter.parenthesis' },
57 ],
58 keywords: [
59 'ALL',
60 'ANALYSE',
61 'ANALYZE',
62 'AND',
63 'ANY',
64 'ARRAY',
65 'AS',
66 'ASC',
67 'ASYMMETRIC',
68 'AUTHORIZATION',
69 'BINARY',
70 'BOTH',
71 'CASE',
72 'CAST',
73 'CHECK',
74 'COLLATE',
75 'COLLATION',
76 'COLUMN',
77 'CONCURRENTLY',
78 'CONSTRAINT',
79 'CREATE',
80 'CROSS',
81 'CURRENT_CATALOG',
82 'CURRENT_DATE',
83 'CURRENT_ROLE',
84 'CURRENT_SCHEMA',
85 'CURRENT_TIME',
86 'CURRENT_TIMESTAMP',
87 'CURRENT_USER',
88 'DEFAULT',
89 'DEFERRABLE',
90 'DESC',
91 'DISTINCT',
92 'DO',
93 'ELSE',
94 'END',
95 'EXCEPT',
96 'FALSE',
97 'FETCH',
98 'FOR',
99 'FOREIGN',
100 'FREEZE',
101 'FROM',
102 'FULL',
103 'GRANT',
104 'GROUP',
105 'HAVING',
106 'ILIKE',
107 'IN',
108 'INITIALLY',
109 'INNER',
110 'INTERSECT',
111 'INTO',
112 'IS',
113 'ISNULL',
114 'JOIN',
115 'LATERAL',
116 'LEADING',
117 'LEFT',
118 'LIKE',
119 'LIMIT',
120 'LOCALTIME',
121 'LOCALTIMESTAMP',
122 'NATURAL',
123 'NOT',
124 'NOTNULL',
125 'NULL',
126 'OFFSET',
127 'ON',
128 'ONLY',
129 'OR',
130 'ORDER',
131 'OUTER',
132 'OVERLAPS',
133 'PLACING',
134 'PRIMARY',
135 'REFERENCES',
136 'RETURNING',
137 'RIGHT',
138 'SELECT',
139 'SESSION_USER',
140 'SIMILAR',
141 'SOME',
142 'SYMMETRIC',
143 'TABLE',
144 'TABLESAMPLE',
145 'THEN',
146 'TO',
147 'TRAILING',
148 'TRUE',
149 'UNION',
150 'UNIQUE',
151 'USER',
152 'USING',
153 'VARIADIC',
154 'VERBOSE',
155 'WHEN',
156 'WHERE',
157 'WINDOW',
158 'WITH',
159 ],
160 operators: [
161 'AND',
162 'BETWEEN',
163 'IN',
164 'LIKE',
165 'NOT',
166 'OR',
167 'IS',
168 'NULL',
169 'INTERSECT',
170 'UNION',
171 'INNER',
172 'JOIN',
173 'LEFT',
174 'OUTER',
175 'RIGHT',
176 ],
177 builtinFunctions: [
178 'abbrev',
179 'abs',
180 'acldefault',
181 'aclexplode',
182 'acos',
183 'acosd',
184 'acosh',
185 'age',
186 'any',
187 'area',
188 'array_agg',
189 'array_append',
190 'array_cat',
191 'array_dims',
192 'array_fill',
193 'array_length',
194 'array_lower',
195 'array_ndims',
196 'array_position',
197 'array_positions',
198 'array_prepend',
199 'array_remove',
200 'array_replace',
201 'array_to_json',
202 'array_to_string',
203 'array_to_tsvector',
204 'array_upper',
205 'ascii',
206 'asin',
207 'asind',
208 'asinh',
209 'atan',
210 'atan2',
211 'atan2d',
212 'atand',
213 'atanh',
214 'avg',
215 'bit',
216 'bit_and',
217 'bit_count',
218 'bit_length',
219 'bit_or',
220 'bit_xor',
221 'bool_and',
222 'bool_or',
223 'bound_box',
224 'box',
225 'brin_desummarize_range',
226 'brin_summarize_new_values',
227 'brin_summarize_range',
228 'broadcast',
229 'btrim',
230 'cardinality',
231 'cbrt',
232 'ceil',
233 'ceiling',
234 'center',
235 'char_length',
236 'character_length',
237 'chr',
238 'circle',
239 'clock_timestamp',
240 'coalesce',
241 'col_description',
242 'concat',
243 'concat_ws',
244 'convert',
245 'convert_from',
246 'convert_to',
247 'corr',
248 'cos',
249 'cosd',
250 'cosh',
251 'cot',
252 'cotd',
253 'count',
254 'covar_pop',
255 'covar_samp',
256 'cume_dist',
257 'current_catalog',
258 'current_database',
259 'current_date',
260 'current_query',
261 'current_role',
262 'current_schema',
263 'current_schemas',
264 'current_setting',
265 'current_time',
266 'current_timestamp',
267 'current_user',
268 'currval',
269 'cursor_to_xml',
270 'cursor_to_xmlschema',
271 'date_bin',
272 'date_part',
273 'date_trunc',
274 'database_to_xml',
275 'database_to_xml_and_xmlschema',
276 'database_to_xmlschema',
277 'decode',
278 'degrees',
279 'dense_rank',
280 'diagonal',
281 'diameter',
282 'div',
283 'encode',
284 'enum_first',
285 'enum_last',
286 'enum_range',
287 'every',
288 'exp',
289 'extract',
290 'factorial',
291 'family',
292 'first_value',
293 'floor',
294 'format',
295 'format_type',
296 'gcd',
297 'gen_random_uuid',
298 'generate_series',
299 'generate_subscripts',
300 'get_bit',
301 'get_byte',
302 'get_current_ts_config',
303 'gin_clean_pending_list',
304 'greatest',
305 'grouping',
306 'has_any_column_privilege',
307 'has_column_privilege',
308 'has_database_privilege',
309 'has_foreign_data_wrapper_privilege',
310 'has_function_privilege',
311 'has_language_privilege',
312 'has_schema_privilege',
313 'has_sequence_privilege',
314 'has_server_privilege',
315 'has_table_privilege',
316 'has_tablespace_privilege',
317 'has_type_privilege',
318 'height',
319 'host',
320 'hostmask',
321 'inet_client_addr',
322 'inet_client_port',
323 'inet_merge',
324 'inet_same_family',
325 'inet_server_addr',
326 'inet_server_port',
327 'initcap',
328 'isclosed',
329 'isempty',
330 'isfinite',
331 'isopen',
332 'json_agg',
333 'json_array_elements',
334 'json_array_elements_text',
335 'json_array_length',
336 'json_build_array',
337 'json_build_object',
338 'json_each',
339 'json_each_text',
340 'json_extract_path',
341 'json_extract_path_text',
342 'json_object',
343 'json_object_agg',
344 'json_object_keys',
345 'json_populate_record',
346 'json_populate_recordset',
347 'json_strip_nulls',
348 'json_to_record',
349 'json_to_recordset',
350 'json_to_tsvector',
351 'json_typeof',
352 'jsonb_agg',
353 'jsonb_array_elements',
354 'jsonb_array_elements_text',
355 'jsonb_array_length',
356 'jsonb_build_array',
357 'jsonb_build_object',
358 'jsonb_each',
359 'jsonb_each_text',
360 'jsonb_extract_path',
361 'jsonb_extract_path_text',
362 'jsonb_insert',
363 'jsonb_object',
364 'jsonb_object_agg',
365 'jsonb_object_keys',
366 'jsonb_path_exists',
367 'jsonb_path_match',
368 'jsonb_path_query',
369 'jsonb_path_query_array',
370 'jsonb_path_exists_tz',
371 'jsonb_path_query_first',
372 'jsonb_path_query_array_tz',
373 'jsonb_path_query_first_tz',
374 'jsonb_path_query_tz',
375 'jsonb_path_match_tz',
376 'jsonb_populate_record',
377 'jsonb_populate_recordset',
378 'jsonb_pretty',
379 'jsonb_set',
380 'jsonb_set_lax',
381 'jsonb_strip_nulls',
382 'jsonb_to_record',
383 'jsonb_to_recordset',
384 'jsonb_to_tsvector',
385 'jsonb_typeof',
386 'justify_days',
387 'justify_hours',
388 'justify_interval',
389 'lag',
390 'last_value',
391 'lastval',
392 'lcm',
393 'lead',
394 'least',
395 'left',
396 'length',
397 'line',
398 'ln',
399 'localtime',
400 'localtimestamp',
401 'log',
402 'log10',
403 'lower',
404 'lower_inc',
405 'lower_inf',
406 'lpad',
407 'lseg',
408 'ltrim',
409 'macaddr8_set7bit',
410 'make_date',
411 'make_interval',
412 'make_time',
413 'make_timestamp',
414 'make_timestamptz',
415 'makeaclitem',
416 'masklen',
417 'max',
418 'md5',
419 'min',
420 'min_scale',
421 'mod',
422 'mode',
423 'multirange',
424 'netmask',
425 'network',
426 'nextval',
427 'normalize',
428 'now',
429 'npoints',
430 'nth_value',
431 'ntile',
432 'nullif',
433 'num_nonnulls',
434 'num_nulls',
435 'numnode',
436 'obj_description',
437 'octet_length',
438 'overlay',
439 'parse_ident',
440 'path',
441 'pclose',
442 'percent_rank',
443 'percentile_cont',
444 'percentile_disc',
445 'pg_advisory_lock',
446 'pg_advisory_lock_shared',
447 'pg_advisory_unlock',
448 'pg_advisory_unlock_all',
449 'pg_advisory_unlock_shared',
450 'pg_advisory_xact_lock',
451 'pg_advisory_xact_lock_shared',
452 'pg_backend_pid',
453 'pg_backup_start_time',
454 'pg_blocking_pids',
455 'pg_cancel_backend',
456 'pg_client_encoding',
457 'pg_collation_actual_version',
458 'pg_collation_is_visible',
459 'pg_column_compression',
460 'pg_column_size',
461 'pg_conf_load_time',
462 'pg_control_checkpoint',
463 'pg_control_init',
464 'pg_control_recovery',
465 'pg_control_system',
466 'pg_conversion_is_visible',
467 'pg_copy_logical_replication_slot',
468 'pg_copy_physical_replication_slot',
469 'pg_create_logical_replication_slot',
470 'pg_create_physical_replication_slot',
471 'pg_create_restore_point',
472 'pg_current_logfile',
473 'pg_current_snapshot',
474 'pg_current_wal_flush_lsn',
475 'pg_current_wal_insert_lsn',
476 'pg_current_wal_lsn',
477 'pg_current_xact_id',
478 'pg_current_xact_id_if_assigned',
479 'pg_current_xlog_flush_location',
480 'pg_current_xlog_insert_location',
481 'pg_current_xlog_location',
482 'pg_database_size',
483 'pg_describe_object',
484 'pg_drop_replication_slot',
485 'pg_event_trigger_ddl_commands',
486 'pg_event_trigger_dropped_objects',
487 'pg_event_trigger_table_rewrite_oid',
488 'pg_event_trigger_table_rewrite_reason',
489 'pg_export_snapshot',
490 'pg_filenode_relation',
491 'pg_function_is_visible',
492 'pg_get_catalog_foreign_keys',
493 'pg_get_constraintdef',
494 'pg_get_expr',
495 'pg_get_function_arguments',
496 'pg_get_function_identity_arguments',
497 'pg_get_function_result',
498 'pg_get_functiondef',
499 'pg_get_indexdef',
500 'pg_get_keywords',
501 'pg_get_object_address',
502 'pg_get_owned_sequence',
503 'pg_get_ruledef',
504 'pg_get_serial_sequence',
505 'pg_get_statisticsobjdef',
506 'pg_get_triggerdef',
507 'pg_get_userbyid',
508 'pg_get_viewdef',
509 'pg_get_wal_replay_pause_state',
510 'pg_has_role',
511 'pg_identify_object',
512 'pg_identify_object_as_address',
513 'pg_import_system_collations',
514 'pg_index_column_has_property',
515 'pg_index_has_property',
516 'pg_indexam_has_property',
517 'pg_indexes_size',
518 'pg_is_in_backup',
519 'pg_is_in_recovery',
520 'pg_is_other_temp_schema',
521 'pg_is_wal_replay_paused',
522 'pg_is_xlog_replay_paused',
523 'pg_jit_available',
524 'pg_last_committed_xact',
525 'pg_last_wal_receive_lsn',
526 'pg_last_wal_replay_lsn',
527 'pg_last_xact_replay_timestamp',
528 'pg_last_xlog_receive_location',
529 'pg_last_xlog_replay_location',
530 'pg_listening_channels',
531 'pg_log_backend_memory_contexts',
532 'pg_logical_emit_message',
533 'pg_logical_slot_get_binary_changes',
534 'pg_logical_slot_get_changes',
535 'pg_logical_slot_peek_binary_changes',
536 'pg_logical_slot_peek_changes',
537 'pg_ls_archive_statusdir',
538 'pg_ls_dir',
539 'pg_ls_logdir',
540 'pg_ls_tmpdir',
541 'pg_ls_waldir',
542 'pg_mcv_list_items',
543 'pg_my_temp_schema',
544 'pg_notification_queue_usage',
545 'pg_opclass_is_visible',
546 'pg_operator_is_visible',
547 'pg_opfamily_is_visible',
548 'pg_options_to_table',
549 'pg_partition_ancestors',
550 'pg_partition_root',
551 'pg_partition_tree',
552 'pg_postmaster_start_time',
553 'pg_promote',
554 'pg_read_binary_file',
555 'pg_read_file',
556 'pg_relation_filenode',
557 'pg_relation_filepath',
558 'pg_relation_size',
559 'pg_reload_conf',
560 'pg_replication_origin_advance',
561 'pg_replication_origin_create',
562 'pg_replication_origin_drop',
563 'pg_replication_origin_oid',
564 'pg_replication_origin_progress',
565 'pg_replication_origin_session_is_setup',
566 'pg_replication_origin_session_progress',
567 'pg_replication_origin_session_reset',
568 'pg_replication_origin_session_setup',
569 'pg_replication_origin_xact_reset',
570 'pg_replication_origin_xact_setup',
571 'pg_replication_slot_advance',
572 'pg_rotate_logfile',
573 'pg_safe_snapshot_blocking_pids',
574 'pg_size_bytes',
575 'pg_size_pretty',
576 'pg_sleep',
577 'pg_sleep_for',
578 'pg_sleep_until',
579 'pg_snapshot_xip',
580 'pg_snapshot_xmax',
581 'pg_snapshot_xmin',
582 'pg_start_backup',
583 'pg_stat_file',
584 'pg_statistics_obj_is_visible',
585 'pg_stop_backup',
586 'pg_switch_wal',
587 'pg_switch_xlog',
588 'pg_table_is_visible',
589 'pg_table_size',
590 'pg_tablespace_databases',
591 'pg_tablespace_location',
592 'pg_tablespace_size',
593 'pg_terminate_backend',
594 'pg_total_relation_size',
595 'pg_trigger_depth',
596 'pg_try_advisory_lock',
597 'pg_try_advisory_lock_shared',
598 'pg_try_advisory_xact_lock',
599 'pg_try_advisory_xact_lock_shared',
600 'pg_ts_config_is_visible',
601 'pg_ts_dict_is_visible',
602 'pg_ts_parser_is_visible',
603 'pg_ts_template_is_visible',
604 'pg_type_is_visible',
605 'pg_typeof',
606 'pg_visible_in_snapshot',
607 'pg_wal_lsn_diff',
608 'pg_wal_replay_pause',
609 'pg_wal_replay_resume',
610 'pg_walfile_name',
611 'pg_walfile_name_offset',
612 'pg_xact_commit_timestamp',
613 'pg_xact_commit_timestamp_origin',
614 'pg_xact_status',
615 'pg_xlog_location_diff',
616 'pg_xlog_replay_pause',
617 'pg_xlog_replay_resume',
618 'pg_xlogfile_name',
619 'pg_xlogfile_name_offset',
620 'phraseto_tsquery',
621 'pi',
622 'plainto_tsquery',
623 'point',
624 'polygon',
625 'popen',
626 'position',
627 'power',
628 'pqserverversion',
629 'query_to_xml',
630 'query_to_xml_and_xmlschema',
631 'query_to_xmlschema',
632 'querytree',
633 'quote_ident',
634 'quote_literal',
635 'quote_nullable',
636 'radians',
637 'radius',
638 'random',
639 'range_agg',
640 'range_intersect_agg',
641 'range_merge',
642 'rank',
643 'regexp_count',
644 'regexp_instr',
645 'regexp_like',
646 'regexp_match',
647 'regexp_matches',
648 'regexp_replace',
649 'regexp_split_to_array',
650 'regexp_split_to_table',
651 'regexp_substr',
652 'regr_avgx',
653 'regr_avgy',
654 'regr_count',
655 'regr_intercept',
656 'regr_r2',
657 'regr_slope',
658 'regr_sxx',
659 'regr_sxy',
660 'regr_syy',
661 'repeat',
662 'replace',
663 'reverse',
664 'right',
665 'round',
666 'row_number',
667 'row_security_active',
668 'row_to_json',
669 'rpad',
670 'rtrim',
671 'scale',
672 'schema_to_xml',
673 'schema_to_xml_and_xmlschema',
674 'schema_to_xmlschema',
675 'session_user',
676 'set_bit',
677 'set_byte',
678 'set_config',
679 'set_masklen',
680 'setseed',
681 'setval',
682 'setweight',
683 'sha224',
684 'sha256',
685 'sha384',
686 'sha512',
687 'shobj_description',
688 'sign',
689 'sin',
690 'sind',
691 'sinh',
692 'slope',
693 'split_part',
694 'sprintf',
695 'sqrt',
696 'starts_with',
697 'statement_timestamp',
698 'stddev',
699 'stddev_pop',
700 'stddev_samp',
701 'string_agg',
702 'string_to_array',
703 'string_to_table',
704 'strip',
705 'strpos',
706 'substr',
707 'substring',
708 'sum',
709 'suppress_redundant_updates_trigger',
710 'table_to_xml',
711 'table_to_xml_and_xmlschema',
712 'table_to_xmlschema',
713 'tan',
714 'tand',
715 'tanh',
716 'text',
717 'timeofday',
718 'timezone',
719 'to_ascii',
720 'to_char',
721 'to_date',
722 'to_hex',
723 'to_json',
724 'to_number',
725 'to_regclass',
726 'to_regcollation',
727 'to_regnamespace',
728 'to_regoper',
729 'to_regoperator',
730 'to_regproc',
731 'to_regprocedure',
732 'to_regrole',
733 'to_regtype',
734 'to_timestamp',
735 'to_tsquery',
736 'to_tsvector',
737 'transaction_timestamp',
738 'translate',
739 'trim',
740 'trim_array',
741 'trim_scale',
742 'trunc',
743 'ts_debug',
744 'ts_delete',
745 'ts_filter',
746 'ts_headline',
747 'ts_lexize',
748 'ts_parse',
749 'ts_rank',
750 'ts_rank_cd',
751 'ts_rewrite',
752 'ts_stat',
753 'ts_token_type',
754 'tsquery_phrase',
755 'tsvector_to_array',
756 'tsvector_update_trigger',
757 'tsvector_update_trigger_column',
758 'txid_current',
759 'txid_current_if_assigned',
760 'txid_current_snapshot',
761 'txid_snapshot_xip',
762 'txid_snapshot_xmax',
763 'txid_snapshot_xmin',
764 'txid_status',
765 'txid_visible_in_snapshot',
766 'unistr',
767 'unnest',
768 'upper',
769 'upper_inc',
770 'upper_inf',
771 'user',
772 'var_pop',
773 'var_samp',
774 'variance',
775 'version',
776 'websearch_to_tsquery',
777 'width',
778 'width_bucket',
779 'xml_is_well_formed',
780 'xml_is_well_formed_content',
781 'xml_is_well_formed_document',
782 'xmlagg',
783 'xmlcomment',
784 'xmlconcat',
785 'xmlelement',
786 'xmlexists',
787 'xmlforest',
788 'xmlparse',
789 'xmlpi',
790 'xmlroot',
791 'xmlserialize',
792 'xpath',
793 'xpath_exists',
794 ],
795 builtinVariables: [],
796 pseudoColumns: [],
797 tokenizer: {
798 root: [
799 { include: '@comments' },
800 { include: '@whitespace' },
801 { include: '@pseudoColumns' },
802 { include: '@numbers' },
803 { include: '@strings' },
804 { include: '@complexIdentifiers' },
805 { include: '@scopes' },
806 [/[;,.]/, 'delimiter'],
807 [/[()]/, '@brackets'],
808 [
809 /[\w@#$]+/,
810 {
811 cases: {
812 '@operators': 'operator',
813 '@builtinVariables': 'predefined',
814 '@builtinFunctions': 'predefined',
815 '@keywords': 'keyword',
816 '@default': 'identifier',
817 },
818 },
819 ],
820 [/[<>=!%&+\-*/|~^]/, 'operator'],
821 ],
822 whitespace: [[/\s+/, 'white']],
823 comments: [
824 [/--+.*/, 'comment'],
825 [/\/\*/, { token: 'comment.quote', next: '@comment' }],
826 ],
827 comment: [
828 [/[^*/]+/, 'comment'],
829 [/\*\//, { token: 'comment.quote', next: '@pop' }],
830 [/./, 'comment'],
831 ],
832 pseudoColumns: [
833 [
834 /[$][A-Za-z_][\w@#$]*/,
835 { cases: { '@pseudoColumns': 'predefined', '@default': 'identifier' } },
836 ],
837 ],
838 numbers: [
839 [/0[xX][0-9a-fA-F]*/, 'number'],
840 [/[$][+-]*\d*(\.\d*)?/, 'number'],
841 [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number'],
842 ],
843 strings: [[/'/, { token: 'string', next: '@string' }]],
844 string: [
845 [/[^']+/, 'string'],
846 [/''/, 'string'],
847 [/'/, { token: 'string', next: '@pop' }],
848 ],
849 complexIdentifiers: [[/"/, { token: 'identifier.quote', next: '@quotedIdentifier' }]],
850 quotedIdentifier: [
851 [/[^"]+/, 'identifier'],
852 [/""/, 'identifier'],
853 [/"/, { token: 'identifier.quote', next: '@pop' }],
854 ],
855 scopes: [],
856 },
857 }
858 return g(m)
859 })()
860 return moduleExports
861})