diff --git a/reconstruct/ast.py b/reconstruct/ast.py index 04e5abc..c1e0c44 100644 --- a/reconstruct/ast.py +++ b/reconstruct/ast.py @@ -207,7 +207,10 @@ class projection(ast_node): this_type = enlist(this_type) proj_expr = enlist(proj_expr) for t, n, pexpr, cp in zip(this_type, name, proj_expr, compound): - t = VectorT(t) if cp else t + if cp: + # Force postporcessing for compound columns + t = VectorT(t) + self.has_postproc = True offset = len(col_exprs) if n not in self.var_table: self.var_table[n] = offset diff --git a/server/types.h b/server/types.h index 20cb0fc..ff2b85b 100644 --- a/server/types.h +++ b/server/types.h @@ -428,7 +428,7 @@ using get_first = typename get_first_impl::first; template struct value_type_rec_impl { typedef T type; }; template