kaqing 2.0.60__tar.gz → 2.0.62__tar.gz
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.
- {kaqing-2.0.60 → kaqing-2.0.62}/PKG-INFO +1 -1
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/sql/sql_completer.py +102 -203
- kaqing-2.0.62/adam/version.py +5 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/kaqing.egg-info/PKG-INFO +1 -1
- {kaqing-2.0.60 → kaqing-2.0.62}/setup.py +1 -1
- kaqing-2.0.60/adam/version.py +0 -5
- {kaqing-2.0.60 → kaqing-2.0.62}/README +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/__init__.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/app_session.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/apps.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/batch.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/checks/__init__.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/checks/check.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/checks/check_context.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/checks/check_result.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/checks/check_utils.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/checks/compactionstats.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/checks/cpu.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/checks/disk.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/checks/gossip.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/checks/issue.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/checks/memory.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/checks/status.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/cli.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/cli_group.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/__init__.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/column.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/columns.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/compactions.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/cpu.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/dir_data.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/dir_snapshots.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/gossip.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/host_id.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/memory.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/node_address.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/node_load.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/node_owns.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/node_status.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/node_tokens.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/node_utils.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/pod_name.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/volume_cassandra.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/columns/volume_root.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/__init__.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/alter_tables.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/app.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/app_ping.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/bash.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/cd.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/check.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/cli_commands.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/command.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/command_helpers.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/commands_utils.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/cp.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/cql/__init__.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/cql/cql_completions.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/cql/cql_table_completer.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/cql/cql_utils.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/cql/cqlsh.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/deploy/__init__.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/deploy/code_start.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/deploy/code_stop.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/deploy/code_utils.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/deploy/deploy.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/deploy/deploy_frontend.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/deploy/deploy_pg_agent.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/deploy/deploy_pod.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/deploy/deploy_utils.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/deploy/undeploy.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/deploy/undeploy_frontend.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/deploy/undeploy_pg_agent.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/deploy/undeploy_pod.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/describe/__init__.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/describe/describe.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/describe/describe_keyspace.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/describe/describe_keyspaces.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/describe/describe_table.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/describe/describe_tables.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/devices.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/exit.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/help.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/issues.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/login.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/logs.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/ls.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/medusa/__init__.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/medusa/medusa.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/medusa/medusa_backup.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/medusa/medusa_restore.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/medusa/medusa_show_backupjobs.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/medusa/medusa_show_restorejobs.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/nodetool.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/nodetool_commands.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/param_get.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/param_set.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/postgres/__init__.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/postgres/postgres.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/postgres/postgres_ls.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/postgres/postgres_preview.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/postgres/postgres_session.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/postgres/postgres_utils.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/postgres/psql_completions.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/postgres/psql_table_completer.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/preview_table.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/pwd.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/reaper/__init__.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/reaper/reaper.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/reaper/reaper_forward.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/reaper/reaper_forward_stop.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/reaper/reaper_restart.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/reaper/reaper_run_abort.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/reaper/reaper_runs.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/reaper/reaper_runs_abort.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/reaper/reaper_schedule_activate.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/reaper/reaper_schedule_start.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/reaper/reaper_schedule_stop.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/reaper/reaper_schedules.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/reaper/reaper_session.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/reaper/reaper_status.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/repair/__init__.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/repair/repair.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/repair/repair_log.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/repair/repair_run.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/repair/repair_scan.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/repair/repair_stop.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/report.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/restart.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/rollout.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/shell.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/show/__init__.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/show/show.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/show/show_adam.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/show/show_app_actions.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/show/show_app_id.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/show/show_app_queues.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/show/show_cassandra_status.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/show/show_cassandra_version.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/show/show_commands.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/show/show_login.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/show/show_params.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/show/show_processes.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/show/show_repairs.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/show/show_storage.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/commands/watch.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/config.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/embedded_apps.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/embedded_params.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/k8s_utils/__init__.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/k8s_utils/cassandra_clusters.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/k8s_utils/cassandra_nodes.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/k8s_utils/config_maps.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/k8s_utils/custom_resources.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/k8s_utils/deployment.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/k8s_utils/ingresses.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/k8s_utils/jobs.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/k8s_utils/kube_context.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/k8s_utils/pods.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/k8s_utils/secrets.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/k8s_utils/service_accounts.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/k8s_utils/services.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/k8s_utils/statefulsets.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/k8s_utils/volumes.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/log.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/pod_exec_result.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/repl.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/repl_commands.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/repl_session.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/repl_state.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/sql/__init__.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/sql/term_completer.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/sso/__init__.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/sso/authenticator.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/sso/authn_ad.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/sso/authn_okta.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/sso/cred_cache.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/sso/id_token.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/sso/idp.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/sso/idp_login.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/sso/idp_session.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/sso/sso_config.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/adam/utils.py +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/kaqing.egg-info/SOURCES.txt +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/kaqing.egg-info/dependency_links.txt +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/kaqing.egg-info/entry_points.txt +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/kaqing.egg-info/top_level.txt +0 -0
- {kaqing-2.0.60 → kaqing-2.0.62}/setup.cfg +0 -0
@@ -151,7 +151,7 @@ class SqlCompleter(Completer):
|
|
151
151
|
state = f'{self.dml}_'
|
152
152
|
text = f'{self.dml} {text}'
|
153
153
|
|
154
|
-
completer = None
|
154
|
+
completer: Completer = None
|
155
155
|
stmts = sqlparse.parse(text)
|
156
156
|
if not stmts:
|
157
157
|
completer = TermCompleter(['select', 'insert', 'delete', 'update'])
|
@@ -160,136 +160,27 @@ class SqlCompleter(Completer):
|
|
160
160
|
state = self.traverse_tokens(text, statement.tokens)
|
161
161
|
if self.debug:
|
162
162
|
print('\n =>', state)
|
163
|
+
|
163
164
|
if state == '':
|
164
165
|
completer = TermCompleter(['select', 'insert', 'delete', 'update'])
|
165
166
|
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
completer = TermCompleter(['x', 'y', 'z'])
|
184
|
-
elif state == "select_from_x_as_x_comma_":
|
185
|
-
completer = TermCompleter(self.tables())
|
186
|
-
elif state == "select_where_":
|
187
|
-
completer = columns
|
188
|
-
elif state in ["select_where_a", "select_where_a_"]:
|
189
|
-
completer = TermCompleter(['=', '<', '<=', '>', '>=', '<>', 'like', 'not', 'in'])
|
190
|
-
elif state == "select_where_a_not_":
|
191
|
-
completer = TermCompleter(['like', 'in'])
|
192
|
-
elif state == "select_where_a_in":
|
193
|
-
completer = TermCompleter(['('])
|
194
|
-
elif state == "select_where_a_in_lp_":
|
195
|
-
completer = TermCompleter(["'", ')'])
|
196
|
-
elif state == "select_where_a_in_lp_a_comma_":
|
197
|
-
completer = TermCompleter(["'"])
|
198
|
-
elif state == "select_where_a_op":
|
199
|
-
completer = TermCompleter(["'"])
|
200
|
-
elif state == "select_where_sc_":
|
201
|
-
completer = TermCompleter(['and', 'or', 'group', 'limit'])
|
202
|
-
elif state == "select_where_sc_limit_":
|
203
|
-
completer = TermCompleter(['1'])
|
204
|
-
elif state == "select_group_":
|
205
|
-
completer = TermCompleter(['by'])
|
206
|
-
elif state == "select_group_by_":
|
207
|
-
completer = columns
|
208
|
-
elif state == "select_group_by_a_comma_":
|
209
|
-
completer = columns
|
210
|
-
elif state == "select_group_by_a_":
|
211
|
-
completer = TermCompleter(['limit'])
|
212
|
-
elif state == "select_group_by_a_limit_":
|
213
|
-
completer = TermCompleter(['1'])
|
214
|
-
elif state == "select_from_x_inner_":
|
215
|
-
completer = TermCompleter(['join'])
|
216
|
-
elif state in ["select_join_", "select_from_x_left_join_"]:
|
217
|
-
completer = TermCompleter(self.tables())
|
218
|
-
elif state == "select_x_join_y,":
|
219
|
-
completer = TermCompleter(self.tables())
|
220
|
-
elif state == "select_x_join_y_":
|
221
|
-
completer = TermCompleter(['on'])
|
222
|
-
elif state == "select_x_join_y_on_":
|
223
|
-
completer = columns
|
224
|
-
elif state == "select_x_join_y_on_a":
|
225
|
-
completer = TermCompleter(['='])
|
226
|
-
elif state == "select_x_join_y_on_a_op":
|
227
|
-
completer = columns
|
228
|
-
elif state == "select_x_join_y_on_a_op_b_":
|
229
|
-
completer = TermCompleter(['where', 'group', 'limit'])
|
230
|
-
elif state == "select_from_x_left_":
|
231
|
-
completer = TermCompleter(['outer', 'join'])
|
232
|
-
elif state == "select_from_x_left_outer_":
|
233
|
-
completer = TermCompleter(['join'])
|
234
|
-
elif state == "select_from_x_right_":
|
235
|
-
completer = TermCompleter(['outer', 'join'])
|
236
|
-
elif state == "select_from_x_right_outer_":
|
237
|
-
completer = TermCompleter(['join'])
|
238
|
-
elif state == "select_from_x_full_":
|
239
|
-
completer = TermCompleter(['outer'])
|
240
|
-
elif state == "select_from_x_full_outer_":
|
241
|
-
completer = TermCompleter(['join'])
|
242
|
-
|
243
|
-
elif state == "insert_":
|
244
|
-
completer = TermCompleter(['into'])
|
245
|
-
elif state == "insert_into_":
|
246
|
-
completer = TermCompleter(self.tables())
|
247
|
-
elif state == "insert_into_x_":
|
248
|
-
completer = TermCompleter(['values(', 'select'])
|
249
|
-
elif state == "insert_into_x_lp_":
|
250
|
-
completer = columns
|
251
|
-
elif state == "insert_into_x_lp_a_comma_":
|
252
|
-
completer = columns
|
253
|
-
elif state == "insert_into_x_lp_a_rp__":
|
254
|
-
completer = TermCompleter(['values(', 'select'])
|
255
|
-
elif state == "insert_values":
|
256
|
-
completer = TermCompleter(['('])
|
257
|
-
elif state == "insert_values_lp_":
|
258
|
-
completer = TermCompleter(["'"])
|
259
|
-
|
260
|
-
elif state == "update_":
|
261
|
-
completer = TermCompleter(self.tables())
|
262
|
-
elif state == "update_x_":
|
263
|
-
completer = TermCompleter(['set'])
|
264
|
-
elif state in ["update_set_", "update_set_sc_comma_"]:
|
265
|
-
completer = columns
|
266
|
-
elif state == "update_set_a":
|
267
|
-
completer = TermCompleter(['='])
|
268
|
-
elif state == "update_set_a_op":
|
269
|
-
completer = TermCompleter(["'"])
|
270
|
-
elif state == "update_set_sc_":
|
271
|
-
completer = TermCompleter(['where'])
|
272
|
-
elif state == "update_where_":
|
273
|
-
completer = columns
|
274
|
-
elif state == "update_where_a":
|
275
|
-
completer = TermCompleter(['='])
|
276
|
-
elif state == "update_where_sc_":
|
277
|
-
completer = TermCompleter(['and', 'or'])
|
278
|
-
|
279
|
-
elif state == "delete_":
|
280
|
-
completer = TermCompleter(['from'])
|
281
|
-
elif state == "delete_from_":
|
282
|
-
completer = TermCompleter(self.tables())
|
283
|
-
elif state == "delete_from_x_":
|
284
|
-
completer = TermCompleter(['where'])
|
285
|
-
elif state == "delete_where_":
|
286
|
-
completer = columns
|
287
|
-
elif state == "delete_where_a":
|
288
|
-
completer = TermCompleter(['='])
|
289
|
-
elif state == "delete_where_a_op":
|
290
|
-
completer = TermCompleter(["'"])
|
291
|
-
elif state == "delete_where_sc_":
|
292
|
-
completer = TermCompleter(['and', 'or'])
|
167
|
+
completers: dict[str, str] = self.machine[1]
|
168
|
+
if state in completers:
|
169
|
+
terms = []
|
170
|
+
|
171
|
+
words = completers[state]
|
172
|
+
for word in words.strip(' ').split(','):
|
173
|
+
if word == 'tables':
|
174
|
+
terms.extend(self.tables())
|
175
|
+
elif word == 'single':
|
176
|
+
terms.append("'")
|
177
|
+
elif word == 'comma':
|
178
|
+
terms.append(",")
|
179
|
+
else:
|
180
|
+
terms.append(word)
|
181
|
+
|
182
|
+
if terms:
|
183
|
+
completer = TermCompleter(terms)
|
293
184
|
|
294
185
|
if completer:
|
295
186
|
for c in completer.get_completions(document, complete_event):
|
@@ -298,15 +189,15 @@ class SqlCompleter(Completer):
|
|
298
189
|
def automata(self):
|
299
190
|
y = [
|
300
191
|
' > select > select',
|
301
|
-
'select_ > name|* > select_a',
|
192
|
+
'select_ > name|* > select_a ^ *',
|
302
193
|
'select_a > , > select_a_comma_',
|
303
|
-
'select_a_comma_ > name|* > select_a',
|
304
|
-
'select_a_ > from > select_from',
|
305
|
-
'select_from_ > name > select_from_x',
|
194
|
+
'select_a_comma_ > name|* > select_a ^ *',
|
195
|
+
'select_a_ > from > select_from ^ from',
|
196
|
+
'select_from_ > name > select_from_x ^ tables',
|
306
197
|
'select_from_x > , > select_from_x_comma_',
|
307
|
-
'select_from_x_comma_ > name > select_from_x',
|
308
|
-
'select_from_x_',
|
309
|
-
'select_from_x_as_x_ > , > select_from_x_comma_',
|
198
|
+
'select_from_x_comma_ > name > select_from_x ^ tables',
|
199
|
+
'select_from_x_ ^ as,where,inner join,left outer join,right outer join,full outer join,group by,limit',
|
200
|
+
'select_from_x_as_x_ > , > select_from_x_comma_ ^ where,inner join,left outer join,right outer join,full outer join,group by,limit',
|
310
201
|
'- > as > select_from_x_as',
|
311
202
|
'- > where > select_where',
|
312
203
|
'- > limit > select_where_sc_limit',
|
@@ -322,101 +213,94 @@ class SqlCompleter(Completer):
|
|
322
213
|
'- > right outer join > select_join',
|
323
214
|
'- > full > select_from_x_full',
|
324
215
|
'- > full outer join > select_join',
|
325
|
-
'select_from_x_as_ > name > select_from_x_as_x',
|
216
|
+
'select_from_x_as_ > name > select_from_x_as_x ^ x,y,z',
|
326
217
|
'select_from_x_as_x > , > select_from_x_as_x_comma_',
|
327
|
-
'select_from_x_as_x_comma_ > name > select_from_x_as_x',
|
328
|
-
'select_where_ > name > select_where_a',
|
329
|
-
'select_where_a > comparison > select_where_a_op',
|
330
|
-
'select_where_a_ > comparison > select_where_a_op',
|
218
|
+
'select_from_x_as_x_comma_ > name > select_from_x_as_x ^ tables',
|
219
|
+
'select_where_ > name > select_where_a ^ id,x.,y.,z.',
|
220
|
+
'select_where_a > comparison > select_where_a_op ^ =,<,<=,>,>=,<>,like,not,in',
|
221
|
+
'select_where_a_ > comparison > select_where_a_op ^ =,<,<=,>,>=,<>,like,not,in',
|
331
222
|
'- > not > select_where_a_not',
|
332
223
|
'- > in > select_where_a_in',
|
333
|
-
'select_where_a_not_ > comparison > select_where_a_not_op',
|
224
|
+
'select_where_a_not_ > comparison > select_where_a_not_op ^ like,in',
|
334
225
|
'- > in > select_where_a_in',
|
335
|
-
'select_where_a_in > ( > select_where_a_in_lp_',
|
336
|
-
'select_where_a_in_lp_ > name|single
|
337
|
-
'select_where_a_in_lp_a > , > select_where_a_in_lp_a_comma_',
|
226
|
+
'select_where_a_in > ( > select_where_a_in_lp_ ^ (',
|
227
|
+
'select_where_a_in_lp_ > name|single|num > select_where_a_in_lp_a ^ single',
|
228
|
+
'select_where_a_in_lp_a > , > select_where_a_in_lp_a_comma_ ^ comma,)',
|
338
229
|
'- > ) > select_where_sc',
|
339
|
-
'select_where_a_in_lp_a_comma_ > name|single
|
340
|
-
'select_where_a_not_op > name|single
|
341
|
-
'select_where_a_op > name|single
|
342
|
-
'select_where_sc_ > and|or > select_where',
|
230
|
+
'select_where_a_in_lp_a_comma_ > name|single|num > select_where_a_in_lp_a ^ single',
|
231
|
+
'select_where_a_not_op > name|single|num > select_where_sc ^ single',
|
232
|
+
'select_where_a_op > name|single|num > select_where_sc ^ single',
|
233
|
+
'select_where_sc_ > and|or > select_where ^ and,or,group by,limit',
|
343
234
|
'- > group > select_group',
|
344
235
|
'- > group by > select_group_by',
|
345
236
|
'- > limit > select_where_sc_limit',
|
346
|
-
'select_group_ > by > select_group_by',
|
347
|
-
'select_group_by_ > name > select_group_by_a',
|
237
|
+
'select_group_ > by > select_group_by ^ by',
|
238
|
+
'select_group_by_ > name > select_group_by_a ^ id,x.,y.,z.',
|
348
239
|
'select_group_by_a > , > select_group_by_a_comma_',
|
349
|
-
'select_group_by_a_comma_ > name > select_group_by_a',
|
350
|
-
'select_group_by_a_ > limit > select_where_sc_limit',
|
351
|
-
'
|
240
|
+
'select_group_by_a_comma_ > name > select_group_by_a ^ id,x.,y.,z.',
|
241
|
+
'select_group_by_a_ > limit > select_where_sc_limit ^ limit',
|
242
|
+
'select_where_sc_limit_ > num > select_where_sc_limit_num ^ 1',
|
352
243
|
'select_where_x_inner_ > join > select_join',
|
353
|
-
'select_join_ > name > select_x_join_y',
|
354
|
-
'select_from_x_left_ > join > select_join',
|
244
|
+
'select_join_ > name > select_x_join_y ^ tables',
|
245
|
+
'select_from_x_left_ > join > select_join ^ outer join',
|
355
246
|
'- > outer > select_from_x_left_outer',
|
356
|
-
'select_from_x_left_outer_ > join > select_join',
|
357
|
-
'
|
358
|
-
'select_from_x_right_ > join > select_join',
|
247
|
+
'select_from_x_left_outer_ > join > select_join ^ join',
|
248
|
+
'select_from_x_right_ > join > select_join ^ outer join',
|
359
249
|
'- > outer > select_from_x_right_outer',
|
360
|
-
'select_from_x_right_outer_ > join > select_join',
|
361
|
-
'select_from_x_full_ > join > select_join',
|
250
|
+
'select_from_x_right_outer_ > join > select_join ^ join',
|
251
|
+
'select_from_x_full_ > join > select_join ^ outer join',
|
362
252
|
'- > outer > select_from_x_full_outer',
|
363
|
-
'select_from_x_full_outer_ > join > select_join',
|
364
|
-
'
|
365
|
-
'
|
366
|
-
'
|
367
|
-
'
|
368
|
-
'
|
369
|
-
'select_x_join_y_on_a_op > name|single > select_x_join_y_on_a_op_b',
|
370
|
-
'select_x_join_y_on_a_op_b > , > select_x_join_y_on_',
|
371
|
-
'select_x_join_y_on_a_op_b_ > and|or > select_join',
|
372
|
-
'- > where > select_where',
|
373
|
-
'- > group > select_group',
|
374
|
-
'- > group by > select_group_by',
|
375
|
-
'- > limit > select_where_sc_limit',
|
253
|
+
'select_from_x_full_outer_ > join > select_join ^ join',
|
254
|
+
'select_x_join_y_ > on > select_x_join_y_on ^ on',
|
255
|
+
'select_x_join_y_on_ > name > select_x_join_y_on_a ^ id,x.,y.,z.',
|
256
|
+
'select_x_join_y_on_a > comparison > select_x_join_y_on_a_op ^ =',
|
257
|
+
'select_x_join_y_on_a_op > name > select_x_join_y_on_a_op_b ^ id,x.,y.,z.',
|
258
|
+
'select_x_join_y_on_a_op_b > _ > select_from_x_as_x_',
|
376
259
|
|
377
260
|
|
378
261
|
' > insert > insert',
|
379
|
-
'insert_ > into > insert_into',
|
380
|
-
'insert_into_ > name > insert_into_x',
|
262
|
+
'insert_ > into > insert_into ^ into',
|
263
|
+
'insert_into_ > name > insert_into_x ^ tables',
|
381
264
|
'insert_into_x > ( > insert_into_x_lp_',
|
382
|
-
'insert_into_x_ > ( > insert_into_x_lp_',
|
265
|
+
'insert_into_x_ > ( > insert_into_x_lp_ ^ (,values(',
|
383
266
|
'- > values > insert_values',
|
384
|
-
'insert_into_x_lp_ > name > insert_into_x_lp_a',
|
267
|
+
'insert_into_x_lp_ > name > insert_into_x_lp_a ^ id',
|
385
268
|
'insert_into_x_lp_a > , > insert_into_x_lp_a_comma_',
|
386
269
|
'- > ) > insert_into_x_lp_a_rp_',
|
387
|
-
'insert_into_x_lp_a_comma_ > name > insert_into_x_lp_a',
|
388
|
-
'insert_into_x_lp_a_rp__ > values > insert_values',
|
270
|
+
'insert_into_x_lp_a_comma_ > name > insert_into_x_lp_a ^ id',
|
271
|
+
'insert_into_x_lp_a_rp__ > values > insert_values ^ values(,select',
|
389
272
|
'- > select > select',
|
390
273
|
'insert_values > ( > insert_values_lp_',
|
391
|
-
'insert_values_lp_ > name|single
|
274
|
+
'insert_values_lp_ > name|single|num > insert_values_lp_v ^ single',
|
392
275
|
'insert_values_lp_v > , > insert_values_lp_v_comma_',
|
393
|
-
'insert_values_lp_v_comma_ > name|single
|
276
|
+
'insert_values_lp_v_comma_ > name|single|num > insert_values_lp_v',
|
394
277
|
|
395
278
|
|
396
279
|
' > update > update',
|
397
|
-
'update_ > name > update_x',
|
398
|
-
'update_x_ > set > update_set',
|
399
|
-
'update_set_ > name > update_set_a',
|
280
|
+
'update_ > name > update_x ^ tables',
|
281
|
+
'update_x_ > set > update_set ^ set',
|
282
|
+
'update_set_ > name > update_set_a ^ id',
|
400
283
|
'update_set_a > comparison > update_set_a_op',
|
401
|
-
'update_set_a_op > name|single
|
284
|
+
'update_set_a_op > name|single|num > update_set_sc ^ single',
|
402
285
|
'update_set_sc > , > update_set_sc_comma_',
|
403
|
-
'update_set_sc_comma_ > name > update_set_a',
|
404
|
-
'update_set_sc_ > , > update_set_sc_comma_',
|
286
|
+
'update_set_sc_comma_ > name > update_set_a ^ id',
|
287
|
+
'update_set_sc_ > , > update_set_sc_comma_ ^ where',
|
405
288
|
'- > where > update_where',
|
406
|
-
'update_where_ > name > update_where_a',
|
289
|
+
'update_where_ > name > update_where_a ^ id',
|
407
290
|
'update_where_a > comparison > update_where_a_op',
|
408
|
-
'
|
409
|
-
'
|
291
|
+
'update_where_a_ > comparison > update_where_a_op ^ =,<,<=,>,>=,<>,like,not,in',
|
292
|
+
'update_where_a_op > name|single|num > update_where_sc ^ single',
|
293
|
+
'update_where_sc_ > and|or > update_where ^ and,or',
|
410
294
|
|
411
295
|
|
412
296
|
' > delete > delete',
|
413
|
-
'delete_ > from > delete_from',
|
414
|
-
'delete_from_ > name > delete_from_x',
|
415
|
-
'delete_from_x_ > where > delete_where',
|
416
|
-
'delete_where_ > name > delete_where_a',
|
417
|
-
'delete_where_a > comparison > delete_where_a_op',
|
418
|
-
'delete_where_a_op > name|single
|
419
|
-
'delete_where_sc_ > and|or > delete_where',
|
297
|
+
'delete_ > from > delete_from ^ from',
|
298
|
+
'delete_from_ > name > delete_from_x ^ tables',
|
299
|
+
'delete_from_x_ > where > delete_where ^ where',
|
300
|
+
'delete_where_ > name > delete_where_a ^ id',
|
301
|
+
'delete_where_a > comparison > delete_where_a_op ^ =,<,<=,>,>=,<>,like,not,in',
|
302
|
+
'delete_where_a_op > name|single|num > delete_where_sc ^ single',
|
303
|
+
'delete_where_sc_ > and|or > delete_where ^ and,or',
|
420
304
|
]
|
421
305
|
|
422
306
|
def add_space_transition(from_s: str):
|
@@ -427,14 +311,22 @@ class SqlCompleter(Completer):
|
|
427
311
|
machine[f'{from_s[:-1]} > _'] = from_s
|
428
312
|
|
429
313
|
machine: dict[str, str] = {}
|
314
|
+
completers: dict[str, str] = {}
|
430
315
|
|
431
316
|
from_ss_to_add = []
|
432
317
|
from_ss = ['']
|
433
318
|
token = None
|
434
319
|
tokens = []
|
435
320
|
to_s = None
|
321
|
+
words: str = None
|
436
322
|
for l in y:
|
437
|
-
|
323
|
+
t_and_w = l.split('^')
|
324
|
+
if len(t_and_w) > 1:
|
325
|
+
words = t_and_w[1]
|
326
|
+
else:
|
327
|
+
words = None
|
328
|
+
|
329
|
+
tks = t_and_w[0].strip(' ').split('>')
|
438
330
|
if l.startswith('-'):
|
439
331
|
token = tks[1].strip(' ')
|
440
332
|
if len(tks) > 2:
|
@@ -449,6 +341,9 @@ class SqlCompleter(Completer):
|
|
449
341
|
print(f'{from_s} > {t} = {to_s}')
|
450
342
|
machine[f'{from_s} > {t}'] = to_s
|
451
343
|
else:
|
344
|
+
if words:
|
345
|
+
completers[tks[0].strip(' ')] = words
|
346
|
+
|
452
347
|
if len(tks) == 1:
|
453
348
|
from_s = tks[0].strip(' ')
|
454
349
|
add_space_transition(from_s)
|
@@ -458,7 +353,7 @@ class SqlCompleter(Completer):
|
|
458
353
|
from_ss = []
|
459
354
|
from_ss.extend(from_ss_to_add)
|
460
355
|
from_ss_to_add = []
|
461
|
-
from_ss.append(
|
356
|
+
from_ss.append(tks[0].strip(' '))
|
462
357
|
for from_s in from_ss:
|
463
358
|
add_space_transition(from_s)
|
464
359
|
token = tks[1].strip(' ')
|
@@ -474,7 +369,7 @@ class SqlCompleter(Completer):
|
|
474
369
|
print(f'{from_s} > {t} = {to_s}')
|
475
370
|
machine[f'{from_s} > {t}'] = to_s
|
476
371
|
|
477
|
-
return machine
|
372
|
+
return (machine, completers)
|
478
373
|
|
479
374
|
def traverse_tokens(self, text: str, tokens: list[Token], state: str = '', indent=0):
|
480
375
|
keywords = [
|
@@ -503,7 +398,7 @@ class SqlCompleter(Completer):
|
|
503
398
|
print(f'"{token.value}:{typ}" ', end='')
|
504
399
|
else:
|
505
400
|
print(f'{token.value}:{typ} ', end='')
|
506
|
-
|
401
|
+
# print(" " * indent + f"Token: {token.value}, Type: {token.ttype}@{token.ttype.__class__}")
|
507
402
|
|
508
403
|
if token.is_group:
|
509
404
|
state = self.traverse_tokens(text, token.tokens, state, indent + 1)
|
@@ -513,8 +408,12 @@ class SqlCompleter(Completer):
|
|
513
408
|
it = t
|
514
409
|
elif token.ttype == T.Text.Whitespace:
|
515
410
|
it = '_'
|
516
|
-
elif token.ttype
|
411
|
+
elif token.ttype == T.Name:
|
517
412
|
it = 'name'
|
413
|
+
elif token.ttype == T.Literal.String.Single:
|
414
|
+
it = 'single'
|
415
|
+
elif token.ttype in [T.Literal.Number.Integer, T.Literal.Number.Float]:
|
416
|
+
it = 'num'
|
518
417
|
elif token.ttype == T.Wildcard:
|
519
418
|
it = '*'
|
520
419
|
elif token.ttype == T.Punctuation:
|
@@ -528,7 +427,7 @@ class SqlCompleter(Completer):
|
|
528
427
|
it = 'comparison'
|
529
428
|
|
530
429
|
try:
|
531
|
-
state = self.machine[f'{state} > {it}']
|
430
|
+
state = self.machine[0][f'{state} > {it}']
|
532
431
|
except:
|
533
432
|
pass
|
534
433
|
|
kaqing-2.0.60/adam/version.py
DELETED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|