bug fixes

This commit is contained in:
2022-05-02 08:35:50 +08:00
parent f3762595a8
commit 3051eb5fe7
12 changed files with 602 additions and 93 deletions
+3 -3
View File
@@ -28,7 +28,7 @@ class create_table(ast_node):
# create an empty new table
if self.cexprs is None:
for c in tbl.columns:
self.emit(f"{c.cxt_name}.init();")
self.emit(f"{c.cxt_name}.init({c.name});")
# create an output table
else:
# 1 to 1 lineage.
@@ -40,7 +40,7 @@ class create_table(ast_node):
else:
self.lineage = None
for i, c in enumerate(tbl.columns):
self.emit(f"{c.cxt_name}.init();")
self.emit(f"{c.cxt_name}.init({c.name});")
self.emit(f"{c.cxt_name} = {self.cexprs[i](self.lineage)};")
self.lineage = None
self.parent.assumptions = None
@@ -54,7 +54,7 @@ class create_table(ast_node):
scanner.add(f"{lineage_var}.emplace_back({counter_var}++);", "front")
self.lineage = f"{lineage_var}.rid"
for i, c in enumerate(tbl.columns):
scanner.add(f"{c.cxt_name}.init();", "init")
scanner.add(f"{c.cxt_name}.init({c.name});", "init")
scanner.add(f"{c.cxt_name} = {self.cexprs[i](scanner.it_ver)};")
class insert(ast_node):
+1
View File
@@ -50,6 +50,7 @@ class expr(ast_node):
self.inside_agg = False
if(type(parent) is expr):
self.inside_agg = parent.inside_agg
self.__abs = parent.__abs
ast_node.__init__(self, parent, node, None)
def init(self, _):
+1 -1
View File
@@ -55,7 +55,7 @@ class groupby(ast_node):
gscanner = scan(self, self.group)
val_var = 'val_'+base62uuid(7)
gscanner.add(f'auto &{val_var} = {gscanner.it_ver}.second;')
gscanner.add(f'{out.cxt_name}->order_by<{assumption.result()}>(&{val_var});')
gscanner.add(f'{self.datasource.cxt_name}->order_by<{assumption.result()}>(&{val_var});')
gscanner.finalize()
def finalize(self, cexprs, out:TableInfo):