Changeset: 59b5ffc11ddf for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=59b5ffc11ddf
Modified Files:
        monetdb5/modules/mal/mal_mapi.c
Branch: default
Log Message:

Make remote rpc-bat headless


diffs (64 lines):

diff --git a/monetdb5/modules/mal/mal_mapi.c b/monetdb5/modules/mal/mal_mapi.c
--- a/monetdb5/modules/mal/mal_mapi.c
+++ b/monetdb5/modules/mal/mal_mapi.c
@@ -1581,54 +1581,31 @@ SERVERmapi_rpc_bat(Client cntxt, MalBlkP
        bat *ret;
        int *key;
        str *qry,err= MAL_SUCCEED;
-       int i;
        Mapi mid;
        MapiHdl hdl;
-       char *fld1, *fld2;
+       char *fld2;
        BAT *b;
-       ValRecord hval,tval;
-       int ht,tt;
+       ValRecord tval;
+       int i=0, tt;
 
        (void) cntxt;
        ret= getArgReference_bat(stk,pci,0);
        key= getArgReference_int(stk,pci,pci->retc);
        qry= getArgReference_str(stk,pci,pci->retc+1);
        accessTest(*key, "rpc");
-       ht= getHeadType(getVarType(mb,getArg(pci,0)));
        tt= getColumnType(getVarType(mb,getArg(pci,0)));
 
        hdl= mapi_query(mid, *qry);
        catchErrors("mapi.rpc");
 
-       assert(ht == TYPE_void || ht== TYPE_oid);
        b= BATnew(TYPE_void,tt,256, TRANSIENT);
        if ( b == NULL)
                throw(MAL,"mapi.rpc",MAL_MALLOC_FAIL);
        BATseqbase(b,0);
-       i= 0;
-       if ( mapi_fetch_row(hdl)){
-               int oht = ht, ott = tt;
-
-               fld1= mapi_fetch_field(hdl,0);
-               fld2= mapi_fetch_field(hdl,1);
-               if (fld1 && ht == TYPE_void)
-                       ht = TYPE_oid;
-               if (fld2 && tt == TYPE_void)
-                       tt = TYPE_oid;
-               SERVERfieldAnalysis(fld1, ht, &hval);
+       while( mapi_fetch_row(hdl)){
+               fld2= mapi_fetch_field(hdl,0);
                SERVERfieldAnalysis(fld2, tt, &tval);
-               if (oht != ht)
-                       BATseqbase(b, hval.val.oval);
-               if (ott != tt)
-                       BATseqbase(BATmirror(b), tval.val.oval);
-               BUNins(b,VALptr(&hval),VALptr(&tval), FALSE);
-       }
-       while( mapi_fetch_row(hdl)){
-               fld1= mapi_fetch_field(hdl,0);
-               fld2= mapi_fetch_field(hdl,1);
-               SERVERfieldAnalysis(fld1, ht, &hval);
-               SERVERfieldAnalysis(fld2, tt, &tval);
-               BUNins(b,VALptr(&hval),VALptr(&tval), FALSE);
+               BUNappend(b,VALptr(&tval), FALSE);
        }
        if (!(b->batDirty&2)) BATsetaccess(b, BAT_READ);
        *ret = b->batCacheid;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to