kaqing 2.0.54__py3-none-any.whl → 2.0.56__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- adam/sql/sql_completer.py +39 -12
- adam/sql/term_completer.py +10 -3
- adam/version.py +1 -1
- {kaqing-2.0.54.dist-info → kaqing-2.0.56.dist-info}/METADATA +1 -1
- {kaqing-2.0.54.dist-info → kaqing-2.0.56.dist-info}/RECORD +8 -9
- adam/sql/sql_utils.py +0 -5
- {kaqing-2.0.54.dist-info → kaqing-2.0.56.dist-info}/WHEEL +0 -0
- {kaqing-2.0.54.dist-info → kaqing-2.0.56.dist-info}/entry_points.txt +0 -0
- {kaqing-2.0.54.dist-info → kaqing-2.0.56.dist-info}/top_level.txt +0 -0
adam/sql/sql_completer.py
CHANGED
@@ -7,7 +7,10 @@ from sqlparse import tokens as T
|
|
7
7
|
|
8
8
|
from adam.sql.term_completer import TermCompleter
|
9
9
|
|
10
|
+
columns = TermCompleter(['id', 'x.', 'y.', 'z.'])
|
11
|
+
|
10
12
|
class SqlCompleter(Completer):
|
13
|
+
|
11
14
|
def __init__(self, tables: Callable[[], list[str]], dml: str = None, debug = False):
|
12
15
|
super().__init__()
|
13
16
|
self.dml = dml
|
@@ -45,11 +48,17 @@ class SqlCompleter(Completer):
|
|
45
48
|
elif state == "select_a_from_":
|
46
49
|
completer = TermCompleter(self.tables())
|
47
50
|
elif state == "select_a_from_x_":
|
51
|
+
completer = TermCompleter(['as', 'where', 'inner', 'left', 'right', 'full', 'group', 'limit'])
|
52
|
+
elif state == "select_a_from_x_as_x_":
|
48
53
|
completer = TermCompleter(['where', 'inner', 'left', 'right', 'full', 'group', 'limit'])
|
49
54
|
elif state == "select_a_from_x,":
|
50
55
|
completer = TermCompleter(self.tables())
|
56
|
+
elif state == "select_a_from_x_as_":
|
57
|
+
completer = TermCompleter(['x', 'y', 'z'])
|
58
|
+
elif state == "select_a_from_x_as_x,":
|
59
|
+
completer = TermCompleter(self.tables())
|
51
60
|
elif state == "select_a_from_x_where_":
|
52
|
-
completer =
|
61
|
+
completer = columns
|
53
62
|
elif state == "select_a_from_x_where_id":
|
54
63
|
completer = TermCompleter(['=', '<', '<=', '>', '>=', '<>', 'like'])
|
55
64
|
elif state == "select_a_from_x_where_id=":
|
@@ -61,9 +70,9 @@ class SqlCompleter(Completer):
|
|
61
70
|
elif state == "select_a_from_x_group_":
|
62
71
|
completer = TermCompleter(['by'])
|
63
72
|
elif state == "select_a_from_x_group_by_":
|
64
|
-
completer =
|
73
|
+
completer = columns
|
65
74
|
elif state == "select_a_from_x_group_by_a,":
|
66
|
-
completer =
|
75
|
+
completer = columns
|
67
76
|
elif state == "select_a_from_x_group_by_a_":
|
68
77
|
completer = TermCompleter(['limit'])
|
69
78
|
elif state == "select_a_from_x_group_by_a_limit_":
|
@@ -77,11 +86,11 @@ class SqlCompleter(Completer):
|
|
77
86
|
elif state == "select_a_from_x_inner_join_y_":
|
78
87
|
completer = TermCompleter(['on'])
|
79
88
|
elif state == "select_a_from_x_inner_join_y_on_":
|
80
|
-
completer =
|
89
|
+
completer = columns
|
81
90
|
elif state == "select_a_from_x_inner_join_y_on_a":
|
82
91
|
completer = TermCompleter(['='])
|
83
92
|
elif state == "select_a_from_x_inner_join_y_on_a=":
|
84
|
-
completer =
|
93
|
+
completer = columns
|
85
94
|
elif state == "select_a_from_x_inner_join_y_on_a=b_":
|
86
95
|
completer = TermCompleter(['where', 'group', 'limit'])
|
87
96
|
elif state == "select_a_from_x_left_":
|
@@ -104,9 +113,9 @@ class SqlCompleter(Completer):
|
|
104
113
|
elif state == "insert_into_x_":
|
105
114
|
completer = TermCompleter(['values'])
|
106
115
|
elif state == "insert_into_x(":
|
107
|
-
completer =
|
116
|
+
completer = columns
|
108
117
|
elif state == "insert_into_x(a,":
|
109
|
-
completer =
|
118
|
+
completer = columns
|
110
119
|
elif state == "insert_into_x(a)_":
|
111
120
|
completer = TermCompleter(['values('])
|
112
121
|
elif state == "insert_into_x_values":
|
@@ -119,7 +128,7 @@ class SqlCompleter(Completer):
|
|
119
128
|
elif state == "update_x_":
|
120
129
|
completer = TermCompleter(['set'])
|
121
130
|
elif state in ["update_x_set_", "update_x_set_a=v,"]:
|
122
|
-
completer =
|
131
|
+
completer = columns
|
123
132
|
elif state == "update_x_set_a":
|
124
133
|
completer = TermCompleter(['='])
|
125
134
|
elif state == "update_x_set_a=":
|
@@ -127,7 +136,7 @@ class SqlCompleter(Completer):
|
|
127
136
|
elif state == "update_x_set_a=v_":
|
128
137
|
completer = TermCompleter(['where'])
|
129
138
|
elif state == "update_x_set_a=v_where_":
|
130
|
-
completer =
|
139
|
+
completer = columns
|
131
140
|
elif state == "update_x_set_a=v_where_id":
|
132
141
|
completer = TermCompleter(['='])
|
133
142
|
elif state == "update_x_set_a=v_where_id=v_":
|
@@ -140,7 +149,7 @@ class SqlCompleter(Completer):
|
|
140
149
|
elif state == "delete_from_x_":
|
141
150
|
completer = TermCompleter(['where'])
|
142
151
|
elif state == "delete_from_x_where_":
|
143
|
-
completer =
|
152
|
+
completer = columns
|
144
153
|
elif state == "delete_from_x_where_id":
|
145
154
|
completer = TermCompleter(['='])
|
146
155
|
elif state == "delete_from_x_where_id=":
|
@@ -215,8 +224,12 @@ class SqlCompleter(Completer):
|
|
215
224
|
elif state == 'select_a_from_x,':
|
216
225
|
if token.ttype == T.Name:
|
217
226
|
state = 'select_a_from_x'
|
218
|
-
elif state
|
219
|
-
if token.ttype == T.
|
227
|
+
elif state in ['select_a_from_x_', 'select_a_from_x_as_x_']:
|
228
|
+
if token.ttype == T.Punctuation and token.value == ',':
|
229
|
+
state = 'select_a_from_x,'
|
230
|
+
elif token.ttype == T.Keyword and token.value.lower() == 'as':
|
231
|
+
state = 'select_a_from_x_as'
|
232
|
+
elif token.ttype == T.Keyword and token.value.lower() == 'where':
|
220
233
|
state = 'select_a_from_x_where'
|
221
234
|
elif token.ttype == T.Keyword and token.value.lower() == 'limit':
|
222
235
|
state = 'select_a_from_x_where_id=v_limit'
|
@@ -240,6 +253,20 @@ class SqlCompleter(Completer):
|
|
240
253
|
state = 'select_a_from_x_full'
|
241
254
|
elif token.ttype == T.Keyword and token.value.lower() == 'full outer join':
|
242
255
|
state = 'select_a_from_x_inner_join'
|
256
|
+
elif state == 'select_a_from_x_as':
|
257
|
+
if token.ttype == T.Text.Whitespace:
|
258
|
+
state = 'select_a_from_x_as_'
|
259
|
+
elif state == 'select_a_from_x_as_':
|
260
|
+
if token.ttype == T.Name:
|
261
|
+
state = 'select_a_from_x_as_x'
|
262
|
+
elif state == 'select_a_from_x_as_x':
|
263
|
+
if token.ttype == T.Text.Whitespace:
|
264
|
+
state = 'select_a_from_x_as_x_'
|
265
|
+
elif token.ttype == T.Punctuation and token.value == ',':
|
266
|
+
state = 'select_a_from_x_as_x,'
|
267
|
+
elif state == 'select_a_from_x_as_x,':
|
268
|
+
if token.ttype == T.Name:
|
269
|
+
state = 'select_a_from_x'
|
243
270
|
elif state == 'select_a_from_x_where':
|
244
271
|
if token.ttype == T.Text.Whitespace:
|
245
272
|
state = 'select_a_from_x_where_'
|
adam/sql/term_completer.py
CHANGED
@@ -46,15 +46,22 @@ class TermCompleter(WordCompleter):
|
|
46
46
|
if self.ignore_case:
|
47
47
|
word = word.lower()
|
48
48
|
|
49
|
-
if word_before_cursor in ['(', ',', '=']:
|
50
|
-
return True
|
51
|
-
|
52
49
|
if self.match_middle:
|
53
50
|
return word_before_cursor in word
|
54
51
|
else:
|
55
52
|
return word.startswith(word_before_cursor)
|
56
53
|
|
57
54
|
for a in words:
|
55
|
+
if word_before_cursor in ['(', ',', '=']:
|
56
|
+
display = self.display_dict.get(a, a)
|
57
|
+
display_meta = self.meta_dict.get(a, "")
|
58
|
+
yield Completion(
|
59
|
+
a,
|
60
|
+
0,
|
61
|
+
display=display,
|
62
|
+
display_meta=display_meta,
|
63
|
+
)
|
64
|
+
|
58
65
|
if word_matches(a):
|
59
66
|
display = self.display_dict.get(a, a)
|
60
67
|
display_meta = self.meta_dict.get(a, "")
|
adam/version.py
CHANGED
@@ -14,7 +14,7 @@ adam/repl_commands.py,sha256=WA90Rl27Juctzr3U3kfCDk5N-oYMKlfWbZeafUgk7k0,4723
|
|
14
14
|
adam/repl_session.py,sha256=uIogcvWBh7wd8QQ-p_JgLsyJ8YJgINw5vOd6JIsd7Vo,472
|
15
15
|
adam/repl_state.py,sha256=591d7gV6uQSFtm7IWdlIYAHjfAzs9bdvIkwlIAeKddE,7540
|
16
16
|
adam/utils.py,sha256=2DoWsrcaioFFH0-RjT30qelVRPUJqCGTfz_ucfE7F8g,7406
|
17
|
-
adam/version.py,sha256=
|
17
|
+
adam/version.py,sha256=_cSpSCO9CTcCYlbRGHCj0bLXdSaXLCYsyqeNu1RWB_s,139
|
18
18
|
adam/checks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
19
19
|
adam/checks/check.py,sha256=Qopr3huYcMu2bzQgb99dEUYjFzkjKHRI76S6KA9b9Rk,702
|
20
20
|
adam/checks/check_context.py,sha256=FEHkQ32jY1EDopQ2uYWqy9v7aEEX1orLpJWhopwAlh4,402
|
@@ -164,9 +164,8 @@ adam/k8s_utils/services.py,sha256=EOJJGACVbbRvu5T3rMKqIJqgYic1_MSJ17EA0TJ6UOk,31
|
|
164
164
|
adam/k8s_utils/statefulsets.py,sha256=hiBOmJZ3KTI6_naAFzNoW1NoYnnBG35BZ7RMdPhNC6o,4664
|
165
165
|
adam/k8s_utils/volumes.py,sha256=RIBmlOSWM3V3QVXLCFT0owVOyh4rGG1ETp521a-6ndo,1137
|
166
166
|
adam/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
167
|
-
adam/sql/sql_completer.py,sha256=
|
168
|
-
adam/sql/
|
169
|
-
adam/sql/term_completer.py,sha256=O-sUxFVc1DJmPQCdT-XPK2SSkUe4AL1dw8ZPXXicATY,2273
|
167
|
+
adam/sql/sql_completer.py,sha256=VMMM29z6AnUCYIM6VThdggFkiz8elQEI96EM8FO6RLo,31170
|
168
|
+
adam/sql/term_completer.py,sha256=VCCMPUzvh_9lwIOwqQmeijM0V2JPADkBbNV4HQIqDCw,2538
|
170
169
|
adam/sso/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
171
170
|
adam/sso/authenticator.py,sha256=BCm16L9zf5aLU47-sTCnudn2zLPwd8M2wwRminJfsqw,615
|
172
171
|
adam/sso/authn_ad.py,sha256=fDW8UR3WWykny5Awa5dQjjBUSFzIDz4aMn-lwXoABl8,5857
|
@@ -177,8 +176,8 @@ adam/sso/idp.py,sha256=fvcwUw_URTgsO6ySaqTIw0zQT2qRO1IPSGhf6rPtybo,5804
|
|
177
176
|
adam/sso/idp_login.py,sha256=QAtCUeDTVWliJy40RK_oac8Vgybr13xH8wzeBoxPaa8,1754
|
178
177
|
adam/sso/idp_session.py,sha256=9BUHNRf70u4rVKrVY1HKPOEmOviXvkjam8WJxmXSKIM,1735
|
179
178
|
adam/sso/sso_config.py,sha256=5N8WZgIJQBtHUy585XLRWKjpU87_v6QluyNK9E27D5s,2459
|
180
|
-
kaqing-2.0.
|
181
|
-
kaqing-2.0.
|
182
|
-
kaqing-2.0.
|
183
|
-
kaqing-2.0.
|
184
|
-
kaqing-2.0.
|
179
|
+
kaqing-2.0.56.dist-info/METADATA,sha256=50Y7sPo_HmrQyt5xK0N5IrJHVr-bikpprnZsuWjsLyo,132
|
180
|
+
kaqing-2.0.56.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
181
|
+
kaqing-2.0.56.dist-info/entry_points.txt,sha256=SkzhuQJUWsXOzHeZ5TgQ2c3_g53UGK23zzJU_JTZOZI,39
|
182
|
+
kaqing-2.0.56.dist-info/top_level.txt,sha256=8_2PZkwBb-xDcnc8a2rAbQeJhXKXskc7zTP7pSPa1fw,5
|
183
|
+
kaqing-2.0.56.dist-info/RECORD,,
|
adam/sql/sql_utils.py
DELETED
File without changes
|
File without changes
|
File without changes
|