Team Ai
Datasetpublic

Brunobkr/llama.cpp_AlgMor24_github

ΩFFFΣLLIa • llama.cpp • AlgMor24 ██████╗ ███████╗███████╗███████╗██╗ ██╗ ██╗ █████╗ ██╔═══██╗██╔════╝██╔════╝██╔════╝██║ ██║ ██║██╔══██╗ ██║ ██║█████╗ █████╗ █████╗ ██║ ██║ ██║███████║ ██║ ██║██╔══╝ ██╔══╝ ██╔══╝ ██║ ██║ ██║██╔══██║ ╚██████╔╝██║ ██║ ███████╗███████╗███████╗██║██║ ██║ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝╚══════╝╚══════╝╚═╝╚═╝ ╚═╝ High-Performance LLM / VLM Inference & Autonomous Agentic Ecosystem… See the full description on the dataset page: https://huggingface.co/datasets/Brunobkr/llama.cpp_AlgMor24_github.

sourceHugging Faceupdated 2mo agoView on Hugging Face
0likes3.1kdownloads
pgsql.js526 linesDownload Raw Back to languages
1/*2Language: PostgreSQL and PL/pgSQL3Author: Egor Rogov (e.rogov@postgrespro.ru)4Website: https://www.postgresql.org/docs/11/sql.html5Description:6    This language incorporates both PostgreSQL SQL dialect and PL/pgSQL language.7    It is based on PostgreSQL version 11. Some notes:8    - Text in double-dollar-strings is _always_ interpreted as some programming code. Text9      in ordinary quotes is _never_ interpreted that way and highlighted just as a string.10    - There are quite a bit "special cases". That's because many keywords are not strictly11      they are keywords in some contexts and ordinary identifiers in others. Only some12      of such cases are handled; you still can get some of your identifiers highlighted13      wrong way.14    - Function names deliberately are not highlighted. There is no way to tell function15      call from other constructs, hence we can't highlight _all_ function names. And16      some names highlighted while others not looks ugly.17Category: database18*/19 20function pgsql(hljs) {21  const COMMENT_MODE = hljs.COMMENT('--', '$');22  const UNQUOTED_IDENT = '[a-zA-Z_][a-zA-Z_0-9$]*';23  const DOLLAR_STRING = '\\$([a-zA-Z_]?|[a-zA-Z_][a-zA-Z_0-9]*)\\$';24  const LABEL = '<<\\s*' + UNQUOTED_IDENT + '\\s*>>';25 26  const SQL_KW =27    // https://www.postgresql.org/docs/11/static/sql-keywords-appendix.html28    // https://www.postgresql.org/docs/11/static/sql-commands.html29    // SQL commands (starting words)30    'ABORT ALTER ANALYZE BEGIN CALL CHECKPOINT|10 CLOSE CLUSTER COMMENT COMMIT COPY CREATE DEALLOCATE DECLARE '31    + 'DELETE DISCARD DO DROP END EXECUTE EXPLAIN FETCH GRANT IMPORT INSERT LISTEN LOAD LOCK MOVE NOTIFY '32    + 'PREPARE REASSIGN|10 REFRESH REINDEX RELEASE RESET REVOKE ROLLBACK SAVEPOINT SECURITY SELECT SET SHOW '33    + 'START TRUNCATE UNLISTEN|10 UPDATE VACUUM|10 VALUES '34    // SQL commands (others)35    + 'AGGREGATE COLLATION CONVERSION|10 DATABASE DEFAULT PRIVILEGES DOMAIN TRIGGER EXTENSION FOREIGN '36    + 'WRAPPER|10 TABLE FUNCTION GROUP LANGUAGE LARGE OBJECT MATERIALIZED VIEW OPERATOR CLASS '37    + 'FAMILY POLICY PUBLICATION|10 ROLE RULE SCHEMA SEQUENCE SERVER STATISTICS SUBSCRIPTION SYSTEM '38    + 'TABLESPACE CONFIGURATION DICTIONARY PARSER TEMPLATE TYPE USER MAPPING PREPARED ACCESS '39    + 'METHOD CAST AS TRANSFORM TRANSACTION OWNED TO INTO SESSION AUTHORIZATION '40    + 'INDEX PROCEDURE ASSERTION '41    // additional reserved key words42    + 'ALL ANALYSE AND ANY ARRAY ASC ASYMMETRIC|10 BOTH CASE CHECK '43    + 'COLLATE COLUMN CONCURRENTLY|10 CONSTRAINT CROSS '44    + 'DEFERRABLE RANGE '45    + 'DESC DISTINCT ELSE EXCEPT FOR FREEZE|10 FROM FULL HAVING '46    + 'ILIKE IN INITIALLY INNER INTERSECT IS ISNULL JOIN LATERAL LEADING LIKE LIMIT '47    + 'NATURAL NOT NOTNULL NULL OFFSET ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY '48    + 'REFERENCES RETURNING SIMILAR SOME SYMMETRIC TABLESAMPLE THEN '49    + 'TRAILING UNION UNIQUE USING VARIADIC|10 VERBOSE WHEN WHERE WINDOW WITH '50    // some of non-reserved (which are used in clauses or as PL/pgSQL keyword)51    + 'BY RETURNS INOUT OUT SETOF|10 IF STRICT CURRENT CONTINUE OWNER LOCATION OVER PARTITION WITHIN '52    + 'BETWEEN ESCAPE EXTERNAL INVOKER DEFINER WORK RENAME VERSION CONNECTION CONNECT '53    + 'TABLES TEMP TEMPORARY FUNCTIONS SEQUENCES TYPES SCHEMAS OPTION CASCADE RESTRICT ADD ADMIN '54    + 'EXISTS VALID VALIDATE ENABLE DISABLE REPLICA|10 ALWAYS PASSING COLUMNS PATH '55    + 'REF VALUE OVERRIDING IMMUTABLE STABLE VOLATILE BEFORE AFTER EACH ROW PROCEDURAL '56    + 'ROUTINE NO HANDLER VALIDATOR OPTIONS STORAGE OIDS|10 WITHOUT INHERIT DEPENDS CALLED '57    + 'INPUT LEAKPROOF|10 COST ROWS NOWAIT SEARCH UNTIL ENCRYPTED|10 PASSWORD CONFLICT|10 '58    + 'INSTEAD INHERITS CHARACTERISTICS WRITE CURSOR ALSO STATEMENT SHARE EXCLUSIVE INLINE '59    + 'ISOLATION REPEATABLE READ COMMITTED SERIALIZABLE UNCOMMITTED LOCAL GLOBAL SQL PROCEDURES '60    + 'RECURSIVE SNAPSHOT ROLLUP CUBE TRUSTED|10 INCLUDE FOLLOWING PRECEDING UNBOUNDED RANGE GROUPS '61    + 'UNENCRYPTED|10 SYSID FORMAT DELIMITER HEADER QUOTE ENCODING FILTER OFF '62    // some parameters of VACUUM/ANALYZE/EXPLAIN63    + 'FORCE_QUOTE FORCE_NOT_NULL FORCE_NULL COSTS BUFFERS TIMING SUMMARY DISABLE_PAGE_SKIPPING '64    //65    + 'RESTART CYCLE GENERATED IDENTITY DEFERRED IMMEDIATE LEVEL LOGGED UNLOGGED '66    + 'OF NOTHING NONE EXCLUDE ATTRIBUTE '67    // from GRANT (not keywords actually)68    + 'USAGE ROUTINES '69    // actually literals, but look better this way (due to IS TRUE, IS FALSE, ISNULL etc)70    + 'TRUE FALSE NAN INFINITY ';71 72  const ROLE_ATTRS = // only those not in keywrods already73    'SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT '74    + 'LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS ';75 76  const PLPGSQL_KW =77    'ALIAS BEGIN CONSTANT DECLARE END EXCEPTION RETURN PERFORM|10 RAISE GET DIAGNOSTICS '78    + 'STACKED|10 FOREACH LOOP ELSIF EXIT WHILE REVERSE SLICE DEBUG LOG INFO NOTICE WARNING ASSERT '79    + 'OPEN ';80 81  const TYPES =82    // https://www.postgresql.org/docs/11/static/datatype.html83    'BIGINT INT8 BIGSERIAL SERIAL8 BIT VARYING VARBIT BOOLEAN BOOL BOX BYTEA CHARACTER CHAR VARCHAR '84    + 'CIDR CIRCLE DATE DOUBLE PRECISION FLOAT8 FLOAT INET INTEGER INT INT4 INTERVAL JSON JSONB LINE LSEG|10 '85    + 'MACADDR MACADDR8 MONEY NUMERIC DEC DECIMAL PATH POINT POLYGON REAL FLOAT4 SMALLINT INT2 '86    + 'SMALLSERIAL|10 SERIAL2|10 SERIAL|10 SERIAL4|10 TEXT TIME ZONE TIMETZ|10 TIMESTAMP TIMESTAMPTZ|10 TSQUERY|10 TSVECTOR|10 '87    + 'TXID_SNAPSHOT|10 UUID XML NATIONAL NCHAR '88    + 'INT4RANGE|10 INT8RANGE|10 NUMRANGE|10 TSRANGE|10 TSTZRANGE|10 DATERANGE|10 '89    // pseudotypes90    + 'ANYELEMENT ANYARRAY ANYNONARRAY ANYENUM ANYRANGE CSTRING INTERNAL '91    + 'RECORD PG_DDL_COMMAND VOID UNKNOWN OPAQUE REFCURSOR '92    // spec. type93    + 'NAME '94    // OID-types95    + 'OID REGPROC|10 REGPROCEDURE|10 REGOPER|10 REGOPERATOR|10 REGCLASS|10 REGTYPE|10 REGROLE|10 '96    + 'REGNAMESPACE|10 REGCONFIG|10 REGDICTIONARY|10 ';// +97 98  const TYPES_RE =99    TYPES.trim()100      .split(' ')101      .map(function(val) { return val.split('|')[0]; })102      .join('|');103 104  const SQL_BI =105    'CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURRENT_CATALOG|10 CURRENT_DATE LOCALTIME LOCALTIMESTAMP '106    + 'CURRENT_ROLE|10 CURRENT_SCHEMA|10 SESSION_USER PUBLIC ';107 108  const PLPGSQL_BI =109    'FOUND NEW OLD TG_NAME|10 TG_WHEN|10 TG_LEVEL|10 TG_OP|10 TG_RELID|10 TG_RELNAME|10 '110    + 'TG_TABLE_NAME|10 TG_TABLE_SCHEMA|10 TG_NARGS|10 TG_ARGV|10 TG_EVENT|10 TG_TAG|10 '111    // get diagnostics112    + 'ROW_COUNT RESULT_OID|10 PG_CONTEXT|10 RETURNED_SQLSTATE COLUMN_NAME CONSTRAINT_NAME '113    + 'PG_DATATYPE_NAME|10 MESSAGE_TEXT TABLE_NAME SCHEMA_NAME PG_EXCEPTION_DETAIL|10 '114    + 'PG_EXCEPTION_HINT|10 PG_EXCEPTION_CONTEXT|10 ';115 116  const PLPGSQL_EXCEPTIONS =117    // exceptions https://www.postgresql.org/docs/current/static/errcodes-appendix.html118    'SQLSTATE SQLERRM|10 '119    + 'SUCCESSFUL_COMPLETION WARNING DYNAMIC_RESULT_SETS_RETURNED IMPLICIT_ZERO_BIT_PADDING '120    + 'NULL_VALUE_ELIMINATED_IN_SET_FUNCTION PRIVILEGE_NOT_GRANTED PRIVILEGE_NOT_REVOKED '121    + 'STRING_DATA_RIGHT_TRUNCATION DEPRECATED_FEATURE NO_DATA NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED '122    + 'SQL_STATEMENT_NOT_YET_COMPLETE CONNECTION_EXCEPTION CONNECTION_DOES_NOT_EXIST CONNECTION_FAILURE '123    + 'SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION '124    + 'TRANSACTION_RESOLUTION_UNKNOWN PROTOCOL_VIOLATION TRIGGERED_ACTION_EXCEPTION FEATURE_NOT_SUPPORTED '125    + 'INVALID_TRANSACTION_INITIATION LOCATOR_EXCEPTION INVALID_LOCATOR_SPECIFICATION INVALID_GRANTOR '126    + 'INVALID_GRANT_OPERATION INVALID_ROLE_SPECIFICATION DIAGNOSTICS_EXCEPTION '127    + 'STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER CASE_NOT_FOUND CARDINALITY_VIOLATION '128    + 'DATA_EXCEPTION ARRAY_SUBSCRIPT_ERROR CHARACTER_NOT_IN_REPERTOIRE DATETIME_FIELD_OVERFLOW '129    + 'DIVISION_BY_ZERO ERROR_IN_ASSIGNMENT ESCAPE_CHARACTER_CONFLICT INDICATOR_OVERFLOW '130    + 'INTERVAL_FIELD_OVERFLOW INVALID_ARGUMENT_FOR_LOGARITHM INVALID_ARGUMENT_FOR_NTILE_FUNCTION '131    + 'INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION INVALID_ARGUMENT_FOR_POWER_FUNCTION '132    + 'INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION INVALID_CHARACTER_VALUE_FOR_CAST '133    + 'INVALID_DATETIME_FORMAT INVALID_ESCAPE_CHARACTER INVALID_ESCAPE_OCTET INVALID_ESCAPE_SEQUENCE '134    + 'NONSTANDARD_USE_OF_ESCAPE_CHARACTER INVALID_INDICATOR_PARAMETER_VALUE INVALID_PARAMETER_VALUE '135    + 'INVALID_REGULAR_EXPRESSION INVALID_ROW_COUNT_IN_LIMIT_CLAUSE '136    + 'INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE INVALID_TABLESAMPLE_ARGUMENT INVALID_TABLESAMPLE_REPEAT '137    + 'INVALID_TIME_ZONE_DISPLACEMENT_VALUE INVALID_USE_OF_ESCAPE_CHARACTER MOST_SPECIFIC_TYPE_MISMATCH '138    + 'NULL_VALUE_NOT_ALLOWED NULL_VALUE_NO_INDICATOR_PARAMETER NUMERIC_VALUE_OUT_OF_RANGE '139    + 'SEQUENCE_GENERATOR_LIMIT_EXCEEDED STRING_DATA_LENGTH_MISMATCH STRING_DATA_RIGHT_TRUNCATION '140    + 'SUBSTRING_ERROR TRIM_ERROR UNTERMINATED_C_STRING ZERO_LENGTH_CHARACTER_STRING '141    + 'FLOATING_POINT_EXCEPTION INVALID_TEXT_REPRESENTATION INVALID_BINARY_REPRESENTATION '142    + 'BAD_COPY_FILE_FORMAT UNTRANSLATABLE_CHARACTER NOT_AN_XML_DOCUMENT INVALID_XML_DOCUMENT '143    + 'INVALID_XML_CONTENT INVALID_XML_COMMENT INVALID_XML_PROCESSING_INSTRUCTION '144    + 'INTEGRITY_CONSTRAINT_VIOLATION RESTRICT_VIOLATION NOT_NULL_VIOLATION FOREIGN_KEY_VIOLATION '145    + 'UNIQUE_VIOLATION CHECK_VIOLATION EXCLUSION_VIOLATION INVALID_CURSOR_STATE '146    + 'INVALID_TRANSACTION_STATE ACTIVE_SQL_TRANSACTION BRANCH_TRANSACTION_ALREADY_ACTIVE '147    + 'HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION '148    + 'INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION '149    + 'NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION READ_ONLY_SQL_TRANSACTION '150    + 'SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED NO_ACTIVE_SQL_TRANSACTION '151    + 'IN_FAILED_SQL_TRANSACTION IDLE_IN_TRANSACTION_SESSION_TIMEOUT INVALID_SQL_STATEMENT_NAME '152    + 'TRIGGERED_DATA_CHANGE_VIOLATION INVALID_AUTHORIZATION_SPECIFICATION INVALID_PASSWORD '153    + 'DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST DEPENDENT_OBJECTS_STILL_EXIST '154    + 'INVALID_TRANSACTION_TERMINATION SQL_ROUTINE_EXCEPTION FUNCTION_EXECUTED_NO_RETURN_STATEMENT '155    + 'MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED '156    + 'READING_SQL_DATA_NOT_PERMITTED INVALID_CURSOR_NAME EXTERNAL_ROUTINE_EXCEPTION '157    + 'CONTAINING_SQL_NOT_PERMITTED MODIFYING_SQL_DATA_NOT_PERMITTED '158    + 'PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED '159    + 'EXTERNAL_ROUTINE_INVOCATION_EXCEPTION INVALID_SQLSTATE_RETURNED NULL_VALUE_NOT_ALLOWED '160    + 'TRIGGER_PROTOCOL_VIOLATED SRF_PROTOCOL_VIOLATED EVENT_TRIGGER_PROTOCOL_VIOLATED '161    + 'SAVEPOINT_EXCEPTION INVALID_SAVEPOINT_SPECIFICATION INVALID_CATALOG_NAME '162    + 'INVALID_SCHEMA_NAME TRANSACTION_ROLLBACK TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION '163    + 'SERIALIZATION_FAILURE STATEMENT_COMPLETION_UNKNOWN DEADLOCK_DETECTED '164    + 'SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION SYNTAX_ERROR INSUFFICIENT_PRIVILEGE CANNOT_COERCE '165    + 'GROUPING_ERROR WINDOWING_ERROR INVALID_RECURSION INVALID_FOREIGN_KEY INVALID_NAME '166    + 'NAME_TOO_LONG RESERVED_NAME DATATYPE_MISMATCH INDETERMINATE_DATATYPE COLLATION_MISMATCH '167    + 'INDETERMINATE_COLLATION WRONG_OBJECT_TYPE GENERATED_ALWAYS UNDEFINED_COLUMN '168    + 'UNDEFINED_FUNCTION UNDEFINED_TABLE UNDEFINED_PARAMETER UNDEFINED_OBJECT '169    + 'DUPLICATE_COLUMN DUPLICATE_CURSOR DUPLICATE_DATABASE DUPLICATE_FUNCTION '170    + 'DUPLICATE_PREPARED_STATEMENT DUPLICATE_SCHEMA DUPLICATE_TABLE DUPLICATE_ALIAS '171    + 'DUPLICATE_OBJECT AMBIGUOUS_COLUMN AMBIGUOUS_FUNCTION AMBIGUOUS_PARAMETER AMBIGUOUS_ALIAS '172    + 'INVALID_COLUMN_REFERENCE INVALID_COLUMN_DEFINITION INVALID_CURSOR_DEFINITION '173    + 'INVALID_DATABASE_DEFINITION INVALID_FUNCTION_DEFINITION '174    + 'INVALID_PREPARED_STATEMENT_DEFINITION INVALID_SCHEMA_DEFINITION INVALID_TABLE_DEFINITION '175    + 'INVALID_OBJECT_DEFINITION WITH_CHECK_OPTION_VIOLATION INSUFFICIENT_RESOURCES DISK_FULL '176    + 'OUT_OF_MEMORY TOO_MANY_CONNECTIONS CONFIGURATION_LIMIT_EXCEEDED PROGRAM_LIMIT_EXCEEDED '177    + 'STATEMENT_TOO_COMPLEX TOO_MANY_COLUMNS TOO_MANY_ARGUMENTS OBJECT_NOT_IN_PREREQUISITE_STATE '178    + 'OBJECT_IN_USE CANT_CHANGE_RUNTIME_PARAM LOCK_NOT_AVAILABLE OPERATOR_INTERVENTION '179    + 'QUERY_CANCELED ADMIN_SHUTDOWN CRASH_SHUTDOWN CANNOT_CONNECT_NOW DATABASE_DROPPED '180    + 'SYSTEM_ERROR IO_ERROR UNDEFINED_FILE DUPLICATE_FILE SNAPSHOT_TOO_OLD CONFIG_FILE_ERROR '181    + 'LOCK_FILE_EXISTS FDW_ERROR FDW_COLUMN_NAME_NOT_FOUND FDW_DYNAMIC_PARAMETER_VALUE_NEEDED '182    + 'FDW_FUNCTION_SEQUENCE_ERROR FDW_INCONSISTENT_DESCRIPTOR_INFORMATION '183    + 'FDW_INVALID_ATTRIBUTE_VALUE FDW_INVALID_COLUMN_NAME FDW_INVALID_COLUMN_NUMBER '184    + 'FDW_INVALID_DATA_TYPE FDW_INVALID_DATA_TYPE_DESCRIPTORS '185    + 'FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER FDW_INVALID_HANDLE FDW_INVALID_OPTION_INDEX '186    + 'FDW_INVALID_OPTION_NAME FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH '187    + 'FDW_INVALID_STRING_FORMAT FDW_INVALID_USE_OF_NULL_POINTER FDW_TOO_MANY_HANDLES '188    + 'FDW_OUT_OF_MEMORY FDW_NO_SCHEMAS FDW_OPTION_NAME_NOT_FOUND FDW_REPLY_HANDLE '189    + 'FDW_SCHEMA_NOT_FOUND FDW_TABLE_NOT_FOUND FDW_UNABLE_TO_CREATE_EXECUTION '190    + 'FDW_UNABLE_TO_CREATE_REPLY FDW_UNABLE_TO_ESTABLISH_CONNECTION PLPGSQL_ERROR '191    + 'RAISE_EXCEPTION NO_DATA_FOUND TOO_MANY_ROWS ASSERT_FAILURE INTERNAL_ERROR DATA_CORRUPTED '192    + 'INDEX_CORRUPTED ';193 194  const FUNCTIONS =195    // https://www.postgresql.org/docs/11/static/functions-aggregate.html196    'ARRAY_AGG AVG BIT_AND BIT_OR BOOL_AND BOOL_OR COUNT EVERY JSON_AGG JSONB_AGG JSON_OBJECT_AGG '197    + 'JSONB_OBJECT_AGG MAX MIN MODE STRING_AGG SUM XMLAGG '198    + 'CORR COVAR_POP COVAR_SAMP REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE '199    + 'REGR_SXX REGR_SXY REGR_SYY STDDEV STDDEV_POP STDDEV_SAMP VARIANCE VAR_POP VAR_SAMP '200    + 'PERCENTILE_CONT PERCENTILE_DISC '201    // https://www.postgresql.org/docs/11/static/functions-window.html202    + 'ROW_NUMBER RANK DENSE_RANK PERCENT_RANK CUME_DIST NTILE LAG LEAD FIRST_VALUE LAST_VALUE NTH_VALUE '203    // https://www.postgresql.org/docs/11/static/functions-comparison.html204    + 'NUM_NONNULLS NUM_NULLS '205    // https://www.postgresql.org/docs/11/static/functions-math.html206    + 'ABS CBRT CEIL CEILING DEGREES DIV EXP FLOOR LN LOG MOD PI POWER RADIANS ROUND SCALE SIGN SQRT '207    + 'TRUNC WIDTH_BUCKET '208    + 'RANDOM SETSEED '209    + 'ACOS ACOSD ASIN ASIND ATAN ATAND ATAN2 ATAN2D COS COSD COT COTD SIN SIND TAN TAND '210    // https://www.postgresql.org/docs/11/static/functions-string.html211    + 'BIT_LENGTH CHAR_LENGTH CHARACTER_LENGTH LOWER OCTET_LENGTH OVERLAY POSITION SUBSTRING TREAT TRIM UPPER '212    + 'ASCII BTRIM CHR CONCAT CONCAT_WS CONVERT CONVERT_FROM CONVERT_TO DECODE ENCODE INITCAP '213    + 'LEFT LENGTH LPAD LTRIM MD5 PARSE_IDENT PG_CLIENT_ENCODING QUOTE_IDENT|10 QUOTE_LITERAL|10 '214    + 'QUOTE_NULLABLE|10 REGEXP_MATCH REGEXP_MATCHES REGEXP_REPLACE REGEXP_SPLIT_TO_ARRAY '215    + 'REGEXP_SPLIT_TO_TABLE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPLIT_PART STRPOS SUBSTR '216    + 'TO_ASCII TO_HEX TRANSLATE '217    // https://www.postgresql.org/docs/11/static/functions-binarystring.html218    + 'OCTET_LENGTH GET_BIT GET_BYTE SET_BIT SET_BYTE '219    // https://www.postgresql.org/docs/11/static/functions-formatting.html220    + 'TO_CHAR TO_DATE TO_NUMBER TO_TIMESTAMP '221    // https://www.postgresql.org/docs/11/static/functions-datetime.html222    + 'AGE CLOCK_TIMESTAMP|10 DATE_PART DATE_TRUNC ISFINITE JUSTIFY_DAYS JUSTIFY_HOURS JUSTIFY_INTERVAL '223    + 'MAKE_DATE MAKE_INTERVAL|10 MAKE_TIME MAKE_TIMESTAMP|10 MAKE_TIMESTAMPTZ|10 NOW STATEMENT_TIMESTAMP|10 '224    + 'TIMEOFDAY TRANSACTION_TIMESTAMP|10 '225    // https://www.postgresql.org/docs/11/static/functions-enum.html226    + 'ENUM_FIRST ENUM_LAST ENUM_RANGE '227    // https://www.postgresql.org/docs/11/static/functions-geometry.html228    + 'AREA CENTER DIAMETER HEIGHT ISCLOSED ISOPEN NPOINTS PCLOSE POPEN RADIUS WIDTH '229    + 'BOX BOUND_BOX CIRCLE LINE LSEG PATH POLYGON '230    // https://www.postgresql.org/docs/11/static/functions-net.html231    + 'ABBREV BROADCAST HOST HOSTMASK MASKLEN NETMASK NETWORK SET_MASKLEN TEXT INET_SAME_FAMILY '232    + 'INET_MERGE MACADDR8_SET7BIT '233    // https://www.postgresql.org/docs/11/static/functions-textsearch.html234    + 'ARRAY_TO_TSVECTOR GET_CURRENT_TS_CONFIG NUMNODE PLAINTO_TSQUERY PHRASETO_TSQUERY WEBSEARCH_TO_TSQUERY '235    + 'QUERYTREE SETWEIGHT STRIP TO_TSQUERY TO_TSVECTOR JSON_TO_TSVECTOR JSONB_TO_TSVECTOR TS_DELETE '236    + 'TS_FILTER TS_HEADLINE TS_RANK TS_RANK_CD TS_REWRITE TSQUERY_PHRASE TSVECTOR_TO_ARRAY '237    + 'TSVECTOR_UPDATE_TRIGGER TSVECTOR_UPDATE_TRIGGER_COLUMN '238    // https://www.postgresql.org/docs/11/static/functions-xml.html239    + 'XMLCOMMENT XMLCONCAT XMLELEMENT XMLFOREST XMLPI XMLROOT '240    + 'XMLEXISTS XML_IS_WELL_FORMED XML_IS_WELL_FORMED_DOCUMENT XML_IS_WELL_FORMED_CONTENT '241    + 'XPATH XPATH_EXISTS XMLTABLE XMLNAMESPACES '242    + 'TABLE_TO_XML TABLE_TO_XMLSCHEMA TABLE_TO_XML_AND_XMLSCHEMA '243    + 'QUERY_TO_XML QUERY_TO_XMLSCHEMA QUERY_TO_XML_AND_XMLSCHEMA '244    + 'CURSOR_TO_XML CURSOR_TO_XMLSCHEMA '245    + 'SCHEMA_TO_XML SCHEMA_TO_XMLSCHEMA SCHEMA_TO_XML_AND_XMLSCHEMA '246    + 'DATABASE_TO_XML DATABASE_TO_XMLSCHEMA DATABASE_TO_XML_AND_XMLSCHEMA '247    + 'XMLATTRIBUTES '248    // https://www.postgresql.org/docs/11/static/functions-json.html249    + 'TO_JSON TO_JSONB ARRAY_TO_JSON ROW_TO_JSON JSON_BUILD_ARRAY JSONB_BUILD_ARRAY JSON_BUILD_OBJECT '250    + 'JSONB_BUILD_OBJECT JSON_OBJECT JSONB_OBJECT JSON_ARRAY_LENGTH JSONB_ARRAY_LENGTH JSON_EACH '251    + 'JSONB_EACH JSON_EACH_TEXT JSONB_EACH_TEXT JSON_EXTRACT_PATH JSONB_EXTRACT_PATH '252    + 'JSON_OBJECT_KEYS JSONB_OBJECT_KEYS JSON_POPULATE_RECORD JSONB_POPULATE_RECORD JSON_POPULATE_RECORDSET '253    + 'JSONB_POPULATE_RECORDSET JSON_ARRAY_ELEMENTS JSONB_ARRAY_ELEMENTS JSON_ARRAY_ELEMENTS_TEXT '254    + 'JSONB_ARRAY_ELEMENTS_TEXT JSON_TYPEOF JSONB_TYPEOF JSON_TO_RECORD JSONB_TO_RECORD JSON_TO_RECORDSET '255    + 'JSONB_TO_RECORDSET JSON_STRIP_NULLS JSONB_STRIP_NULLS JSONB_SET JSONB_INSERT JSONB_PRETTY '256    // https://www.postgresql.org/docs/11/static/functions-sequence.html257    + 'CURRVAL LASTVAL NEXTVAL SETVAL '258    // https://www.postgresql.org/docs/11/static/functions-conditional.html259    + 'COALESCE NULLIF GREATEST LEAST '260    // https://www.postgresql.org/docs/11/static/functions-array.html261    + 'ARRAY_APPEND ARRAY_CAT ARRAY_NDIMS ARRAY_DIMS ARRAY_FILL ARRAY_LENGTH ARRAY_LOWER ARRAY_POSITION '262    + 'ARRAY_POSITIONS ARRAY_PREPEND ARRAY_REMOVE ARRAY_REPLACE ARRAY_TO_STRING ARRAY_UPPER CARDINALITY '263    + 'STRING_TO_ARRAY UNNEST '264    // https://www.postgresql.org/docs/11/static/functions-range.html265    + 'ISEMPTY LOWER_INC UPPER_INC LOWER_INF UPPER_INF RANGE_MERGE '266    // https://www.postgresql.org/docs/11/static/functions-srf.html267    + 'GENERATE_SERIES GENERATE_SUBSCRIPTS '268    // https://www.postgresql.org/docs/11/static/functions-info.html269    + 'CURRENT_DATABASE CURRENT_QUERY CURRENT_SCHEMA|10 CURRENT_SCHEMAS|10 INET_CLIENT_ADDR INET_CLIENT_PORT '270    + 'INET_SERVER_ADDR INET_SERVER_PORT ROW_SECURITY_ACTIVE FORMAT_TYPE '271    + 'TO_REGCLASS TO_REGPROC TO_REGPROCEDURE TO_REGOPER TO_REGOPERATOR TO_REGTYPE TO_REGNAMESPACE TO_REGROLE '272    + 'COL_DESCRIPTION OBJ_DESCRIPTION SHOBJ_DESCRIPTION '273    + 'TXID_CURRENT TXID_CURRENT_IF_ASSIGNED TXID_CURRENT_SNAPSHOT TXID_SNAPSHOT_XIP TXID_SNAPSHOT_XMAX '274    + 'TXID_SNAPSHOT_XMIN TXID_VISIBLE_IN_SNAPSHOT TXID_STATUS '275    // https://www.postgresql.org/docs/11/static/functions-admin.html276    + 'CURRENT_SETTING SET_CONFIG BRIN_SUMMARIZE_NEW_VALUES BRIN_SUMMARIZE_RANGE BRIN_DESUMMARIZE_RANGE '277    + 'GIN_CLEAN_PENDING_LIST '278    // https://www.postgresql.org/docs/11/static/functions-trigger.html279    + 'SUPPRESS_REDUNDANT_UPDATES_TRIGGER '280    // ihttps://www.postgresql.org/docs/devel/static/lo-funcs.html281    + 'LO_FROM_BYTEA LO_PUT LO_GET LO_CREAT LO_CREATE LO_UNLINK LO_IMPORT LO_EXPORT LOREAD LOWRITE '282    //283    + 'GROUPING CAST ';284 285  const FUNCTIONS_RE =286      FUNCTIONS.trim()287        .split(' ')288        .map(function(val) { return val.split('|')[0]; })289        .join('|');290 291  return {292    name: 'PostgreSQL',293    aliases: [294      'postgres',295      'postgresql'296    ],297    supersetOf: "sql",298    case_insensitive: true,299    keywords: {300      keyword:301            SQL_KW + PLPGSQL_KW + ROLE_ATTRS,302      built_in:303            SQL_BI + PLPGSQL_BI + PLPGSQL_EXCEPTIONS304    },305    // Forbid some cunstructs from other languages to improve autodetect. In fact306    // "[a-z]:" is legal (as part of array slice), but improbabal.307    illegal: /:==|\W\s*\(\*|(^|\s)\$[a-z]|\{\{|[a-z]:\s*$|\.\.\.|TO:|DO:/,308    contains: [309      // special handling of some words, which are reserved only in some contexts310      {311        className: 'keyword',312        variants: [313          { begin: /\bTEXT\s*SEARCH\b/ },314          { begin: /\b(PRIMARY|FOREIGN|FOR(\s+NO)?)\s+KEY\b/ },315          { begin: /\bPARALLEL\s+(UNSAFE|RESTRICTED|SAFE)\b/ },316          { begin: /\bSTORAGE\s+(PLAIN|EXTERNAL|EXTENDED|MAIN)\b/ },317          { begin: /\bMATCH\s+(FULL|PARTIAL|SIMPLE)\b/ },318          { begin: /\bNULLS\s+(FIRST|LAST)\b/ },319          { begin: /\bEVENT\s+TRIGGER\b/ },320          { begin: /\b(MAPPING|OR)\s+REPLACE\b/ },321          { begin: /\b(FROM|TO)\s+(PROGRAM|STDIN|STDOUT)\b/ },322          { begin: /\b(SHARE|EXCLUSIVE)\s+MODE\b/ },323          { begin: /\b(LEFT|RIGHT)\s+(OUTER\s+)?JOIN\b/ },324          { begin: /\b(FETCH|MOVE)\s+(NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE|FORWARD|BACKWARD)\b/ },325          { begin: /\bPRESERVE\s+ROWS\b/ },326          { begin: /\bDISCARD\s+PLANS\b/ },327          { begin: /\bREFERENCING\s+(OLD|NEW)\b/ },328          { begin: /\bSKIP\s+LOCKED\b/ },329          { begin: /\bGROUPING\s+SETS\b/ },330          { begin: /\b(BINARY|INSENSITIVE|SCROLL|NO\s+SCROLL)\s+(CURSOR|FOR)\b/ },331          { begin: /\b(WITH|WITHOUT)\s+HOLD\b/ },332          { begin: /\bWITH\s+(CASCADED|LOCAL)\s+CHECK\s+OPTION\b/ },333          { begin: /\bEXCLUDE\s+(TIES|NO\s+OTHERS)\b/ },334          { begin: /\bFORMAT\s+(TEXT|XML|JSON|YAML)\b/ },335          { begin: /\bSET\s+((SESSION|LOCAL)\s+)?NAMES\b/ },336          { begin: /\bIS\s+(NOT\s+)?UNKNOWN\b/ },337          { begin: /\bSECURITY\s+LABEL\b/ },338          { begin: /\bSTANDALONE\s+(YES|NO|NO\s+VALUE)\b/ },339          { begin: /\bWITH\s+(NO\s+)?DATA\b/ },340          { begin: /\b(FOREIGN|SET)\s+DATA\b/ },341          { begin: /\bSET\s+(CATALOG|CONSTRAINTS)\b/ },342          { begin: /\b(WITH|FOR)\s+ORDINALITY\b/ },343          { begin: /\bIS\s+(NOT\s+)?DOCUMENT\b/ },344          { begin: /\bXML\s+OPTION\s+(DOCUMENT|CONTENT)\b/ },345          { begin: /\b(STRIP|PRESERVE)\s+WHITESPACE\b/ },346          { begin: /\bNO\s+(ACTION|MAXVALUE|MINVALUE)\b/ },347          { begin: /\bPARTITION\s+BY\s+(RANGE|LIST|HASH)\b/ },348          { begin: /\bAT\s+TIME\s+ZONE\b/ },349          { begin: /\bGRANTED\s+BY\b/ },350          { begin: /\bRETURN\s+(QUERY|NEXT)\b/ },351          { begin: /\b(ATTACH|DETACH)\s+PARTITION\b/ },352          { begin: /\bFORCE\s+ROW\s+LEVEL\s+SECURITY\b/ },353          { begin: /\b(INCLUDING|EXCLUDING)\s+(COMMENTS|CONSTRAINTS|DEFAULTS|IDENTITY|INDEXES|STATISTICS|STORAGE|ALL)\b/ },354          { begin: /\bAS\s+(ASSIGNMENT|IMPLICIT|PERMISSIVE|RESTRICTIVE|ENUM|RANGE)\b/ }355        ]356      },357      // functions named as keywords, followed by '('358      { begin: /\b(FORMAT|FAMILY|VERSION)\s*\(/359        // keywords: { built_in: 'FORMAT FAMILY VERSION' }360      },361      // INCLUDE ( ... ) in index_parameters in CREATE TABLE362      {363        begin: /\bINCLUDE\s*\(/,364        keywords: 'INCLUDE'365      },366      // not highlight RANGE if not in frame_clause (not 100% correct, but seems satisfactory)367      { begin: /\bRANGE(?!\s*(BETWEEN|UNBOUNDED|CURRENT|[-0-9]+))/ },368      // disable highlighting in commands CREATE AGGREGATE/COLLATION/DATABASE/OPERTOR/TEXT SEARCH .../TYPE369      // and in PL/pgSQL RAISE ... USING370      { 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*=/ },371      // PG_smth; HAS_some_PRIVILEGE372      {373        // className: 'built_in',374        begin: /\b(PG_\w+?|HAS_[A-Z_]+_PRIVILEGE)\b/,375        relevance: 10376      },377      // extract378      {379        begin: /\bEXTRACT\s*\(/,380        end: /\bFROM\b/,381        returnEnd: true,382        keywords: {383          // built_in: 'EXTRACT',384          type: 'CENTURY DAY DECADE DOW DOY EPOCH HOUR ISODOW ISOYEAR MICROSECONDS '385                        + 'MILLENNIUM MILLISECONDS MINUTE MONTH QUARTER SECOND TIMEZONE TIMEZONE_HOUR '386                        + 'TIMEZONE_MINUTE WEEK YEAR' }387      },388      // xmlelement, xmlpi - special NAME389      {390        begin: /\b(XMLELEMENT|XMLPI)\s*\(\s*NAME/,391        keywords: {392          // built_in: 'XMLELEMENT XMLPI',393          keyword: 'NAME' }394      },395      // xmlparse, xmlserialize396      {397        begin: /\b(XMLPARSE|XMLSERIALIZE)\s*\(\s*(DOCUMENT|CONTENT)/,398        keywords: {399          // built_in: 'XMLPARSE XMLSERIALIZE',400          keyword: 'DOCUMENT CONTENT' }401      },402      // Sequences. We actually skip everything between CACHE|INCREMENT|MAXVALUE|MINVALUE and403      // nearest following numeric constant. Without with trick we find a lot of "keywords"404      // in 'avrasm' autodetection test...405      {406        beginKeywords: 'CACHE INCREMENT MAXVALUE MINVALUE',407        end: hljs.C_NUMBER_RE,408        returnEnd: true,409        keywords: 'BY CACHE INCREMENT MAXVALUE MINVALUE'410      },411      // WITH|WITHOUT TIME ZONE as part of datatype412      {413        className: 'type',414        begin: /\b(WITH|WITHOUT)\s+TIME\s+ZONE\b/415      },416      // INTERVAL optional fields417      {418        className: 'type',419        begin: /\bINTERVAL\s+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)(\s+TO\s+(MONTH|HOUR|MINUTE|SECOND))?\b/420      },421      // Pseudo-types which allowed only as return type422      {423        begin: /\bRETURNS\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\b/,424        keywords: {425          keyword: 'RETURNS',426          type: 'LANGUAGE_HANDLER TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER TSM_HANDLER'427        }428      },429      // Known functions - only when followed by '('430      { begin: '\\b(' + FUNCTIONS_RE + ')\\s*\\('431        // keywords: { built_in: FUNCTIONS }432      },433      // Types434      { begin: '\\.(' + TYPES_RE + ')\\b' // prevent highlight as type, say, 'oid' in 'pgclass.oid'435      },436      {437        begin: '\\b(' + TYPES_RE + ')\\s+PATH\\b', // in XMLTABLE438        keywords: {439          keyword: 'PATH', // hopefully no one would use PATH type in XMLTABLE...440          type: TYPES.replace('PATH ', '')441        }442      },443      {444        className: 'type',445        begin: '\\b(' + TYPES_RE + ')\\b'446      },447      // Strings, see https://www.postgresql.org/docs/11/static/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS448      {449        className: 'string',450        begin: '\'',451        end: '\'',452        contains: [ { begin: '\'\'' } ]453      },454      {455        className: 'string',456        begin: '(e|E|u&|U&)\'',457        end: '\'',458        contains: [ { begin: '\\\\.' } ],459        relevance: 10460      },461      hljs.END_SAME_AS_BEGIN({462        begin: DOLLAR_STRING,463        end: DOLLAR_STRING,464        contains: [465          {466            // actually we want them all except SQL; listed are those with known implementations467            // and XML + JSON just in case468            subLanguage: [469              'pgsql',470              'perl',471              'python',472              'tcl',473              'r',474              'lua',475              'java',476              'php',477              'ruby',478              'bash',479              'scheme',480              'xml',481              'json'482            ],483            endsWithParent: true484          }485        ]486      }),487      // identifiers in quotes488      {489        begin: '"',490        end: '"',491        contains: [ { begin: '""' } ]492      },493      // numbers494      hljs.C_NUMBER_MODE,495      // comments496      hljs.C_BLOCK_COMMENT_MODE,497      COMMENT_MODE,498      // PL/pgSQL staff499      // %ROWTYPE, %TYPE, $n500      {501        className: 'meta',502        variants: [503          { // %TYPE, %ROWTYPE504            begin: '%(ROW)?TYPE',505            relevance: 10506          },507          { // $n508            begin: '\\$\\d+' },509          { // #compiler option510            begin: '^#\\w',511            end: '$'512          }513        ]514      },515      // <<labeles>>516      {517        className: 'symbol',518        begin: LABEL,519        relevance: 10520      }521    ]522  };523}524 525module.exports = pgsql;526 
Brunobkr/llama.cpp_AlgMor24_github · Team Ai