Changeset: 45f1606ce31d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=45f1606ce31d
Modified Files:
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql_statement.c
Branch: graph0
Log Message:
Bugfix: codegen, move to the new API to return multiple outputs
The codegen API mil/mal to return multiple variables when invoking a statement
was changed in the master branch. With the recent merge the new API was
propagated and introduced a mismatch with what done for the graph related
statements. This fix aligns the API for these statements with the one used
for the rest of the code.
diffs (57 lines):
diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -4899,7 +4899,7 @@ rel2bin_graph(backend *be, sql_rel* rel,
query = stmt_list(be, lst1); lst1 = NULL;
// in case of a SELECT intersect the two lists, so that we have
only the columns part of the domain
- // there is no more need to ensure the candidates are sorted,
graph.intersect_join_lists can deal
+ // it is no more needed to ensure the candidates are sorted,
graph.intersect_join_lists can deal
// with it
if(rel->op == op_graph_select){
query = stmt_gr8_intersect_join_lists(be, query);
diff --git a/sql/backends/monet5/sql_statement.c
b/sql/backends/monet5/sql_statement.c
--- a/sql/backends/monet5/sql_statement.c
+++ b/sql/backends/monet5/sql_statement.c
@@ -3687,6 +3687,7 @@ stmt_gr8_intersect_join_lists(backend *b
stmt *s = NULL; // temporary stmt
s = stmt_create(be->mvc->sa, st_result);
+ s->q = q;
s->nr = getDestVar(q);
copy_params(n->data, s);
list_append(l, s);
@@ -3695,14 +3696,15 @@ stmt_gr8_intersect_join_lists(backend *b
// second parameter is easy
list_append(l, stmt_none(be));
-
// third & four parameters
s = stmt_create(be->mvc->sa, st_result);
+ s->q = q;
s->nr = getArg(q, 1);
copy_params(n->data, s);
list_append(l, s);
n = n->next;
s = stmt_create(be->mvc->sa, st_result);
+ s->q = q;
s->nr = getArg(q, 2);
copy_params(n->data, s);
list_append(l, s);
@@ -3716,7 +3718,6 @@ stmt *
stmt_gr8_spfw(backend *be, stmt *query, stmt *edge_from, stmt *edge_to, stmt
*weights, int global_flags) {
InstrPtr q = NULL;
stmt *s = NULL;
- int dest = -1;
int num_output_cols = 2; // number of output columns from the operator
stream *stream = buffer_wastream(buffer_create(1024),
"spfw_codegen_query");
@@ -3825,7 +3826,7 @@ stmt_gr8_spfw(backend *be, stmt *query,
// MIL statement
s = stmt_create(be->mvc->sa, st_gr8_spfw);
- s->nr = dest;
+ s->nr = getDestVar(q);
s->q = q;
s->flag = global_flags;
s->op1 = query;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list