Changeset: d132bcb19865 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d132bcb19865
Modified Files:
        monetdb5/extras/pyapi/connection.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_execute.h
        sql/backends/monet5/sql_result.c
Branch: pythonudf
Log Message:

Added OFMT_NONE back in, but only use it for loopback queries (to avoid 
breaking MAL).


diffs (87 lines):

diff --git a/monetdb5/extras/pyapi/connection.c 
b/monetdb5/extras/pyapi/connection.c
--- a/monetdb5/extras/pyapi/connection.c
+++ b/monetdb5/extras/pyapi/connection.c
@@ -223,7 +223,7 @@ void _connection_cleanup_result(void* ou
 char* _connection_query(Client cntxt, char* query, res_table** result) {
     str res = MAL_SUCCEED;
     Client c = cntxt;
-    res = SQLstatementIntern(c, &query, "name", 1, 0, result);
+    res = SQLstatementIntern_ext(c, &query, "name", 1, 0, result, 1);
     return res;
 }
 
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -3328,9 +3328,9 @@ mvc_scalar_value_wrap(Client cntxt, MalB
        b = cntxt->sqlcontext;
        if (ATOMextern(mtype))
                p = *(ptr *) p;
-       /*if (b->output_format == OFMT_NONE) {
+       if (b->output_format == OFMT_NONE) {
                return MAL_SUCCEED;
-       }*/
+       }
        if (b->out == NULL || mvc_export_value(b, b->out, 1, *tn, *cn, *type, 
*digits, *scale, *eclass, p, mtype, "", "NULL") != SQL_OK)
                throw(SQL, "sql.exportValue", "failed");
        return MAL_SUCCEED;
diff --git a/sql/backends/monet5/sql_execute.c 
b/sql/backends/monet5/sql_execute.c
--- a/sql/backends/monet5/sql_execute.c
+++ b/sql/backends/monet5/sql_execute.c
@@ -50,9 +50,18 @@
 * The tricky part for this statement is to ensure that the SQL statement
 * is executed within the client context specified. This leads to context 
juggling.
 */
+
+
+
 str
 SQLstatementIntern(Client c, str *expr, str nme, int execute, bit output, 
res_table **result)
 {
+       return SQLstatementIntern_ext(c, expr, nme, execute, output, result, 0);
+}
+
+str
+SQLstatementIntern_ext(Client c, str *expr, str nme, int execute, bit output, 
res_table **result, bit ofmt)
+{
        int status = 0;
        int err = 0;
        mvc *o, *m;
@@ -95,9 +104,9 @@ SQLstatementIntern(Client c, str *expr, 
        be = sql;
        sql = backend_create(m, c);
        sql->output_format = be->output_format;
-       /*if (!output) {
+       if (ofmt) {
                sql->output_format = OFMT_NONE;
-       }*/
+       }
        m->qc = NULL;
        m->caching = 0;
        m->user_id = m->role_id = USER_MONETDB;
diff --git a/sql/backends/monet5/sql_execute.h 
b/sql/backends/monet5/sql_execute.h
--- a/sql/backends/monet5/sql_execute.h
+++ b/sql/backends/monet5/sql_execute.h
@@ -12,6 +12,7 @@
 
 sql5_export str SQLstatementREST(Client c, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str SQLstatementIntern(Client c, str *expr, str nme, int execute, 
bit output, res_table **result);
+sql5_export str SQLstatementIntern_ext(Client c, str *expr, str nme, int 
execute, bit output, res_table **result, bit ofmt);
 sql5_export str SQLexecutePrepared(Client c, backend *be, cq *q);
 sql5_export str SQLengineIntern(Client c, backend *be);
 sql5_export str SQLrecompile(Client c, backend *be);
diff --git a/sql/backends/monet5/sql_result.c b/sql/backends/monet5/sql_result.c
--- a/sql/backends/monet5/sql_result.c
+++ b/sql/backends/monet5/sql_result.c
@@ -1870,9 +1870,9 @@ mvc_export_result(backend *b, stream *s,
                return 0;
        
        /* Proudly supporting SQLstatementIntern's output flag */
-       /*if (b->output_format == OFMT_NONE) {
+       if (b->output_format == OFMT_NONE) {
                return 0;
-       }*/
+       }
        /* we shouldn't have anything else but Q_TABLE here */
        assert(t->query_type == Q_TABLE);
        if (t->tsep)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to