mirror of
https://github.com/t8y2/dbx.git
synced 2026-10-28 08:08:02 +00:00
feat(completion): add MySQL JSON functions and common built-in functions
Add JSON_EXTRACT, JSON_SET, JSON_CONTAINS and other MySQL JSON functions, plus common string, date, math, and crypto functions. (closes #263)
This commit is contained in:
@@ -90,11 +90,36 @@ const SQL_KEYWORDS = [
|
||||
"ISJSON",
|
||||
"JSON_ARRAY",
|
||||
"JSON_ARRAYAGG",
|
||||
"JSON_ARRAY_APPEND",
|
||||
"JSON_ARRAY_INSERT",
|
||||
"JSON_CONTAINS",
|
||||
"JSON_CONTAINS_PATH",
|
||||
"JSON_DEPTH",
|
||||
"JSON_EXTRACT",
|
||||
"JSON_INSERT",
|
||||
"JSON_KEYS",
|
||||
"JSON_LENGTH",
|
||||
"JSON_MERGE_PATCH",
|
||||
"JSON_MERGE_PRESERVE",
|
||||
"JSON_MODIFY",
|
||||
"JSON_OBJECT",
|
||||
"JSON_OBJECTAGG",
|
||||
"JSON_OVERLAPS",
|
||||
"JSON_PATH_EXISTS",
|
||||
"JSON_PRETTY",
|
||||
"JSON_QUERY",
|
||||
"JSON_QUOTE",
|
||||
"JSON_REMOVE",
|
||||
"JSON_REPLACE",
|
||||
"JSON_SCHEMA_VALID",
|
||||
"JSON_SEARCH",
|
||||
"JSON_SET",
|
||||
"JSON_STORAGE_FREE",
|
||||
"JSON_STORAGE_SIZE",
|
||||
"JSON_TABLE",
|
||||
"JSON_TYPE",
|
||||
"JSON_UNQUOTE",
|
||||
"JSON_VALID",
|
||||
"JSON_VALUE",
|
||||
"OPENJSON",
|
||||
"OPENXML",
|
||||
@@ -161,6 +186,75 @@ const SQL_KEYWORDS = [
|
||||
"VARBINARY",
|
||||
"VARCHAR",
|
||||
"XML",
|
||||
// Common built-in functions
|
||||
"ABS",
|
||||
"CEIL",
|
||||
"CEILING",
|
||||
"FLOOR",
|
||||
"ROUND",
|
||||
"MOD",
|
||||
"POWER",
|
||||
"SQRT",
|
||||
"SIGN",
|
||||
"TRUNCATE",
|
||||
"CONCAT",
|
||||
"CONCAT_WS",
|
||||
"LENGTH",
|
||||
"CHAR_LENGTH",
|
||||
"UPPER",
|
||||
"LOWER",
|
||||
"TRIM",
|
||||
"LTRIM",
|
||||
"RTRIM",
|
||||
"SUBSTRING",
|
||||
"SUBSTR",
|
||||
"INSTR",
|
||||
"LOCATE",
|
||||
"LPAD",
|
||||
"RPAD",
|
||||
"REVERSE",
|
||||
"REPEAT",
|
||||
"SPACE",
|
||||
"FORMAT",
|
||||
"HEX",
|
||||
"UNHEX",
|
||||
"NOW",
|
||||
"CURDATE",
|
||||
"CURTIME",
|
||||
"DATE_ADD",
|
||||
"DATE_SUB",
|
||||
"DATE_FORMAT",
|
||||
"DATEDIFF",
|
||||
"TIMESTAMPDIFF",
|
||||
"EXTRACT",
|
||||
"YEAR",
|
||||
"MONTH",
|
||||
"DAY",
|
||||
"HOUR",
|
||||
"MINUTE",
|
||||
"SECOND",
|
||||
"DAYOFWEEK",
|
||||
"DAYOFYEAR",
|
||||
"LAST_DAY",
|
||||
"STR_TO_DATE",
|
||||
"CONVERT",
|
||||
"IFNULL",
|
||||
"NULLIF",
|
||||
"GREATEST",
|
||||
"LEAST",
|
||||
"GROUP_CONCAT",
|
||||
"FIND_IN_SET",
|
||||
"FIELD",
|
||||
"ELT",
|
||||
"REGEXP",
|
||||
"REGEXP_LIKE",
|
||||
"REGEXP_REPLACE",
|
||||
"REGEXP_SUBSTR",
|
||||
"UUID",
|
||||
"MD5",
|
||||
"SHA1",
|
||||
"SHA2",
|
||||
"CRC32",
|
||||
];
|
||||
|
||||
const TABLE_TRIGGER_KEYWORDS = new Set(["from", "join", "update", "into", "table", "describe", "explain", "apply"]);
|
||||
|
||||
Reference in New Issue
Block a user