MCPcopy Create free account
hub / github.com/FlyingFeather/DEA-SQL / normalize_create_table

Function normalize_create_table

data_preprocess.py:15–57  ·  view source on GitHub ↗
(table_name, create_table_statement)

Source from the content-addressed store, hash-verified

13
14
15def normalize_create_table(table_name, create_table_statement):
16 create_table_statement = create_table_statement.strip()
17 create_table_statement = create_table_statement.replace("`", "\"").replace("'", "\"").replace("[", "\"").replace("]", "\"")
18 create_table_statement = create_table_statement.replace("\"", '')
19 create_table_statement = create_table_statement.replace('\t', ' ').replace('\n', ' ')
20 create_table_statement = ' '.join(create_table_statement.split())
21 create_table_statement_split = [""]
22 num_left = 0
23 for tok in create_table_statement:
24 if tok == "(":
25 num_left += 1
26 create_table_statement_split[-1] += tok
27 elif tok == ")":
28 num_left -= 1
29 create_table_statement_split[-1] += tok
30 elif tok != ',':
31 create_table_statement_split[-1] += tok
32 if tok == ',':
33 if num_left == 1:
34 create_table_statement_split.append("")
35 continue
36 else:
37 create_table_statement_split[-1] += tok
38 continue
39 create_table_statement = create_table_statement_split
40 new_create_table_statement = []
41 for i, x in enumerate(create_table_statement):
42 if i == 0:
43 x = x.split('(')
44 x1 = x[0].strip()
45 x2 = ','.join(x[1:]).strip()
46 new_create_table_statement.append(x1 + " (")
47 new_create_table_statement.append(x2 + ",")
48 elif i == len(create_table_statement) - 1:
49 x = x.split(')')
50 x1 = ')'.join(x[:-1]).strip()
51 x2 = x[-1].strip()
52 new_create_table_statement.append(x1)
53 new_create_table_statement.append(x2 + ")")
54 else:
55 new_create_table_statement.append(x.strip() + ",")
56
57 return '\n'.join(new_create_table_statement)
58
59
60def get_foreign_keys(db_id, table, create_table_statement, table_upper=False):

Calls

no outgoing calls

Tested by

no test coverage detected