Skip to content

Commit 226ea9f

Browse files
committed
Revert "Move KEYWORDS to C"
This reverts commit 231b9e7.
1 parent b40982a commit 226ea9f

File tree

3 files changed

+29
-54
lines changed

3 files changed

+29
-54
lines changed

Lib/sqlite3/_completer.py

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,39 @@
1-
from _sqlite3 import SQLITE_KEYWORDS
21
from contextlib import contextmanager
32

4-
_completion_matches = []
53

4+
KEYWORDS = ("ABORT", "ACTION", "ADD", "AFTER", "ALL", "ALTER", "ALWAYS",
5+
"ANALYZE", "AND", "AS", "ASC", "ATTACH", "AUTOINCREMENT",
6+
"BEFORE", "BEGIN", "BETWEEN", "BY", "CASCADE", "CASE", "CAST",
7+
"CHECK", "COLLATE", "COLUMN", "COMMIT", "CONFLICT",
8+
"CONSTRAINT", "CREATE", "CROSS", "CURRENT", "CURRENT_DATE",
9+
"CURRENT_TIME", "CURRENT_TIMESTAMP", "DATABASE", "DEFAULT",
10+
"DEFERRABLE", "DEFERRED", "DELETE", "DESC", "DETACH",
11+
"DISTINCT", "DO", "DROP", "EACH", "ELSE", "END", "ESCAPE",
12+
"EXCEPT", "EXCLUDE", "EXCLUSIVE", "EXISTS", "EXPLAIN", "FAIL",
13+
"FILTER", "FIRST", "FOLLOWING", "FOR", "FOREIGN", "FROM",
14+
"FULL", "GENERATED", "GLOB", "GROUP", "GROUPS", "HAVING", "IF",
15+
"IGNORE", "IMMEDIATE", "IN", "INDEX", "INDEXED", "INITIALLY",
16+
"INNER", "INSERT", "INSTEAD", "INTERSECT", "INTO", "IS",
17+
"ISNULL", "JOIN", "KEY", "LAST", "LEFT", "LIKE", "LIMIT",
18+
"MATCH", "MATERIALIZED", "NATURAL", "NO", "NOT", "NOTHING",
19+
"NOTNULL", "NULL", "NULLS", "OF", "OFFSET", "ON", "OR",
20+
"ORDER", "OTHERS", "OUTER", "OVER", "PARTITION", "PLAN",
21+
"PRAGMA", "PRECEDING", "PRIMARY", "QUERY", "RAISE", "RANGE",
22+
"RECURSIVE", "REFERENCES", "REGEXP", "REINDEX", "RELEASE",
23+
"RENAME", "REPLACE", "RESTRICT", "RETURNING", "RIGHT",
24+
"ROLLBACK", "ROW", "ROWS", "SAVEPOINT", "SELECT", "SET",
25+
"TABLE", "TEMP", "TEMPORARY", "THEN", "TIES", "TO",
26+
"TRANSACTION", "TRIGGER", "UNBOUNDED", "UNION", "UNIQUE",
27+
"UPDATE", "USING", "VACUUM", "VALUES", "VIEW", "VIRTUAL",
28+
"WHEN", "WHERE", "WINDOW", "WITH", "WITHOUT")
29+
30+
_completion_matches = []
631

732
def _complete(text, state):
833
global _completion_matches
934
if state == 0:
1035
text_upper = text.upper()
11-
_completion_matches = [c for c in SQLITE_KEYWORDS if c.startswith(text_upper)]
36+
_completion_matches = [c for c in KEYWORDS if c.startswith(text_upper)]
1237
try:
1338
return _completion_matches[state] + " "
1439
except IndexError:

Lib/test/test_sqlite3/test_cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import textwrap
44
import unittest
55

6-
from _sqlite3 import SQLITE_KEYWORDS
76
from sqlite3.__main__ import main as cli
7+
from sqlite3._completer import KEYWORDS
88
from test.support.import_helper import import_module
99
from test.support.os_helper import TESTFN, unlink
1010
from test.support.pty_helper import run_pty

Modules/_sqlite/module.c

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -404,51 +404,6 @@ pysqlite_error_name(int rc)
404404
return NULL;
405405
}
406406

407-
static int
408-
add_sequence_constants(PyObject *module) {
409-
PyObject *kwd;
410-
const char *_keywords[] = {
411-
"ABORT", "ACTION", "ADD", "AFTER", "ALL", "ALTER", "ALWAYS", "ANALYZE",
412-
"AND", "AS", "ASC", "ATTACH", "AUTOINCREMENT", "BEFORE", "BEGIN",
413-
"BETWEEN", "BY", "CASCADE", "CASE", "CAST", "CHECK", "COLLATE", "COLUMN",
414-
"COMMIT", "CONFLICT", "CONSTRAINT", "CREATE", "CROSS", "CURRENT",
415-
"CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "DATABASE", "DEFAULT",
416-
"DEFERRABLE", "DEFERRED", "DELETE", "DESC", "DETACH", "DISTINCT", "DO",
417-
"DROP", "EACH", "ELSE", "END", "ESCAPE", "EXCEPT", "EXCLUDE", "EXCLUSIVE",
418-
"EXISTS", "EXPLAIN", "FAIL", "FILTER", "FIRST", "FOLLOWING", "FOR",
419-
"FOREIGN", "FROM", "FULL", "GENERATED", "GLOB", "GROUP", "GROUPS",
420-
"HAVING", "IF", "IGNORE", "IMMEDIATE", "IN", "INDEX", "INDEXED",
421-
"INITIALLY", "INNER", "INSERT", "INSTEAD", "INTERSECT", "INTO", "IS",
422-
"ISNULL", "JOIN", "KEY", "LAST", "LEFT", "LIKE", "LIMIT", "MATCH",
423-
"MATERIALIZED", "NATURAL", "NO", "NOT", "NOTHING", "NOTNULL", "NULL",
424-
"NULLS", "OF", "OFFSET", "ON", "OR", "ORDER", "OTHERS", "OUTER", "OVER",
425-
"PARTITION", "PLAN", "PRAGMA", "PRECEDING", "PRIMARY", "QUERY", "RAISE",
426-
"RANGE", "RECURSIVE", "REFERENCES", "REGEXP", "REINDEX", "RELEASE",
427-
"RENAME", "REPLACE", "RESTRICT", "RETURNING", "RIGHT", "ROLLBACK", "ROW",
428-
"ROWS", "SAVEPOINT", "SELECT", "SET", "TABLE", "TEMP", "TEMPORARY", "THEN",
429-
"TIES", "TO", "TRANSACTION", "TRIGGER", "UNBOUNDED", "UNION", "UNIQUE",
430-
"UPDATE", "USING", "VACUUM", "VALUES", "VIEW", "VIRTUAL", "WHEN", "WHERE",
431-
"WINDOW", "WITH", "WITHOUT", NULL
432-
};
433-
PyObject *keywords = PyTuple_New(147);
434-
if (keywords == NULL) {
435-
return -1;
436-
}
437-
for (int i = 0; _keywords[i] != NULL; i++) {
438-
kwd = PyUnicode_FromString(_keywords[i]);
439-
if (PyTuple_SetItem(keywords, i, kwd) != 0) {
440-
Py_DECREF(kwd);
441-
Py_DECREF(keywords);
442-
return -1;
443-
}
444-
}
445-
if (PyModule_Add(module, "SQLITE_KEYWORDS", keywords) < 0) {
446-
Py_DECREF(keywords);
447-
return -1;
448-
}
449-
return 0;
450-
}
451-
452407
static int
453408
add_integer_constants(PyObject *module) {
454409
#define ADD_INT(ival) \
@@ -747,11 +702,6 @@ module_exec(PyObject *module)
747702
goto error;
748703
}
749704

750-
/* Set sequence constants */
751-
if (add_sequence_constants(module) < 0) {
752-
goto error;
753-
}
754-
755705
if (PyModule_AddStringConstant(module, "sqlite_version", sqlite3_libversion())) {
756706
goto error;
757707
}

0 commit comments

Comments
 (0)