{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/pgsql.js"],"names":["module","exports","hljs","COMMENT_MODE","COMMENT","TYPES","TYPES_RE","trim","split","map","val","join","FUNCTIONS_RE","name","aliases","case_insensitive","keywords","keyword","SQL_KW","built_in","SQL_BI","illegal","contains","className","variants","begin","relevance","end","returnEnd","type","beginKeywords","C_NUMBER_RE","replace","END_SAME_AS_BEGIN","subLanguage","endsWithParent","C_NUMBER_MODE","C_BLOCK_COMMENT_MODE"],"mappings":"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","file":"react-syntax-highlighter_languages_highlight_pgsql-afda3bf25dd80f0cc9a1.js","sourcesContent":["/*\nLanguage: PostgreSQL and PL/pgSQL\nAuthor: Egor Rogov (e.rogov@postgrespro.ru)\nWebsite: https://www.postgresql.org/docs/11/sql.html\nDescription:\n    This language incorporates both PostgreSQL SQL dialect and PL/pgSQL language.\n    It is based on PostgreSQL version 11. Some notes:\n    - Text in double-dollar-strings is _always_ interpreted as some programming code. Text\n      in ordinary quotes is _never_ interpreted that way and highlighted just as a string.\n    - There are quite a bit \"special cases\". That's because many keywords are not strictly\n      they are keywords in some contexts and ordinary identifiers in others. Only some\n      of such cases are handled; you still can get some of your identifiers highlighted\n      wrong way.\n    - Function names deliberately are not highlighted. There is no way to tell function\n      call from other constructs, hence we can't highlight _all_ function names. And\n      some names highlighted while others not looks ugly.\n*/\nfunction pgsql(hljs) {\n  var COMMENT_MODE = hljs.COMMENT('--', '$');\n  var UNQUOTED_IDENT = '[a-zA-Z_][a-zA-Z_0-9$]*';\n  var DOLLAR_STRING = '\\\\$([a-zA-Z_]?|[a-zA-Z_][a-zA-Z_0-9]*)\\\\$';\n  var LABEL = '<<\\\\s*' + UNQUOTED_IDENT + '\\\\s*>>';\n  var SQL_KW = // https://www.postgresql.org/docs/11/static/sql-keywords-appendix.html\n  // https://www.postgresql.org/docs/11/static/sql-commands.html\n  // SQL commands (starting words)\n  'ABORT ALTER ANALYZE BEGIN CALL CHECKPOINT|10 CLOSE CLUSTER COMMENT COMMIT COPY CREATE DEALLOCATE DECLARE ' + 'DELETE DISCARD DO DROP END EXECUTE EXPLAIN FETCH GRANT IMPORT INSERT LISTEN LOAD LOCK MOVE NOTIFY ' + 'PREPARE REASSIGN|10 REFRESH REINDEX RELEASE RESET REVOKE ROLLBACK SAVEPOINT SECURITY SELECT SET SHOW ' + 'START TRUNCATE UNLISTEN|10 UPDATE VACUUM|10 VALUES ' + // SQL commands (others)\n  'AGGREGATE COLLATION CONVERSION|10 DATABASE DEFAULT PRIVILEGES DOMAIN TRIGGER EXTENSION FOREIGN ' + 'WRAPPER|10 TABLE FUNCTION GROUP LANGUAGE LARGE OBJECT MATERIALIZED VIEW OPERATOR CLASS ' + 'FAMILY POLICY PUBLICATION|10 ROLE RULE SCHEMA SEQUENCE SERVER STATISTICS SUBSCRIPTION SYSTEM ' + 'TABLESPACE CONFIGURATION DICTIONARY PARSER TEMPLATE TYPE USER MAPPING PREPARED ACCESS ' + 'METHOD CAST AS TRANSFORM TRANSACTION OWNED TO INTO SESSION AUTHORIZATION ' + 'INDEX PROCEDURE ASSERTION ' + // additional reserved key words\n  'ALL ANALYSE AND ANY ARRAY ASC ASYMMETRIC|10 BOTH CASE CHECK ' + 'COLLATE COLUMN CONCURRENTLY|10 CONSTRAINT CROSS ' + 'DEFERRABLE RANGE ' + 'DESC DISTINCT ELSE EXCEPT FOR FREEZE|10 FROM FULL HAVING ' + 'ILIKE IN INITIALLY INNER INTERSECT IS ISNULL JOIN LATERAL LEADING LIKE LIMIT ' + 'NATURAL NOT NOTNULL NULL OFFSET ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY ' + 'REFERENCES RETURNING SIMILAR SOME SYMMETRIC TABLESAMPLE THEN ' + 'TRAILING UNION UNIQUE USING VARIADIC|10 VERBOSE WHEN WHERE WINDOW WITH ' + // some of non-reserved (which are used in clauses or as PL/pgSQL keyword)\n  'BY RETURNS INOUT OUT SETOF|10 IF STRICT CURRENT CONTINUE OWNER LOCATION OVER PARTITION WITHIN ' + 'BETWEEN ESCAPE EXTERNAL INVOKER DEFINER WORK RENAME VERSION CONNECTION CONNECT ' + 'TABLES TEMP TEMPORARY FUNCTIONS SEQUENCES TYPES SCHEMAS OPTION CASCADE RESTRICT ADD ADMIN ' + 'EXISTS VALID VALIDATE ENABLE DISABLE REPLICA|10 ALWAYS PASSING COLUMNS PATH ' + 'REF VALUE OVERRIDING IMMUTABLE STABLE VOLATILE BEFORE AFTER EACH ROW PROCEDURAL ' + 'ROUTINE NO HANDLER VALIDATOR OPTIONS STORAGE OIDS|10 WITHOUT INHERIT DEPENDS CALLED ' + 'INPUT LEAKPROOF|10 COST ROWS NOWAIT SEARCH UNTIL ENCRYPTED|10 PASSWORD CONFLICT|10 ' + 'INSTEAD INHERITS CHARACTERISTICS WRITE CURSOR ALSO STATEMENT SHARE EXCLUSIVE INLINE ' + 'ISOLATION REPEATABLE READ COMMITTED SERIALIZABLE UNCOMMITTED LOCAL GLOBAL SQL PROCEDURES ' + 'RECURSIVE SNAPSHOT ROLLUP CUBE TRUSTED|10 INCLUDE FOLLOWING PRECEDING UNBOUNDED RANGE GROUPS ' + 'UNENCRYPTED|10 SYSID FORMAT DELIMITER HEADER QUOTE ENCODING FILTER OFF ' + // some parameters of VACUUM/ANALYZE/EXPLAIN\n  'FORCE_QUOTE FORCE_NOT_NULL FORCE_NULL COSTS BUFFERS TIMING SUMMARY DISABLE_PAGE_SKIPPING ' + //\n  'RESTART CYCLE GENERATED IDENTITY DEFERRED IMMEDIATE LEVEL LOGGED UNLOGGED ' + 'OF NOTHING NONE EXCLUDE ATTRIBUTE ' + // from GRANT (not keywords actually)\n  'USAGE ROUTINES ' + // actually literals, but look better this way (due to IS TRUE, IS FALSE, ISNULL etc)\n  'TRUE FALSE NAN INFINITY ';\n  var ROLE_ATTRS = // only those not in keywrods already\n  'SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT ' + 'LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS ';\n  var PLPGSQL_KW = 'ALIAS BEGIN CONSTANT DECLARE END EXCEPTION RETURN PERFORM|10 RAISE GET DIAGNOSTICS ' + 'STACKED|10 FOREACH LOOP ELSIF EXIT WHILE REVERSE SLICE DEBUG LOG INFO NOTICE WARNING ASSERT ' + 'OPEN ';\n  var TYPES = // https://www.postgresql.org/docs/11/static/datatype.html\n  'BIGINT INT8 BIGSERIAL SERIAL8 BIT VARYING VARBIT BOOLEAN BOOL BOX BYTEA CHARACTER CHAR VARCHAR ' + 'CIDR CIRCLE DATE DOUBLE PRECISION FLOAT8 FLOAT INET INTEGER INT INT4 INTERVAL JSON JSONB LINE LSEG|10 ' + 'MACADDR MACADDR8 MONEY NUMERIC DEC DECIMAL PATH POINT POLYGON REAL FLOAT4 SMALLINT INT2 ' + 'SMALLSERIAL|10 SERIAL2|10 SERIAL|10 SERIAL4|10 TEXT TIME ZONE TIMETZ|10 TIMESTAMP TIMESTAMPTZ|10 TSQUERY|10 TSVECTOR|10 ' + 'TXID_SNAPSHOT|10 UUID XML NATIONAL NCHAR ' + 'INT4RANGE|10 INT8RANGE|10 NUMRANGE|10 TSRANGE|10 TSTZRANGE|10 DATERANGE|10 ' + // pseudotypes\n  'ANYELEMENT ANYARRAY ANYNONARRAY ANYENUM ANYRANGE CSTRING INTERNAL ' + 'RECORD PG_DDL_COMMAND VOID UNKNOWN OPAQUE REFCURSOR ' + // spec. type\n  'NAME ' + // OID-types\n  'OID REGPROC|10 REGPROCEDURE|10 REGOPER|10 REGOPERATOR|10 REGCLASS|10 REGTYPE|10 REGROLE|10 ' + 'REGNAMESPACE|10 REGCONFIG|10 REGDICTIONARY|10 '; // +\n\n  var TYPES_RE = TYPES.trim().split(' ').map(function (val) {\n    return val.split('|')[0];\n  }).join('|');\n  var SQL_BI = 'CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURRENT_CATALOG|10 CURRENT_DATE LOCALTIME LOCALTIMESTAMP ' + 'CURRENT_ROLE|10 CURRENT_SCHEMA|10 SESSION_USER PUBLIC ';\n  var PLPGSQL_BI = 'FOUND NEW OLD TG_NAME|10 TG_WHEN|10 TG_LEVEL|10 TG_OP|10 TG_RELID|10 TG_RELNAME|10 ' + 'TG_TABLE_NAME|10 TG_TABLE_SCHEMA|10 TG_NARGS|10 TG_ARGV|10 TG_EVENT|10 TG_TAG|10 ' + // get diagnostics\n  'ROW_COUNT RESULT_OID|10 PG_CONTEXT|10 RETURNED_SQLSTATE COLUMN_NAME CONSTRAINT_NAME ' + 'PG_DATATYPE_NAME|10 MESSAGE_TEXT TABLE_NAME SCHEMA_NAME PG_EXCEPTION_DETAIL|10 ' + 'PG_EXCEPTION_HINT|10 PG_EXCEPTION_CONTEXT|10 ';\n  var PLPGSQL_EXCEPTIONS = // exceptions https://www.postgresql.org/docs/current/static/errcodes-appendix.html\n  'SQLSTATE SQLERRM|10 ' + 'SUCCESSFUL_COMPLETION WARNING DYNAMIC_RESULT_SETS_RETURNED IMPLICIT_ZERO_BIT_PADDING ' + 'NULL_VALUE_ELIMINATED_IN_SET_FUNCTION PRIVILEGE_NOT_GRANTED PRIVILEGE_NOT_REVOKED ' + 'STRING_DATA_RIGHT_TRUNCATION DEPRECATED_FEATURE NO_DATA NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED ' + 'SQL_STATEMENT_NOT_YET_COMPLETE CONNECTION_EXCEPTION CONNECTION_DOES_NOT_EXIST CONNECTION_FAILURE ' + 'SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION ' + 'TRANSACTION_RESOLUTION_UNKNOWN PROTOCOL_VIOLATION TRIGGERED_ACTION_EXCEPTION FEATURE_NOT_SUPPORTED ' + 'INVALID_TRANSACTION_INITIATION LOCATOR_EXCEPTION INVALID_LOCATOR_SPECIFICATION INVALID_GRANTOR ' + 'INVALID_GRANT_OPERATION INVALID_ROLE_SPECIFICATION DIAGNOSTICS_EXCEPTION ' + 'STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER CASE_NOT_FOUND CARDINALITY_VIOLATION ' + 'DATA_EXCEPTION ARRAY_SUBSCRIPT_ERROR CHARACTER_NOT_IN_REPERTOIRE DATETIME_FIELD_OVERFLOW ' + 'DIVISION_BY_ZERO ERROR_IN_ASSIGNMENT ESCAPE_CHARACTER_CONFLICT INDICATOR_OVERFLOW ' + 'INTERVAL_FIELD_OVERFLOW INVALID_ARGUMENT_FOR_LOGARITHM INVALID_ARGUMENT_FOR_NTILE_FUNCTION ' + 'INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION INVALID_ARGUMENT_FOR_POWER_FUNCTION ' + 'INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION INVALID_CHARACTER_VALUE_FOR_CAST ' + 'INVALID_DATETIME_FORMAT INVALID_ESCAPE_CHARACTER INVALID_ESCAPE_OCTET INVALID_ESCAPE_SEQUENCE ' + 'NONSTANDARD_USE_OF_ESCAPE_CHARACTER INVALID_INDICATOR_PARAMETER_VALUE INVALID_PARAMETER_VALUE ' + 'INVALID_REGULAR_EXPRESSION INVALID_ROW_COUNT_IN_LIMIT_CLAUSE ' + 'INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE INVALID_TABLESAMPLE_ARGUMENT INVALID_TABLESAMPLE_REPEAT ' + 'INVALID_TIME_ZONE_DISPLACEMENT_VALUE INVALID_USE_OF_ESCAPE_CHARACTER MOST_SPECIFIC_TYPE_MISMATCH ' + 'NULL_VALUE_NOT_ALLOWED NULL_VALUE_NO_INDICATOR_PARAMETER NUMERIC_VALUE_OUT_OF_RANGE ' + 'SEQUENCE_GENERATOR_LIMIT_EXCEEDED STRING_DATA_LENGTH_MISMATCH STRING_DATA_RIGHT_TRUNCATION ' + 'SUBSTRING_ERROR TRIM_ERROR UNTERMINATED_C_STRING ZERO_LENGTH_CHARACTER_STRING ' + 'FLOATING_POINT_EXCEPTION INVALID_TEXT_REPRESENTATION INVALID_BINARY_REPRESENTATION ' + 'BAD_COPY_FILE_FORMAT UNTRANSLATABLE_CHARACTER NOT_AN_XML_DOCUMENT INVALID_XML_DOCUMENT ' + 'INVALID_XML_CONTENT INVALID_XML_COMMENT INVALID_XML_PROCESSING_INSTRUCTION ' + 'INTEGRITY_CONSTRAINT_VIOLATION RESTRICT_VIOLATION NOT_NULL_VIOLATION FOREIGN_KEY_VIOLATION ' + 'UNIQUE_VIOLATION CHECK_VIOLATION EXCLUSION_VIOLATION INVALID_CURSOR_STATE ' + 'INVALID_TRANSACTION_STATE ACTIVE_SQL_TRANSACTION BRANCH_TRANSACTION_ALREADY_ACTIVE ' + 'HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION ' + 'INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION ' + 'NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION READ_ONLY_SQL_TRANSACTION ' + 'SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED NO_ACTIVE_SQL_TRANSACTION ' + 'IN_FAILED_SQL_TRANSACTION IDLE_IN_TRANSACTION_SESSION_TIMEOUT INVALID_SQL_STATEMENT_NAME ' + 'TRIGGERED_DATA_CHANGE_VIOLATION INVALID_AUTHORIZATION_SPECIFICATION INVALID_PASSWORD ' + 'DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST DEPENDENT_OBJECTS_STILL_EXIST ' + 'INVALID_TRANSACTION_TERMINATION SQL_ROUTINE_EXCEPTION FUNCTION_EXECUTED_NO_RETURN_STATEMENT ' + 'MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED ' + 'READING_SQL_DATA_NOT_PERMITTED INVALID_CURSOR_NAME EXTERNAL_ROUTINE_EXCEPTION ' + 'CONTAINING_SQL_NOT_PERMITTED MODIFYING_SQL_DATA_NOT_PERMITTED ' + 'PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED ' + 'EXTERNAL_ROUTINE_INVOCATION_EXCEPTION INVALID_SQLSTATE_RETURNED NULL_VALUE_NOT_ALLOWED ' + 'TRIGGER_PROTOCOL_VIOLATED SRF_PROTOCOL_VIOLATED EVENT_TRIGGER_PROTOCOL_VIOLATED ' + 'SAVEPOINT_EXCEPTION INVALID_SAVEPOINT_SPECIFICATION INVALID_CATALOG_NAME ' + 'INVALID_SCHEMA_NAME TRANSACTION_ROLLBACK TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION ' + 'SERIALIZATION_FAILURE STATEMENT_COMPLETION_UNKNOWN DEADLOCK_DETECTED ' + 'SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION SYNTAX_ERROR INSUFFICIENT_PRIVILEGE CANNOT_COERCE ' + 'GROUPING_ERROR WINDOWING_ERROR INVALID_RECURSION INVALID_FOREIGN_KEY INVALID_NAME ' + 'NAME_TOO_LONG RESERVED_NAME DATATYPE_MISMATCH INDETERMINATE_DATATYPE COLLATION_MISMATCH ' + 'INDETERMINATE_COLLATION WRONG_OBJECT_TYPE GENERATED_ALWAYS UNDEFINED_COLUMN ' + 'UNDEFINED_FUNCTION UNDEFINED_TABLE UNDEFINED_PARAMETER UNDEFINED_OBJECT ' + 'DUPLICATE_COLUMN DUPLICATE_CURSOR DUPLICATE_DATABASE DUPLICATE_FUNCTION ' + 'DUPLICATE_PREPARED_STATEMENT DUPLICATE_SCHEMA DUPLICATE_TABLE DUPLICATE_ALIAS ' + 'DUPLICATE_OBJECT AMBIGUOUS_COLUMN AMBIGUOUS_FUNCTION AMBIGUOUS_PARAMETER AMBIGUOUS_ALIAS ' + 'INVALID_COLUMN_REFERENCE INVALID_COLUMN_DEFINITION INVALID_CURSOR_DEFINITION ' + 'INVALID_DATABASE_DEFINITION INVALID_FUNCTION_DEFINITION ' + 'INVALID_PREPARED_STATEMENT_DEFINITION INVALID_SCHEMA_DEFINITION INVALID_TABLE_DEFINITION ' + 'INVALID_OBJECT_DEFINITION WITH_CHECK_OPTION_VIOLATION INSUFFICIENT_RESOURCES DISK_FULL ' + 'OUT_OF_MEMORY TOO_MANY_CONNECTIONS CONFIGURATION_LIMIT_EXCEEDED PROGRAM_LIMIT_EXCEEDED ' + 'STATEMENT_TOO_COMPLEX TOO_MANY_COLUMNS TOO_MANY_ARGUMENTS OBJECT_NOT_IN_PREREQUISITE_STATE ' + 'OBJECT_IN_USE CANT_CHANGE_RUNTIME_PARAM LOCK_NOT_AVAILABLE OPERATOR_INTERVENTION ' + 'QUERY_CANCELED ADMIN_SHUTDOWN CRASH_SHUTDOWN CANNOT_CONNECT_NOW DATABASE_DROPPED ' + 'SYSTEM_ERROR IO_ERROR UNDEFINED_FILE DUPLICATE_FILE SNAPSHOT_TOO_OLD CONFIG_FILE_ERROR ' + 'LOCK_FILE_EXISTS FDW_ERROR FDW_COLUMN_NAME_NOT_FOUND FDW_DYNAMIC_PARAMETER_VALUE_NEEDED ' + 'FDW_FUNCTION_SEQUENCE_ERROR FDW_INCONSISTENT_DESCRIPTOR_INFORMATION ' + 'FDW_INVALID_ATTRIBUTE_VALUE FDW_INVALID_COLUMN_NAME FDW_INVALID_COLUMN_NUMBER ' + 'FDW_INVALID_DATA_TYPE FDW_INVALID_DATA_TYPE_DESCRIPTORS ' + 'FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER FDW_INVALID_HANDLE FDW_INVALID_OPTION_INDEX ' + 'FDW_INVALID_OPTION_NAME FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH ' + 'FDW_INVALID_STRING_FORMAT FDW_INVALID_USE_OF_NULL_POINTER FDW_TOO_MANY_HANDLES ' + 'FDW_OUT_OF_MEMORY FDW_NO_SCHEMAS FDW_OPTION_NAME_NOT_FOUND FDW_REPLY_HANDLE ' + 'FDW_SCHEMA_NOT_FOUND FDW_TABLE_NOT_FOUND FDW_UNABLE_TO_CREATE_EXECUTION ' + 'FDW_UNABLE_TO_CREATE_REPLY FDW_UNABLE_TO_ESTABLISH_CONNECTION PLPGSQL_ERROR ' + 'RAISE_EXCEPTION NO_DATA_FOUND TOO_MANY_ROWS ASSERT_FAILURE INTERNAL_ERROR DATA_CORRUPTED ' + 'INDEX_CORRUPTED ';\n  var FUNCTIONS = // https://www.postgresql.org/docs/11/static/functions-aggregate.html\n  'ARRAY_AGG AVG BIT_AND BIT_OR BOOL_AND BOOL_OR COUNT EVERY JSON_AGG JSONB_AGG JSON_OBJECT_AGG ' + 'JSONB_OBJECT_AGG MAX MIN MODE STRING_AGG SUM XMLAGG ' + 'CORR COVAR_POP COVAR_SAMP REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE ' + 'REGR_SXX REGR_SXY REGR_SYY STDDEV STDDEV_POP STDDEV_SAMP VARIANCE VAR_POP VAR_SAMP ' + 'PERCENTILE_CONT PERCENTILE_DISC ' + // https://www.postgresql.org/docs/11/static/functions-window.html\n  'ROW_NUMBER RANK DENSE_RANK PERCENT_RANK CUME_DIST NTILE LAG LEAD FIRST_VALUE LAST_VALUE NTH_VALUE ' + // https://www.postgresql.org/docs/11/static/functions-comparison.html\n  'NUM_NONNULLS NUM_NULLS ' + // https://www.postgresql.org/docs/11/static/functions-math.html\n  'ABS CBRT CEIL CEILING DEGREES DIV EXP FLOOR LN LOG MOD PI POWER RADIANS ROUND SCALE SIGN SQRT ' + 'TRUNC WIDTH_BUCKET ' + 'RANDOM SETSEED ' + 'ACOS ACOSD ASIN ASIND ATAN ATAND ATAN2 ATAN2D COS COSD COT COTD SIN SIND TAN TAND ' + // https://www.postgresql.org/docs/11/static/functions-string.html\n  'BIT_LENGTH CHAR_LENGTH CHARACTER_LENGTH LOWER OCTET_LENGTH OVERLAY POSITION SUBSTRING TREAT TRIM UPPER ' + 'ASCII BTRIM CHR CONCAT CONCAT_WS CONVERT CONVERT_FROM CONVERT_TO DECODE ENCODE INITCAP ' + 'LEFT LENGTH LPAD LTRIM MD5 PARSE_IDENT PG_CLIENT_ENCODING QUOTE_IDENT|10 QUOTE_LITERAL|10 ' + 'QUOTE_NULLABLE|10 REGEXP_MATCH REGEXP_MATCHES REGEXP_REPLACE REGEXP_SPLIT_TO_ARRAY ' + 'REGEXP_SPLIT_TO_TABLE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPLIT_PART STRPOS SUBSTR ' + 'TO_ASCII TO_HEX TRANSLATE ' + // https://www.postgresql.org/docs/11/static/functions-binarystring.html\n  'OCTET_LENGTH GET_BIT GET_BYTE SET_BIT SET_BYTE ' + // https://www.postgresql.org/docs/11/static/functions-formatting.html\n  'TO_CHAR TO_DATE TO_NUMBER TO_TIMESTAMP ' + // https://www.postgresql.org/docs/11/static/functions-datetime.html\n  'AGE CLOCK_TIMESTAMP|10 DATE_PART DATE_TRUNC ISFINITE JUSTIFY_DAYS JUSTIFY_HOURS JUSTIFY_INTERVAL ' + 'MAKE_DATE MAKE_INTERVAL|10 MAKE_TIME MAKE_TIMESTAMP|10 MAKE_TIMESTAMPTZ|10 NOW STATEMENT_TIMESTAMP|10 ' + 'TIMEOFDAY TRANSACTION_TIMESTAMP|10 ' + // https://www.postgresql.org/docs/11/static/functions-enum.html\n  'ENUM_FIRST ENUM_LAST ENUM_RANGE ' + // https://www.postgresql.org/docs/11/static/functions-geometry.html\n  'AREA CENTER DIAMETER HEIGHT ISCLOSED ISOPEN NPOINTS PCLOSE POPEN RADIUS WIDTH ' + 'BOX BOUND_BOX CIRCLE LINE LSEG PATH POLYGON ' + // https://www.postgresql.org/docs/11/static/functions-net.html\n  'ABBREV BROADCAST HOST HOSTMASK MASKLEN NETMASK NETWORK SET_MASKLEN TEXT INET_SAME_FAMILY ' + 'INET_MERGE MACADDR8_SET7BIT ' + // https://www.postgresql.org/docs/11/static/functions-textsearch.html\n  'ARRAY_TO_TSVECTOR GET_CURRENT_TS_CONFIG NUMNODE PLAINTO_TSQUERY PHRASETO_TSQUERY WEBSEARCH_TO_TSQUERY ' + 'QUERYTREE SETWEIGHT STRIP TO_TSQUERY TO_TSVECTOR JSON_TO_TSVECTOR JSONB_TO_TSVECTOR TS_DELETE ' + 'TS_FILTER TS_HEADLINE TS_RANK TS_RANK_CD TS_REWRITE TSQUERY_PHRASE TSVECTOR_TO_ARRAY ' + 'TSVECTOR_UPDATE_TRIGGER TSVECTOR_UPDATE_TRIGGER_COLUMN ' + // https://www.postgresql.org/docs/11/static/functions-xml.html\n  'XMLCOMMENT XMLCONCAT XMLELEMENT XMLFOREST XMLPI XMLROOT ' + 'XMLEXISTS XML_IS_WELL_FORMED XML_IS_WELL_FORMED_DOCUMENT XML_IS_WELL_FORMED_CONTENT ' + 'XPATH XPATH_EXISTS XMLTABLE XMLNAMESPACES ' + 'TABLE_TO_XML TABLE_TO_XMLSCHEMA TABLE_TO_XML_AND_XMLSCHEMA ' + 'QUERY_TO_XML QUERY_TO_XMLSCHEMA QUERY_TO_XML_AND_XMLSCHEMA ' + 'CURSOR_TO_XML CURSOR_TO_XMLSCHEMA ' + 'SCHEMA_TO_XML SCHEMA_TO_XMLSCHEMA SCHEMA_TO_XML_AND_XMLSCHEMA ' + 'DATABASE_TO_XML DATABASE_TO_XMLSCHEMA DATABASE_TO_XML_AND_XMLSCHEMA ' + 'XMLATTRIBUTES ' + // https://www.postgresql.org/docs/11/static/functions-json.html\n  'TO_JSON TO_JSONB ARRAY_TO_JSON ROW_TO_JSON JSON_BUILD_ARRAY JSONB_BUILD_ARRAY JSON_BUILD_OBJECT ' + 'JSONB_BUILD_OBJECT JSON_OBJECT JSONB_OBJECT JSON_ARRAY_LENGTH JSONB_ARRAY_LENGTH JSON_EACH ' + 'JSONB_EACH JSON_EACH_TEXT JSONB_EACH_TEXT JSON_EXTRACT_PATH JSONB_EXTRACT_PATH ' + 'JSON_OBJECT_KEYS JSONB_OBJECT_KEYS JSON_POPULATE_RECORD JSONB_POPULATE_RECORD JSON_POPULATE_RECORDSET ' + 'JSONB_POPULATE_RECORDSET JSON_ARRAY_ELEMENTS JSONB_ARRAY_ELEMENTS JSON_ARRAY_ELEMENTS_TEXT ' + 'JSONB_ARRAY_ELEMENTS_TEXT JSON_TYPEOF JSONB_TYPEOF JSON_TO_RECORD JSONB_TO_RECORD JSON_TO_RECORDSET ' + 'JSONB_TO_RECORDSET JSON_STRIP_NULLS JSONB_STRIP_NULLS JSONB_SET JSONB_INSERT JSONB_PRETTY ' + // https://www.postgresql.org/docs/11/static/functions-sequence.html\n  'CURRVAL LASTVAL NEXTVAL SETVAL ' + // https://www.postgresql.org/docs/11/static/functions-conditional.html\n  'COALESCE NULLIF GREATEST LEAST ' + // https://www.postgresql.org/docs/11/static/functions-array.html\n  'ARRAY_APPEND ARRAY_CAT ARRAY_NDIMS ARRAY_DIMS ARRAY_FILL ARRAY_LENGTH ARRAY_LOWER ARRAY_POSITION ' + 'ARRAY_POSITIONS ARRAY_PREPEND ARRAY_REMOVE ARRAY_REPLACE ARRAY_TO_STRING ARRAY_UPPER CARDINALITY ' + 'STRING_TO_ARRAY UNNEST ' + // https://www.postgresql.org/docs/11/static/functions-range.html\n  'ISEMPTY LOWER_INC UPPER_INC LOWER_INF UPPER_INF RANGE_MERGE ' + // https://www.postgresql.org/docs/11/static/functions-srf.html\n  'GENERATE_SERIES GENERATE_SUBSCRIPTS ' + // https://www.postgresql.org/docs/11/static/functions-info.html\n  'CURRENT_DATABASE CURRENT_QUERY CURRENT_SCHEMA|10 CURRENT_SCHEMAS|10 INET_CLIENT_ADDR INET_CLIENT_PORT ' + 'INET_SERVER_ADDR INET_SERVER_PORT ROW_SECURITY_ACTIVE FORMAT_TYPE ' + 'TO_REGCLASS TO_REGPROC TO_REGPROCEDURE TO_REGOPER TO_REGOPERATOR TO_REGTYPE TO_REGNAMESPACE TO_REGROLE ' + 'COL_DESCRIPTION OBJ_DESCRIPTION SHOBJ_DESCRIPTION ' + 'TXID_CURRENT TXID_CURRENT_IF_ASSIGNED TXID_CURRENT_SNAPSHOT TXID_SNAPSHOT_XIP TXID_SNAPSHOT_XMAX ' + 'TXID_SNAPSHOT_XMIN TXID_VISIBLE_IN_SNAPSHOT TXID_STATUS ' + // https://www.postgresql.org/docs/11/static/functions-admin.html\n  'CURRENT_SETTING SET_CONFIG BRIN_SUMMARIZE_NEW_VALUES BRIN_SUMMARIZE_RANGE BRIN_DESUMMARIZE_RANGE ' + 'GIN_CLEAN_PENDING_LIST ' + // https://www.postgresql.org/docs/11/static/functions-trigger.html\n  'SUPPRESS_REDUNDANT_UPDATES_TRIGGER ' + // ihttps://www.postgresql.org/docs/devel/static/lo-funcs.html\n  'LO_FROM_BYTEA LO_PUT LO_GET LO_CREAT LO_CREATE LO_UNLINK LO_IMPORT LO_EXPORT LOREAD LOWRITE ' + //\n  'GROUPING CAST ';\n  var FUNCTIONS_RE = FUNCTIONS.trim().split(' ').map(function (val) {\n    return val.split('|')[0];\n  }).join('|');\n  return {\n    name: 'PostgreSQL',\n    aliases: ['postgres', 'postgresql'],\n    case_insensitive: true,\n    keywords: {\n      keyword: SQL_KW + PLPGSQL_KW + ROLE_ATTRS,\n      built_in: SQL_BI + PLPGSQL_BI + PLPGSQL_EXCEPTIONS\n    },\n    // Forbid some cunstructs from other languages to improve autodetect. In fact\n    // \"[a-z]:\" is legal (as part of array slice), but improbabal.\n    illegal: /:==|\\W\\s*\\(\\*|(^|\\s)\\$[a-z]|{{|[a-z]:\\s*$|\\.\\.\\.|TO:|DO:/,\n    contains: [// special handling of some words, which are reserved only in some contexts\n    {\n      className: 'keyword',\n      variants: [{\n        begin: /\\bTEXT\\s*SEARCH\\b/\n      }, {\n        begin: /\\b(PRIMARY|FOREIGN|FOR(\\s+NO)?)\\s+KEY\\b/\n      }, {\n        begin: /\\bPARALLEL\\s+(UNSAFE|RESTRICTED|SAFE)\\b/\n      }, {\n        begin: /\\bSTORAGE\\s+(PLAIN|EXTERNAL|EXTENDED|MAIN)\\b/\n      }, {\n        begin: /\\bMATCH\\s+(FULL|PARTIAL|SIMPLE)\\b/\n      }, {\n        begin: /\\bNULLS\\s+(FIRST|LAST)\\b/\n      }, {\n        begin: /\\bEVENT\\s+TRIGGER\\b/\n      }, {\n        begin: /\\b(MAPPING|OR)\\s+REPLACE\\b/\n      }, {\n        begin: /\\b(FROM|TO)\\s+(PROGRAM|STDIN|STDOUT)\\b/\n      }, {\n        begin: /\\b(SHARE|EXCLUSIVE)\\s+MODE\\b/\n      }, {\n        begin: /\\b(LEFT|RIGHT)\\s+(OUTER\\s+)?JOIN\\b/\n      }, {\n        begin: /\\b(FETCH|MOVE)\\s+(NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE|FORWARD|BACKWARD)\\b/\n      }, {\n        begin: /\\bPRESERVE\\s+ROWS\\b/\n      }, {\n        begin: /\\bDISCARD\\s+PLANS\\b/\n      }, {\n        begin: /\\bREFERENCING\\s+(OLD|NEW)\\b/\n      }, {\n        begin: /\\bSKIP\\s+LOCKED\\b/\n      }, {\n        begin: /\\bGROUPING\\s+SETS\\b/\n      }, {\n        begin: /\\b(BINARY|INSENSITIVE|SCROLL|NO\\s+SCROLL)\\s+(CURSOR|FOR)\\b/\n      }, {\n        begin: /\\b(WITH|WITHOUT)\\s+HOLD\\b/\n      }, {\n        begin: /\\bWITH\\s+(CASCADED|LOCAL)\\s+CHECK\\s+OPTION\\b/\n      }, {\n        begin: /\\bEXCLUDE\\s+(TIES|NO\\s+OTHERS)\\b/\n      }, {\n        begin: /\\bFORMAT\\s+(TEXT|XML|JSON|YAML)\\b/\n      }, {\n        begin: /\\bSET\\s+((SESSION|LOCAL)\\s+)?NAMES\\b/\n      }, {\n        begin: /\\bIS\\s+(NOT\\s+)?UNKNOWN\\b/\n      }, {\n        begin: /\\bSECURITY\\s+LABEL\\b/\n      }, {\n        begin: /\\bSTANDALONE\\s+(YES|NO|NO\\s+VALUE)\\b/\n      }, {\n        begin: /\\bWITH\\s+(NO\\s+)?DATA\\b/\n      }, {\n        begin: /\\b(FOREIGN|SET)\\s+DATA\\b/\n      }, {\n        begin: /\\bSET\\s+(CATALOG|CONSTRAINTS)\\b/\n      }, {\n        begin: /\\b(WITH|FOR)\\s+ORDINALITY\\b/\n      }, {\n        begin: /\\bIS\\s+(NOT\\s+)?DOCUMENT\\b/\n      }, {\n        begin: /\\bXML\\s+OPTION\\s+(DOCUMENT|CONTENT)\\b/\n      }, {\n        begin: /\\b(STRIP|PRESERVE)\\s+WHITESPACE\\b/\n      }, {\n        begin: /\\bNO\\s+(ACTION|MAXVALUE|MINVALUE)\\b/\n      }, {\n        begin: /\\bPARTITION\\s+BY\\s+(RANGE|LIST|HASH)\\b/\n      }, {\n        begin: /\\bAT\\s+TIME\\s+ZONE\\b/\n      }, {\n        begin: /\\bGRANTED\\s+BY\\b/\n      }, {\n        begin: /\\bRETURN\\s+(QUERY|NEXT)\\b/\n      }, {\n        begin: /\\b(ATTACH|DETACH)\\s+PARTITION\\b/\n      }, {\n        begin: /\\bFORCE\\s+ROW\\s+LEVEL\\s+SECURITY\\b/\n      }, {\n        begin: /\\b(INCLUDING|EXCLUDING)\\s+(COMMENTS|CONSTRAINTS|DEFAULTS|IDENTITY|INDEXES|STATISTICS|STORAGE|ALL)\\b/\n      }, {\n        begin: /\\bAS\\s+(ASSIGNMENT|IMPLICIT|PERMISSIVE|RESTRICTIVE|ENUM|RANGE)\\b/\n      }]\n    }, // functions named as keywords, followed by '('\n    {\n      begin: /\\b(FORMAT|FAMILY|VERSION)\\s*\\(/ //keywords: { built_in: 'FORMAT FAMILY VERSION' }\n\n    }, // INCLUDE ( ... ) in index_parameters in CREATE TABLE\n    {\n      begin: /\\bINCLUDE\\s*\\(/,\n      keywords: 'INCLUDE'\n    }, // not highlight RANGE if not in frame_clause (not 100% correct, but seems satisfactory)\n    {\n      begin: /\\bRANGE(?!\\s*(BETWEEN|UNBOUNDED|CURRENT|[-0-9]+))/\n    }, // disable highlighting in commands CREATE AGGREGATE/COLLATION/DATABASE/OPERTOR/TEXT SEARCH .../TYPE\n    // and in PL/pgSQL RAISE ... USING\n    {\n      begin: /\\b(VERSION|OWNER|TEMPLATE|TABLESPACE|CONNECTION\\s+LIMIT|PROCEDURE|RESTRICT|JOIN|PARSER|COPY|START|END|COLLATION|INPUT|ANALYZE|STORAGE|LIKE|DEFAULT|DELIMITER|ENCODING|COLUMN|CONSTRAINT|TABLE|SCHEMA)\\s*=/\n    }, // PG_smth; HAS_some_PRIVILEGE\n    {\n      //className: 'built_in',\n      begin: /\\b(PG_\\w+?|HAS_[A-Z_]+_PRIVILEGE)\\b/,\n      relevance: 10\n    }, // extract\n    {\n      begin: /\\bEXTRACT\\s*\\(/,\n      end: /\\bFROM\\b/,\n      returnEnd: true,\n      keywords: {\n        //built_in: 'EXTRACT',\n        type: 'CENTURY DAY DECADE DOW DOY EPOCH HOUR ISODOW ISOYEAR MICROSECONDS ' + 'MILLENNIUM MILLISECONDS MINUTE MONTH QUARTER SECOND TIMEZONE TIMEZONE_HOUR ' + 'TIMEZONE_MINUTE WEEK YEAR'\n      }\n    }, // xmlelement, xmlpi - special NAME\n    {\n      begin: /\\b(XMLELEMENT|XMLPI)\\s*\\(\\s*NAME/,\n      keywords: {\n        //built_in: 'XMLELEMENT XMLPI',\n        keyword: 'NAME'\n      }\n    }, // xmlparse, xmlserialize\n    {\n      begin: /\\b(XMLPARSE|XMLSERIALIZE)\\s*\\(\\s*(DOCUMENT|CONTENT)/,\n      keywords: {\n        //built_in: 'XMLPARSE XMLSERIALIZE',\n        keyword: 'DOCUMENT CONTENT'\n      }\n    }, // Sequences. We actually skip everything between CACHE|INCREMENT|MAXVALUE|MINVALUE and\n    // nearest following numeric constant. Without with trick we find a lot of \"keywords\"\n    // in 'avrasm' autodetection test...\n    {\n      beginKeywords: 'CACHE INCREMENT MAXVALUE MINVALUE',\n      end: hljs.C_NUMBER_RE,\n      returnEnd: true,\n      keywords: 'BY CACHE INCREMENT MAXVALUE MINVALUE'\n    }, // WITH|WITHOUT TIME ZONE as part of datatype\n    {\n      className: 'type',\n      begin: /\\b(WITH|WITHOUT)\\s+TIME\\s+ZONE\\b/\n    }, // INTERVAL optional fields\n    {\n      className: 'type',\n      begin: /\\bINTERVAL\\s+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)(\\s+TO\\s+(MONTH|HOUR|MINUTE|SECOND))?\\b/\n    }, // Pseudo-types which allowed only as return type\n    {\n      begin: /\\bRETURNS\\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\\b/,\n      keywords: {\n        keyword: 'RETURNS',\n        type: 'LANGUAGE_HANDLER TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER TSM_HANDLER'\n      }\n    }, // Known functions - only when followed by '('\n    {\n      begin: '\\\\b(' + FUNCTIONS_RE + ')\\\\s*\\\\(' //keywords: { built_in: FUNCTIONS }\n\n    }, // Types\n    {\n      begin: '\\\\.(' + TYPES_RE + ')\\\\b' // prevent highlight as type, say, 'oid' in 'pgclass.oid'\n\n    }, {\n      begin: '\\\\b(' + TYPES_RE + ')\\\\s+PATH\\\\b',\n      // in XMLTABLE\n      keywords: {\n        keyword: 'PATH',\n        // hopefully no one would use PATH type in XMLTABLE...\n        type: TYPES.replace('PATH ', '')\n      }\n    }, {\n      className: 'type',\n      begin: '\\\\b(' + TYPES_RE + ')\\\\b'\n    }, // Strings, see https://www.postgresql.org/docs/11/static/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS\n    {\n      className: 'string',\n      begin: '\\'',\n      end: '\\'',\n      contains: [{\n        begin: '\\'\\''\n      }]\n    }, {\n      className: 'string',\n      begin: '(e|E|u&|U&)\\'',\n      end: '\\'',\n      contains: [{\n        begin: '\\\\\\\\.'\n      }],\n      relevance: 10\n    }, hljs.END_SAME_AS_BEGIN({\n      begin: DOLLAR_STRING,\n      end: DOLLAR_STRING,\n      contains: [{\n        // actually we want them all except SQL; listed are those with known implementations\n        // and XML + JSON just in case\n        subLanguage: ['pgsql', 'perl', 'python', 'tcl', 'r', 'lua', 'java', 'php', 'ruby', 'bash', 'scheme', 'xml', 'json'],\n        endsWithParent: true\n      }]\n    }), // identifiers in quotes\n    {\n      begin: '\"',\n      end: '\"',\n      contains: [{\n        begin: '\"\"'\n      }]\n    }, // numbers\n    hljs.C_NUMBER_MODE, // comments\n    hljs.C_BLOCK_COMMENT_MODE, COMMENT_MODE, // PL/pgSQL staff\n    // %ROWTYPE, %TYPE, $n\n    {\n      className: 'meta',\n      variants: [{\n        begin: '%(ROW)?TYPE',\n        relevance: 10\n      }, // %TYPE, %ROWTYPE\n      {\n        begin: '\\\\$\\\\d+'\n      }, // $n\n      {\n        begin: '^#\\\\w',\n        end: '$'\n      } // #compiler option\n      ]\n    }, // <<labeles>>\n    {\n      className: 'symbol',\n      begin: LABEL,\n      relevance: 10\n    }]\n  };\n}\n\nmodule.exports = pgsql;"],"sourceRoot":""}