from ImportantConfig import Config
config = Config()
import json
from psqlparse import parse_dict
from JOBParser import *
queries = []
with open(config.queries_file) as f:
if ".json" in config.queries_file:
# 'workload/JOB_static.json'
queries = json.load(f)
if ".txt" in config.queries_file:
for line in f.readlines():
arr = line.strip().split("#####")
queries.append(arr[1])
table_name = []
for id,query in enumerate(queries):
if isinstance(query,list):
query = query[0]
parse_result = parse_dict(query)[0]["SelectStmt"]
from_table_list = [FromTable(x["RangeVar"]) for x in parse_result["fromClause"]]
aliasnames_root_set = set([x.getAliasName() for x in from_table_list])
table_name.extend(list(aliasnames_root_set))
table_name = set(table_name)
aliasname2id = dict(zip(table_name,range(len(table_name))))
id2aliasname = dict(zip(range(len(table_name)),table_name))
print(aliasname2id)
print(id2aliasname)
获取sql中的所有表名缩写(as 后)
最新推荐文章于 2024-05-30 23:34:57 发布