UNPKG

sql-formatter

Version:

Format whitespace in a SQL query to make it more readable

612 lines 13.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.functions = void 0; exports.functions = [ // https://docs.snowflake.com/en/sql-reference-functions.html // // https://docs.snowflake.com/en/sql-reference/functions-all.html // 1. run in console on this page: $x('//tbody/tr/*[1]//a/span/text()').map(x => x.nodeValue) // 2. split all lines that contain ',' or '/' into multiple lines // 3. remove all '— Deprecated' parts from the strings // 4. delete all strings that end with '<object_type>', they are already covered in the list // 5. remove all strings that contain '[', they are operators not functions // 6. fix all values that contain '*' // 7. delete operatos ':', '::', '||' // // Steps 1-5 can be combined by the following script in the developer console: // $x('//tbody/tr/*[1]//a/span/text()').map(x => x.nodeValue) // Step 1 // .map(x => x.split(x.includes(',') ? ',' : '/')).flat().map(x => x.trim()) // Step 2 // .map(x => x.replace('— Deprecated', '')) // Step 3 // .filter(x => !x.endsWith('<object_type>')) // Step 4 // .filter(x => !x.includes('[')) // Step 5 'ABS', 'ACOS', 'ACOSH', 'ADD_MONTHS', 'ALL_USER_NAMES', 'ANY_VALUE', 'APPROX_COUNT_DISTINCT', 'APPROX_PERCENTILE', 'APPROX_PERCENTILE_ACCUMULATE', 'APPROX_PERCENTILE_COMBINE', 'APPROX_PERCENTILE_ESTIMATE', 'APPROX_TOP_K', 'APPROX_TOP_K_ACCUMULATE', 'APPROX_TOP_K_COMBINE', 'APPROX_TOP_K_ESTIMATE', 'APPROXIMATE_JACCARD_INDEX', 'APPROXIMATE_SIMILARITY', 'ARRAY_AGG', 'ARRAY_APPEND', 'ARRAY_CAT', 'ARRAY_COMPACT', 'ARRAY_CONSTRUCT', 'ARRAY_CONSTRUCT_COMPACT', 'ARRAY_CONTAINS', 'ARRAY_INSERT', 'ARRAY_INTERSECTION', 'ARRAY_POSITION', 'ARRAY_PREPEND', 'ARRAY_SIZE', 'ARRAY_SLICE', 'ARRAY_TO_STRING', 'ARRAY_UNION_AGG', 'ARRAY_UNIQUE_AGG', 'ARRAYS_OVERLAP', 'AS_ARRAY', 'AS_BINARY', 'AS_BOOLEAN', 'AS_CHAR', 'AS_VARCHAR', 'AS_DATE', 'AS_DECIMAL', 'AS_NUMBER', 'AS_DOUBLE', 'AS_REAL', 'AS_INTEGER', 'AS_OBJECT', 'AS_TIME', 'AS_TIMESTAMP_LTZ', 'AS_TIMESTAMP_NTZ', 'AS_TIMESTAMP_TZ', 'ASCII', 'ASIN', 'ASINH', 'ATAN', 'ATAN2', 'ATANH', 'AUTO_REFRESH_REGISTRATION_HISTORY', 'AUTOMATIC_CLUSTERING_HISTORY', 'AVG', 'BASE64_DECODE_BINARY', 'BASE64_DECODE_STRING', 'BASE64_ENCODE', 'BIT_LENGTH', 'BITAND', 'BITAND_AGG', 'BITMAP_BIT_POSITION', 'BITMAP_BUCKET_NUMBER', 'BITMAP_CONSTRUCT_AGG', 'BITMAP_COUNT', 'BITMAP_OR_AGG', 'BITNOT', 'BITOR', 'BITOR_AGG', 'BITSHIFTLEFT', 'BITSHIFTRIGHT', 'BITXOR', 'BITXOR_AGG', 'BOOLAND', 'BOOLAND_AGG', 'BOOLNOT', 'BOOLOR', 'BOOLOR_AGG', 'BOOLXOR', 'BOOLXOR_AGG', 'BUILD_SCOPED_FILE_URL', 'BUILD_STAGE_FILE_URL', 'CASE', 'CAST', 'CBRT', 'CEIL', 'CHARINDEX', 'CHECK_JSON', 'CHECK_XML', 'CHR', 'CHAR', 'COALESCE', 'COLLATE', 'COLLATION', 'COMPLETE_TASK_GRAPHS', 'COMPRESS', 'CONCAT', 'CONCAT_WS', 'CONDITIONAL_CHANGE_EVENT', 'CONDITIONAL_TRUE_EVENT', 'CONTAINS', 'CONVERT_TIMEZONE', 'COPY_HISTORY', 'CORR', 'COS', 'COSH', 'COT', 'COUNT', 'COUNT_IF', 'COVAR_POP', 'COVAR_SAMP', 'CUME_DIST', 'CURRENT_ACCOUNT', 'CURRENT_AVAILABLE_ROLES', 'CURRENT_CLIENT', 'CURRENT_DATABASE', 'CURRENT_DATE', 'CURRENT_IP_ADDRESS', 'CURRENT_REGION', 'CURRENT_ROLE', 'CURRENT_SCHEMA', 'CURRENT_SCHEMAS', 'CURRENT_SECONDARY_ROLES', 'CURRENT_SESSION', 'CURRENT_STATEMENT', 'CURRENT_TASK_GRAPHS', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_TRANSACTION', 'CURRENT_USER', 'CURRENT_VERSION', 'CURRENT_WAREHOUSE', 'DATA_TRANSFER_HISTORY', 'DATABASE_REFRESH_HISTORY', 'DATABASE_REFRESH_PROGRESS', 'DATABASE_REFRESH_PROGRESS_BY_JOB', 'DATABASE_STORAGE_USAGE_HISTORY', 'DATE_FROM_PARTS', 'DATE_PART', 'DATE_TRUNC', 'DATEADD', 'DATEDIFF', 'DAYNAME', 'DECODE', 'DECOMPRESS_BINARY', 'DECOMPRESS_STRING', 'DECRYPT', 'DECRYPT_RAW', 'DEGREES', 'DENSE_RANK', 'DIV0', 'EDITDISTANCE', 'ENCRYPT', 'ENCRYPT_RAW', 'ENDSWITH', 'EQUAL_NULL', 'EXP', 'EXPLAIN_JSON', 'EXTERNAL_FUNCTIONS_HISTORY', 'EXTERNAL_TABLE_FILES', 'EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY', 'EXTRACT', 'EXTRACT_SEMANTIC_CATEGORIES', 'FACTORIAL', 'FILTER', 'FIRST_VALUE', 'FLATTEN', 'FLOOR', 'GENERATE_COLUMN_DESCRIPTION', 'GENERATOR', 'GET', 'GET_ABSOLUTE_PATH', 'GET_DDL', 'GET_IGNORE_CASE', 'GET_OBJECT_REFERENCES', 'GET_PATH', 'GET_PRESIGNED_URL', 'GET_RELATIVE_PATH', 'GET_STAGE_LOCATION', 'GETBIT', 'GREATEST', 'GREATEST_IGNORE_NULLS', 'GROUPING', 'GROUPING_ID', 'HASH', 'HASH_AGG', 'HAVERSINE', 'HEX_DECODE_BINARY', 'HEX_DECODE_STRING', 'HEX_ENCODE', 'HLL', 'HLL_ACCUMULATE', 'HLL_COMBINE', 'HLL_ESTIMATE', 'HLL_EXPORT', 'HLL_IMPORT', 'HOUR', 'MINUTE', 'SECOND', 'IFF', 'IFNULL', 'ILIKE', 'ILIKE ANY', 'INFER_SCHEMA', 'INITCAP', 'INSERT', 'INVOKER_ROLE', 'INVOKER_SHARE', 'IS_ARRAY', 'IS_BINARY', 'IS_BOOLEAN', 'IS_CHAR', 'IS_VARCHAR', 'IS_DATE', 'IS_DATE_VALUE', 'IS_DECIMAL', 'IS_DOUBLE', 'IS_REAL', 'IS_GRANTED_TO_INVOKER_ROLE', 'IS_INTEGER', 'IS_NULL_VALUE', 'IS_OBJECT', 'IS_ROLE_IN_SESSION', 'IS_TIME', 'IS_TIMESTAMP_LTZ', 'IS_TIMESTAMP_NTZ', 'IS_TIMESTAMP_TZ', 'JAROWINKLER_SIMILARITY', 'JSON_EXTRACT_PATH_TEXT', 'KURTOSIS', 'LAG', 'LAST_DAY', 'LAST_QUERY_ID', 'LAST_TRANSACTION', 'LAST_VALUE', 'LEAD', 'LEAST', 'LEFT', 'LENGTH', 'LEN', 'LIKE', 'LIKE ALL', 'LIKE ANY', 'LISTAGG', 'LN', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOG', 'LOGIN_HISTORY', 'LOGIN_HISTORY_BY_USER', 'LOWER', 'LPAD', 'LTRIM', 'MATERIALIZED_VIEW_REFRESH_HISTORY', 'MD5', 'MD5_HEX', 'MD5_BINARY', 'MD5_NUMBER — Obsoleted', 'MD5_NUMBER_LOWER64', 'MD5_NUMBER_UPPER64', 'MEDIAN', 'MIN', 'MAX', 'MINHASH', 'MINHASH_COMBINE', 'MOD', 'MODE', 'MONTHNAME', 'MONTHS_BETWEEN', 'NEXT_DAY', 'NORMAL', 'NTH_VALUE', 'NTILE', 'NULLIF', 'NULLIFZERO', 'NVL', 'NVL2', 'OBJECT_AGG', 'OBJECT_CONSTRUCT', 'OBJECT_CONSTRUCT_KEEP_NULL', 'OBJECT_DELETE', 'OBJECT_INSERT', 'OBJECT_KEYS', 'OBJECT_PICK', 'OCTET_LENGTH', 'PARSE_IP', 'PARSE_JSON', 'PARSE_URL', 'PARSE_XML', 'PERCENT_RANK', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'PI', 'PIPE_USAGE_HISTORY', 'POLICY_CONTEXT', 'POLICY_REFERENCES', 'POSITION', 'POW', 'POWER', 'PREVIOUS_DAY', 'QUERY_ACCELERATION_HISTORY', 'QUERY_HISTORY', 'QUERY_HISTORY_BY_SESSION', 'QUERY_HISTORY_BY_USER', 'QUERY_HISTORY_BY_WAREHOUSE', 'RADIANS', 'RANDOM', 'RANDSTR', 'RANK', 'RATIO_TO_REPORT', 'REGEXP', 'REGEXP_COUNT', 'REGEXP_INSTR', 'REGEXP_LIKE', 'REGEXP_REPLACE', 'REGEXP_SUBSTR', 'REGEXP_SUBSTR_ALL', 'REGR_AVGX', 'REGR_AVGY', 'REGR_COUNT', 'REGR_INTERCEPT', 'REGR_R2', 'REGR_SLOPE', 'REGR_SXX', 'REGR_SXY', 'REGR_SYY', 'REGR_VALX', 'REGR_VALY', 'REPEAT', 'REPLACE', 'REPLICATION_GROUP_REFRESH_HISTORY', 'REPLICATION_GROUP_REFRESH_PROGRESS', 'REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB', 'REPLICATION_GROUP_USAGE_HISTORY', 'REPLICATION_USAGE_HISTORY', 'REST_EVENT_HISTORY', 'RESULT_SCAN', 'REVERSE', 'RIGHT', 'RLIKE', 'ROUND', 'ROW_NUMBER', 'RPAD', 'RTRIM', 'RTRIMMED_LENGTH', 'SEARCH_OPTIMIZATION_HISTORY', 'SEQ1', 'SEQ2', 'SEQ4', 'SEQ8', 'SERVERLESS_TASK_HISTORY', 'SHA1', 'SHA1_HEX', 'SHA1_BINARY', 'SHA2', 'SHA2_HEX', 'SHA2_BINARY', 'SIGN', 'SIN', 'SINH', 'SKEW', 'SOUNDEX', 'SPACE', 'SPLIT', 'SPLIT_PART', 'SPLIT_TO_TABLE', 'SQRT', 'SQUARE', 'ST_AREA', 'ST_ASEWKB', 'ST_ASEWKT', 'ST_ASGEOJSON', 'ST_ASWKB', 'ST_ASBINARY', 'ST_ASWKT', 'ST_ASTEXT', 'ST_AZIMUTH', 'ST_CENTROID', 'ST_COLLECT', 'ST_CONTAINS', 'ST_COVEREDBY', 'ST_COVERS', 'ST_DIFFERENCE', 'ST_DIMENSION', 'ST_DISJOINT', 'ST_DISTANCE', 'ST_DWITHIN', 'ST_ENDPOINT', 'ST_ENVELOPE', 'ST_GEOGFROMGEOHASH', 'ST_GEOGPOINTFROMGEOHASH', 'ST_GEOGRAPHYFROMWKB', 'ST_GEOGRAPHYFROMWKT', 'ST_GEOHASH', 'ST_GEOMETRYFROMWKB', 'ST_GEOMETRYFROMWKT', 'ST_HAUSDORFFDISTANCE', 'ST_INTERSECTION', 'ST_INTERSECTS', 'ST_LENGTH', 'ST_MAKEGEOMPOINT', 'ST_GEOM_POINT', 'ST_MAKELINE', 'ST_MAKEPOINT', 'ST_POINT', 'ST_MAKEPOLYGON', 'ST_POLYGON', 'ST_NPOINTS', 'ST_NUMPOINTS', 'ST_PERIMETER', 'ST_POINTN', 'ST_SETSRID', 'ST_SIMPLIFY', 'ST_SRID', 'ST_STARTPOINT', 'ST_SYMDIFFERENCE', 'ST_UNION', 'ST_WITHIN', 'ST_X', 'ST_XMAX', 'ST_XMIN', 'ST_Y', 'ST_YMAX', 'ST_YMIN', 'STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY', 'STAGE_STORAGE_USAGE_HISTORY', 'STARTSWITH', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'STRIP_NULL_VALUE', 'STRTOK', 'STRTOK_SPLIT_TO_TABLE', 'STRTOK_TO_ARRAY', 'SUBSTR', 'SUBSTRING', 'SUM', 'SYSDATE', 'SYSTEM$ABORT_SESSION', 'SYSTEM$ABORT_TRANSACTION', 'SYSTEM$AUTHORIZE_PRIVATELINK', 'SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS', 'SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS', 'SYSTEM$CANCEL_ALL_QUERIES', 'SYSTEM$CANCEL_QUERY', 'SYSTEM$CLUSTERING_DEPTH', 'SYSTEM$CLUSTERING_INFORMATION', 'SYSTEM$CLUSTERING_RATIO ', 'SYSTEM$CURRENT_USER_TASK_NAME', 'SYSTEM$DATABASE_REFRESH_HISTORY ', 'SYSTEM$DATABASE_REFRESH_PROGRESS', 'SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB ', 'SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE', 'SYSTEM$DISABLE_DATABASE_REPLICATION', 'SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE', 'SYSTEM$ESTIMATE_QUERY_ACCELERATION', 'SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS', 'SYSTEM$EXPLAIN_JSON_TO_TEXT', 'SYSTEM$EXPLAIN_PLAN_JSON', 'SYSTEM$EXTERNAL_TABLE_PIPE_STATUS', 'SYSTEM$GENERATE_SAML_CSR', 'SYSTEM$GENERATE_SCIM_ACCESS_TOKEN', 'SYSTEM$GET_AWS_SNS_IAM_POLICY', 'SYSTEM$GET_PREDECESSOR_RETURN_VALUE', 'SYSTEM$GET_PRIVATELINK', 'SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS', 'SYSTEM$GET_PRIVATELINK_CONFIG', 'SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO', 'SYSTEM$GET_TAG', 'SYSTEM$GET_TAG_ALLOWED_VALUES', 'SYSTEM$GET_TAG_ON_CURRENT_COLUMN', 'SYSTEM$GET_TAG_ON_CURRENT_TABLE', 'SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER', 'SYSTEM$LAST_CHANGE_COMMIT_TIME', 'SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME', 'SYSTEM$MIGRATE_SAML_IDP_REGISTRATION', 'SYSTEM$PIPE_FORCE_RESUME', 'SYSTEM$PIPE_STATUS', 'SYSTEM$REVOKE_PRIVATELINK', 'SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS', 'SYSTEM$SET_RETURN_VALUE', 'SYSTEM$SHOW_OAUTH_CLIENT_SECRETS', 'SYSTEM$STREAM_GET_TABLE_TIMESTAMP', 'SYSTEM$STREAM_HAS_DATA', 'SYSTEM$TASK_DEPENDENTS_ENABLE', 'SYSTEM$TYPEOF', 'SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS', 'SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN', 'SYSTEM$WAIT', 'SYSTEM$WHITELIST', 'SYSTEM$WHITELIST_PRIVATELINK', 'TAG_REFERENCES', 'TAG_REFERENCES_ALL_COLUMNS', 'TAG_REFERENCES_WITH_LINEAGE', 'TAN', 'TANH', 'TASK_DEPENDENTS', 'TASK_HISTORY', 'TIME_FROM_PARTS', 'TIME_SLICE', 'TIMEADD', 'TIMEDIFF', 'TIMESTAMP_FROM_PARTS', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TO_ARRAY', 'TO_BINARY', 'TO_BOOLEAN', 'TO_CHAR', 'TO_VARCHAR', 'TO_DATE', 'DATE', 'TO_DECIMAL', 'TO_NUMBER', 'TO_NUMERIC', 'TO_DOUBLE', 'TO_GEOGRAPHY', 'TO_GEOMETRY', 'TO_JSON', 'TO_OBJECT', 'TO_TIME', 'TIME', 'TO_TIMESTAMP', 'TO_TIMESTAMP_LTZ', 'TO_TIMESTAMP_NTZ', 'TO_TIMESTAMP_TZ', 'TO_VARIANT', 'TO_XML', 'TRANSLATE', 'TRIM', 'TRUNCATE', 'TRUNC', 'TRUNC', 'TRY_BASE64_DECODE_BINARY', 'TRY_BASE64_DECODE_STRING', 'TRY_CAST', 'TRY_HEX_DECODE_BINARY', 'TRY_HEX_DECODE_STRING', 'TRY_PARSE_JSON', 'TRY_TO_BINARY', 'TRY_TO_BOOLEAN', 'TRY_TO_DATE', 'TRY_TO_DECIMAL', 'TRY_TO_NUMBER', 'TRY_TO_NUMERIC', 'TRY_TO_DOUBLE', 'TRY_TO_GEOGRAPHY', 'TRY_TO_GEOMETRY', 'TRY_TO_TIME', 'TRY_TO_TIMESTAMP', 'TRY_TO_TIMESTAMP_LTZ', 'TRY_TO_TIMESTAMP_NTZ', 'TRY_TO_TIMESTAMP_TZ', 'TYPEOF', 'UNICODE', 'UNIFORM', 'UPPER', 'UUID_STRING', 'VALIDATE', 'VALIDATE_PIPE_LOAD', 'VAR_POP', 'VAR_SAMP', 'VARIANCE', 'VARIANCE_SAMP', 'VARIANCE_POP', 'WAREHOUSE_LOAD_HISTORY', 'WAREHOUSE_METERING_HISTORY', 'WIDTH_BUCKET', 'XMLGET', 'YEAR', 'YEAROFWEEK', 'YEAROFWEEKISO', 'DAY', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFWEEKISO', 'DAYOFYEAR', 'WEEK', 'WEEK', 'WEEKOFYEAR', 'WEEKISO', 'MONTH', 'QUARTER', 'ZEROIFNULL', 'ZIPF', ]; //# sourceMappingURL=snowflake.functions.js.map