diff --git a/src/lib/sqlCompletion.ts b/src/lib/sqlCompletion.ts index 89f487a7fd..37cae77cf7 100644 --- a/src/lib/sqlCompletion.ts +++ b/src/lib/sqlCompletion.ts @@ -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"]);