Changeset: 5e33490ac9db for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/5e33490ac9db
Added Files:
        sql/test/proto_loader/monetdb/Tests/All
        sql/test/proto_loader/monetdb/Tests/monetdb.test.in
Modified Files:
        sql/backends/monet5/vaults/monetdb/monetdb.c
Branch: Mar2025
Log Message:

handle case without mapi error
add some tests


diffs (36 lines):

diff --git a/sql/backends/monet5/vaults/monetdb/monetdb.c 
b/sql/backends/monet5/vaults/monetdb/monetdb.c
--- a/sql/backends/monet5/vaults/monetdb/monetdb.c
+++ b/sql/backends/monet5/vaults/monetdb/monetdb.c
@@ -107,7 +107,11 @@ monetdb_relation(mvc *sql, sql_subfunc *
        });
 
        if ((hdl = mapi_query(dbh, query)) == NULL || mapi_error(dbh)) {
-               ret = sa_strdup(sql->sa, mapi_error_str(dbh));
+               const char *err = mapi_error_str(dbh);
+               if (err)
+                       ret = sa_strdup(sql->sa, err);
+               else
+                       ret = sa_message(sql->sa, "Failed to access remote 
server");
                goto end;
        }
 
diff --git a/sql/test/proto_loader/monetdb/Tests/All 
b/sql/test/proto_loader/monetdb/Tests/All
new file mode 100644
--- /dev/null
+++ b/sql/test/proto_loader/monetdb/Tests/All
@@ -0,0 +1,1 @@
+monetdb
diff --git a/sql/test/proto_loader/monetdb/Tests/monetdb.test.in 
b/sql/test/proto_loader/monetdb/Tests/monetdb.test.in
new file mode 100644
--- /dev/null
+++ b/sql/test/proto_loader/monetdb/Tests/monetdb.test.in
@@ -0,0 +1,9 @@
+-- test with 'monetdb://localhost:$MAPIPORT/$TSTDB/sys/table;' protocol 
specification
+
+query I
+select count(*) from 'monetdb://localhost:$MAPIPORT/$TSTDB/sys/_tables'
+----
+143
+
+statement error 42000!SELECT: proto_loader function failed 'Failed to access 
remote server'
+select * from 'monetdb://localhost:$MAPIPORT/$TSTDB/sys/tables2'
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to