mirror of https://github.com/dbcli/pgcli
Update suggestion literals (#1195)
* Updated all data types literals * Updated sql functions literals * Updated changelog and auther * Updated test code * Added datatype test case
This commit is contained in:
parent
8f7e314508
commit
df1b40ca22
|
@ -9,6 +9,7 @@ Features:
|
|||
* Update python version in Dockerfile
|
||||
* Support setting color for null, string, number, keyword value
|
||||
* Support Prompt Toolkit 2
|
||||
* Update functions, datatypes literals for auto-suggestion field
|
||||
|
||||
Bug fixes:
|
||||
----------
|
||||
|
|
|
@ -260,35 +260,269 @@
|
|||
"WITH": []
|
||||
},
|
||||
"functions": [
|
||||
"ABBREV",
|
||||
"ABS",
|
||||
"AGE",
|
||||
"AREA",
|
||||
"ARRAY_AGG",
|
||||
"ARRAY_APPEND",
|
||||
"ARRAY_CAT",
|
||||
"ARRAY_DIMS",
|
||||
"ARRAY_FILL",
|
||||
"ARRAY_LENGTH",
|
||||
"ARRAY_LOWER",
|
||||
"ARRAY_NDIMS",
|
||||
"ARRAY_POSITION",
|
||||
"ARRAY_POSITIONS",
|
||||
"ARRAY_PREPEND",
|
||||
"ARRAY_REMOVE",
|
||||
"ARRAY_REPLACE",
|
||||
"ARRAY_TO_STRING",
|
||||
"ARRAY_UPPER",
|
||||
"ASCII",
|
||||
"AVG",
|
||||
"BIT_AND",
|
||||
"BIT_LENGTH",
|
||||
"BIT_OR",
|
||||
"BOOL_AND",
|
||||
"BOOL_OR",
|
||||
"BOUND_BOX",
|
||||
"BOX",
|
||||
"BROADCAST",
|
||||
"BTRIM",
|
||||
"CARDINALITY",
|
||||
"CBRT",
|
||||
"CEIL",
|
||||
"CEILING",
|
||||
"CENTER",
|
||||
"CHAR_LENGTH",
|
||||
"CHR",
|
||||
"CIRCLE",
|
||||
"CLOCK_TIMESTAMP",
|
||||
"CONCAT",
|
||||
"CONCAT_WS",
|
||||
"CONVERT",
|
||||
"CONVERT_FROM",
|
||||
"CONVERT_TO",
|
||||
"COUNT",
|
||||
"FIRST",
|
||||
"CUME_DIST",
|
||||
"CURRENT_DATE",
|
||||
"CURRENT_TIME",
|
||||
"CURRENT_TIMESTAMP",
|
||||
"DATE_PART",
|
||||
"DATE_TRUNC",
|
||||
"DECODE",
|
||||
"DEGREES",
|
||||
"DENSE_RANK",
|
||||
"DIAMETER",
|
||||
"DIV",
|
||||
"ENCODE",
|
||||
"ENUM_FIRST",
|
||||
"ENUM_LAST",
|
||||
"ENUM_RANGE",
|
||||
"EVERY",
|
||||
"EXP",
|
||||
"EXTRACT",
|
||||
"FAMILY",
|
||||
"FIRST_VALUE",
|
||||
"FLOOR",
|
||||
"FORMAT",
|
||||
"LAST",
|
||||
"LCASE",
|
||||
"LEN",
|
||||
"GET_BIT",
|
||||
"GET_BYTE",
|
||||
"HEIGHT",
|
||||
"HOST",
|
||||
"HOSTMASK",
|
||||
"INET_MERGE",
|
||||
"INET_SAME_FAMILY",
|
||||
"INITCAP",
|
||||
"ISCLOSED",
|
||||
"ISFINITE",
|
||||
"ISOPEN",
|
||||
"JUSTIFY_DAYS",
|
||||
"JUSTIFY_HOURS",
|
||||
"JUSTIFY_INTERVAL",
|
||||
"LAG",
|
||||
"LAST_VALUE",
|
||||
"LEAD",
|
||||
"LEFT",
|
||||
"LENGTH",
|
||||
"LINE",
|
||||
"LN",
|
||||
"LOCALTIME",
|
||||
"LOCALTIMESTAMP",
|
||||
"LOG",
|
||||
"LOG10",
|
||||
"LOWER",
|
||||
"LPAD",
|
||||
"LSEG",
|
||||
"LTRIM",
|
||||
"MAKE_DATE",
|
||||
"MAKE_INTERVAL",
|
||||
"MAKE_TIME",
|
||||
"MAKE_TIMESTAMP",
|
||||
"MAKE_TIMESTAMPTZ",
|
||||
"MASKLEN",
|
||||
"MAX",
|
||||
"MD5",
|
||||
"MIN",
|
||||
"MID",
|
||||
"MOD",
|
||||
"NETMASK",
|
||||
"NETWORK",
|
||||
"NOW",
|
||||
"NPOINTS",
|
||||
"NTH_VALUE",
|
||||
"NTILE",
|
||||
"NUM_NONNULLS",
|
||||
"NUM_NULLS",
|
||||
"OCTET_LENGTH",
|
||||
"OVERLAY",
|
||||
"PARSE_IDENT",
|
||||
"PATH",
|
||||
"PCLOSE",
|
||||
"PERCENT_RANK",
|
||||
"PG_CLIENT_ENCODING",
|
||||
"PI",
|
||||
"POINT",
|
||||
"POLYGON",
|
||||
"POPEN",
|
||||
"POSITION",
|
||||
"POWER",
|
||||
"QUOTE_IDENT",
|
||||
"QUOTE_LITERAL",
|
||||
"QUOTE_NULLABLE",
|
||||
"RADIANS",
|
||||
"RADIUS",
|
||||
"RANK",
|
||||
"REGEXP_MATCH",
|
||||
"REGEXP_MATCHES",
|
||||
"REGEXP_REPLACE",
|
||||
"REGEXP_SPLIT_TO_ARRAY",
|
||||
"REGEXP_SPLIT_TO_TABLE",
|
||||
"REPEAT",
|
||||
"REPLACE",
|
||||
"REVERSE",
|
||||
"RIGHT",
|
||||
"ROUND",
|
||||
"ROW_NUMBER",
|
||||
"RPAD",
|
||||
"RTRIM",
|
||||
"SCALE",
|
||||
"SET_BIT",
|
||||
"SET_BYTE",
|
||||
"SET_MASKLEN",
|
||||
"SHA224",
|
||||
"SHA256",
|
||||
"SHA384",
|
||||
"SHA512",
|
||||
"SIGN",
|
||||
"SPLIT_PART",
|
||||
"SQRT",
|
||||
"STARTS_WITH",
|
||||
"STATEMENT_TIMESTAMP",
|
||||
"STRING_TO_ARRAY",
|
||||
"STRPOS",
|
||||
"SUBSTR",
|
||||
"SUBSTRING",
|
||||
"SUM",
|
||||
"TOP",
|
||||
"UCASE"
|
||||
"TEXT",
|
||||
"TIMEOFDAY",
|
||||
"TO_ASCII",
|
||||
"TO_CHAR",
|
||||
"TO_DATE",
|
||||
"TO_HEX",
|
||||
"TO_NUMBER",
|
||||
"TO_TIMESTAMP",
|
||||
"TRANSACTION_TIMESTAMP",
|
||||
"TRANSLATE",
|
||||
"TRIM",
|
||||
"TRUNC",
|
||||
"UNNEST",
|
||||
"UPPER",
|
||||
"WIDTH",
|
||||
"WIDTH_BUCKET",
|
||||
"XMLAGG"
|
||||
],
|
||||
"datatypes": [
|
||||
"ANY",
|
||||
"ANYARRAY",
|
||||
"ANYELEMENT",
|
||||
"ANYENUM",
|
||||
"ANYNONARRAY",
|
||||
"ANYRANGE",
|
||||
"BIGINT",
|
||||
"BIGSERIAL",
|
||||
"BIT",
|
||||
"BIT VARYING",
|
||||
"BOOL",
|
||||
"BOOLEAN",
|
||||
"BOX",
|
||||
"BYTEA",
|
||||
"CHAR",
|
||||
"CHARACTER",
|
||||
"CHARACTER VARYING",
|
||||
"CIDR",
|
||||
"CIRCLE",
|
||||
"CSTRING",
|
||||
"DATE",
|
||||
"DECIMAL",
|
||||
"DOUBLE PRECISION",
|
||||
"EVENT_TRIGGER",
|
||||
"FDW_HANDLER",
|
||||
"FLOAT4",
|
||||
"FLOAT8",
|
||||
"INET",
|
||||
"INT",
|
||||
"INT2",
|
||||
"INT4",
|
||||
"INT8",
|
||||
"INTEGER",
|
||||
"INTERNAL",
|
||||
"INTERVAL",
|
||||
"JSON",
|
||||
"JSONB",
|
||||
"LANGUAGE_HANDLER",
|
||||
"LINE",
|
||||
"LSEG",
|
||||
"MACADDR",
|
||||
"MACADDR8",
|
||||
"MONEY",
|
||||
"NUMERIC",
|
||||
"OID",
|
||||
"OPAQUE",
|
||||
"PATH",
|
||||
"PG_LSN",
|
||||
"POINT",
|
||||
"POLYGON",
|
||||
"REAL",
|
||||
"RECORD",
|
||||
"REGCLASS",
|
||||
"REGCONFIG",
|
||||
"REGDICTIONARY",
|
||||
"REGNAMESPACE",
|
||||
"REGOPER",
|
||||
"REGOPERATOR",
|
||||
"REGPROC",
|
||||
"REGPROCEDURE",
|
||||
"REGROLE",
|
||||
"REGTYPE",
|
||||
"SERIAL",
|
||||
"SERIAL2",
|
||||
"SERIAL4",
|
||||
"SERIAL8",
|
||||
"SMALLINT",
|
||||
"SMALLSERIAL",
|
||||
"TEXT",
|
||||
"TIME",
|
||||
"TIMESTAMP",
|
||||
"TRIGGER",
|
||||
"TSQUERY",
|
||||
"TSVECTOR",
|
||||
"TXID_SNAPSHOT",
|
||||
"UUID",
|
||||
"VARBIT",
|
||||
"VARCHAR",
|
||||
"VOID"
|
||||
"VOID",
|
||||
"XML"
|
||||
],
|
||||
"reserved": [
|
||||
"ALL",
|
||||
|
|
|
@ -53,6 +53,12 @@ def test_function_name_completion(completer, complete_event):
|
|||
Completion(text="MATERIALIZED VIEW", start_position=-2),
|
||||
Completion(text="MAX", start_position=-2),
|
||||
Completion(text="MAXEXTENTS", start_position=-2),
|
||||
Completion(text="MAKE_DATE", start_position=-2),
|
||||
Completion(text="MAKE_TIME", start_position=-2),
|
||||
Completion(text="MAKE_TIMESTAMPTZ", start_position=-2),
|
||||
Completion(text="MAKE_INTERVAL", start_position=-2),
|
||||
Completion(text="MASKLEN", start_position=-2),
|
||||
Completion(text="MAKE_TIMESTAMP", start_position=-2),
|
||||
]
|
||||
)
|
||||
|
||||
|
@ -101,3 +107,27 @@ def test_special_name_completion(completer, complete_event):
|
|||
)
|
||||
# Special commands will NOT be suggested during naive completion mode.
|
||||
assert result == completions_to_set([])
|
||||
|
||||
|
||||
def test_datatype_name_completion(completer, complete_event):
|
||||
text = "SELECT price::IN"
|
||||
position = len("SELECT price::IN")
|
||||
result = completions_to_set(
|
||||
completer.get_completions(
|
||||
Document(text=text, cursor_position=position),
|
||||
complete_event,
|
||||
smart_completion=True,
|
||||
)
|
||||
)
|
||||
assert result == completions_to_set(
|
||||
[
|
||||
Completion(text="INET", display_meta="datatype"),
|
||||
Completion(text="INT", display_meta="datatype"),
|
||||
Completion(text="INT2", display_meta="datatype"),
|
||||
Completion(text="INT4", display_meta="datatype"),
|
||||
Completion(text="INT8", display_meta="datatype"),
|
||||
Completion(text="INTEGER", display_meta="datatype"),
|
||||
Completion(text="INTERNAL", display_meta="datatype"),
|
||||
Completion(text="INTERVAL", display_meta="datatype"),
|
||||
]
|
||||
)
|
||||
|
|
|
@ -164,6 +164,12 @@ def test_builtin_function_name_completion(completer):
|
|||
result = get_result(completer, "SELECT MA")
|
||||
assert completions_to_set(result) == completions_to_set(
|
||||
[
|
||||
function("MAKE_DATE", -2),
|
||||
function("MAKE_INTERVAL", -2),
|
||||
function("MAKE_TIME", -2),
|
||||
function("MAKE_TIMESTAMP", -2),
|
||||
function("MAKE_TIMESTAMPTZ", -2),
|
||||
function("MASKLEN", -2),
|
||||
function("MAX", -2),
|
||||
keyword("MAXEXTENTS", -2),
|
||||
keyword("MATERIALIZED VIEW", -2),
|
||||
|
@ -189,6 +195,10 @@ def test_user_function_name_completion(completer):
|
|||
function("_custom_fun()", -2),
|
||||
function("custom_func1()", -2),
|
||||
function("custom_func2()", -2),
|
||||
function("CURRENT_DATE", -2),
|
||||
function("CURRENT_TIMESTAMP", -2),
|
||||
function("CUME_DIST", -2),
|
||||
function("CURRENT_TIME", -2),
|
||||
keyword("CURRENT", -2),
|
||||
]
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue