MonetDB: default - small cleanup

2025-01-17 Thread Niels Nes via checkin-list
Changeset: 05044a513937 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/05044a513937
Modified Files:
clients/Tests/exports.stable.out
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_execute.h
sql/backends/monet5/sql_scenario.c
Branch: default
Log Message:

small cleanup


diffs (131 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -1403,7 +1403,6 @@ str RAstatementEnd(Client cntxt, MalBlkP
 str SQLautocommit(mvc *m);
 void SQLdestroyResult(res_table *destroy);
 void SQLengine(Client c);
-str SQLengineIntern(Client c, backend *be);
 str SQLengine_(Client c);
 str SQLescapeString(str s);
 str SQLexitClient(Client c);
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
@@ -539,13 +539,9 @@ SQLstatementIntern(Client c, const char 
if (!output)
sql->out = NULL;/* no output stream */
be->depth++;
-   msg = SQLrun(c,m);
+   msg = SQLrun(c, m);
be->depth--;
-   if (c->curprg->def->stop > 1) {
-   assert(0);
-   MSresetInstructions(c->curprg->def, oldstop);
-   freeVariables(c, c->curprg->def, NULL, oldvtop);
-   }
+   assert (c->curprg->def->stop <= 1);
sqlcleanup(sql, 0);
if (!execute)
goto endofcompile;
@@ -603,38 +599,6 @@ endofcompile:
return msg;
 }
 
-str
-SQLengineIntern(Client c, backend *be)
-{
-   str msg = MAL_SUCCEED;
-   //char oldlang = be->language;
-   mvc *m = be->mvc;
-
-   assert (m->emode != m_deallocate && m->emode != m_prepare);
-   assert (c->curprg->def->stop > 2);
-
-   //be->language = 'D';
-   if (MALcommentsOnly(c->curprg->def))
-   msg = MAL_SUCCEED;
-   else
-   msg = SQLrun(c,m);
-
-   if (m->type == Q_SCHEMA && m->qc != NULL)
-   qc_clean(m->qc);
-   be->q = NULL;
-   if (msg)
-   m->session->status = -10;
-   sqlcleanup(be, (!msg) ? 0 : -1);
-   MSresetInstructions(c->curprg->def, 1);
-   freeVariables(c, c->curprg->def, NULL, be->vtop);
-   //be->language = oldlang;
-   /*
-* Any error encountered during execution should block further 
processing
-* unless auto_commit has been set.
-*/
-   return msg;
-}
-
 void
 SQLdestroyResult(res_table *destroy)
 {
@@ -692,12 +656,10 @@ RAstatement(Client c, MalBlkPtr mb, MalS
if (backend_dumpstmt(be, c->curprg->def, rel, 0, 1, NULL) < 0) {
msg = createException(SQL,"RAstatement","Program 
contains errors"); // TODO: use macro definition.
} else {
-   SQLaddQueryToCache(c);
-   msg = SQLoptimizeFunction(c,c->curprg->def);
-   if( msg == MAL_SUCCEED)
+   msg = SQLoptimizeFunction(c, c->curprg->def);
+   if (msg == MAL_SUCCEED)
msg = SQLrun(c,m);
resetMalBlk(c->curprg->def);
-   SQLremoveQueryFromCache(c);
}
rel_destroy(rel);
}
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
@@ -15,7 +15,6 @@
 #include "sql.h"
 
 sql5_export str SQLstatementIntern(Client c, const char *expr, const char 
*nme, bit execute, bit output, res_table **result);
-sql5_export str SQLengineIntern(Client c, backend *be);
 sql5_export str RAstatement(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str RAstatement2(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str RAstatementEnd(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -1670,7 +1670,31 @@ SQLengine_(Client c)
sqlcleanup(be, 0);
return NULL;
}
-   return SQLengineIntern(c, be);
+
+   mvc *m = be->mvc;
+
+   assert (m->emode != m_deallocate && m->emode != m_prepare);
+   assert (c->curprg->def->stop > 2);
+
+   if (MALcommentsOnly(c->curprg->def)) {
+   assert(0);
+   msg = MAL_SUCCEED;
+   } else
+   msg = SQLrun(c,m);
+
+   if (m->type == Q_SCHEMA && m->qc != NULL)
+   qc_clean(m->qc);
+   be->q = NU

MonetDB: nested - merged with default

2025-01-17 Thread Niels Nes via checkin-list
Changeset: 1d8e176812b7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/1d8e176812b7
Modified Files:
clients/Tests/exports.stable.out
sql/backends/monet5/sql_execute.c
Branch: nested
Log Message:

merged with default


diffs (129 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -1403,7 +1403,6 @@ str RAstatementEnd(Client cntxt, MalBlkP
 str SQLautocommit(mvc *m);
 void SQLdestroyResult(res_table *destroy);
 void SQLengine(Client c);
-str SQLengineIntern(Client c, backend *be);
 str SQLengine_(Client c);
 str SQLescapeString(str s);
 str SQLexitClient(Client c);
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
@@ -539,13 +539,9 @@ SQLstatementIntern(Client c, const char 
if (!output)
sql->out = NULL;/* no output stream */
be->depth++;
-   msg = SQLrun(c,m);
+   msg = SQLrun(c, m);
be->depth--;
-   if (c->curprg->def->stop > 1) {
-   assert(0);
-   MSresetInstructions(c->curprg->def, oldstop);
-   freeVariables(c, c->curprg->def, NULL, oldvtop);
-   }
+   assert (c->curprg->def->stop <= 1);
sqlcleanup(sql, 0);
if (!execute)
goto endofcompile;
@@ -603,38 +599,6 @@ endofcompile:
return msg;
 }
 
-str
-SQLengineIntern(Client c, backend *be)
-{
-   str msg = MAL_SUCCEED;
-   //char oldlang = be->language;
-   mvc *m = be->mvc;
-
-   assert (m->emode != m_deallocate && m->emode != m_prepare);
-   assert (c->curprg->def->stop > 2);
-
-   //be->language = 'D';
-   if (MALcommentsOnly(c->curprg->def))
-   msg = MAL_SUCCEED;
-   else
-   msg = SQLrun(c,m);
-
-   if (m->type == Q_SCHEMA && m->qc != NULL)
-   qc_clean(m->qc);
-   be->q = NULL;
-   if (msg)
-   m->session->status = -10;
-   sqlcleanup(be, (!msg) ? 0 : -1);
-   MSresetInstructions(c->curprg->def, 1);
-   freeVariables(c, c->curprg->def, NULL, be->vtop);
-   //be->language = oldlang;
-   /*
-* Any error encountered during execution should block further 
processing
-* unless auto_commit has been set.
-*/
-   return msg;
-}
-
 void
 SQLdestroyResult(res_table *destroy)
 {
@@ -692,12 +656,10 @@ RAstatement(Client c, MalBlkPtr mb, MalS
if (backend_dumpstmt(be, c->curprg->def, rel, 0, 1, NULL) < 0) {
msg = createException(SQL,"RAstatement","Program 
contains errors"); // TODO: use macro definition.
} else {
-   //SQLaddQueryToCache(c);
msg = SQLoptimizeFunction(c, c->curprg->def);
if (msg == MAL_SUCCEED)
msg = SQLrun(c,m);
resetMalBlk(c->curprg->def);
-   //SQLremoveQueryFromCache(c);
}
rel_destroy(rel);
}
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
@@ -15,7 +15,6 @@
 #include "sql.h"
 
 sql5_export str SQLstatementIntern(Client c, const char *expr, const char 
*nme, bit execute, bit output, res_table **result);
-sql5_export str SQLengineIntern(Client c, backend *be);
 sql5_export str RAstatement(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str RAstatement2(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str RAstatementEnd(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -1670,7 +1670,31 @@ SQLengine_(Client c)
sqlcleanup(be, 0);
return NULL;
}
-   return SQLengineIntern(c, be);
+
+   mvc *m = be->mvc;
+
+   assert (m->emode != m_deallocate && m->emode != m_prepare);
+   assert (c->curprg->def->stop > 2);
+
+   if (MALcommentsOnly(c->curprg->def)) {
+   assert(0);
+   msg = MAL_SUCCEED;
+   } else
+   msg = SQLrun(c,m);
+
+   if (m->type == Q_SCHEMA && m->qc != NULL)
+   qc_clean(m->qc);
+   be->q = NULL;
+   if (msg)
+   m->session->status = -10;
+   sqlcleanup(be, (!msg) ? 0 : -1);
+   MSresetInstructions(c->curprg->def, 1);
+   freeVariables(c, c->curprg->def, 

monetdb-java: default - Updated release numbers in preparation f...

2025-01-17 Thread Sjoerd Mullender via checkin-list
Changeset: 1a4014a0c0c8 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/1a4014a0c0c8
Modified Files:
build.properties
pom.xml
release.txt
Branch: default
Log Message:

Updated release numbers in preparation for a release.


diffs (41 lines):

diff --git a/build.properties b/build.properties
--- a/build.properties
+++ b/build.properties
@@ -7,9 +7,9 @@
 ##
 
 # major release number
-JDBC_MAJOR=3
+JDBC_MAJOR=12
 # minor release number
-JDBC_MINOR=3
+JDBC_MINOR=0
 
 
 ##
diff --git a/pom.xml b/pom.xml
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
 
   monetdb
   monetdb-jdbc
-  3.3
+  12.0
   ${project.groupId}:${project.artifactId}
   MonetDB JDBC driver
   https://www.monetdb.org
diff --git a/release.txt b/release.txt
--- a/release.txt
+++ b/release.txt
@@ -1,8 +1,8 @@
 RELEASE INFO
 
 
-MonetDB JDBC driver version 3.3
-Release date: 2023-02-23
+MonetDB JDBC driver version 12.0
+Release date: 2025-01-17
 
 The Java Database Connectivity (JDBC) API provides universal data access from
 the Java programming language.
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


monetdb-java: default - Settings tag v12.0.

2025-01-17 Thread Sjoerd Mullender via checkin-list
Changeset: b796d4a3c542 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/b796d4a3c542
Modified Files:
.hgtags
Branch: default
Log Message:

Settings tag v12.0.


diffs (8 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -8,3 +8,4 @@ bc39810b3faa4c52ce63b29147075e91266a3e84
 a80b5db244b8ceeea936770b9c5f314d46251fb3 v3.1
 fd66573f88946b488e4f1f26db624d8f370aa5a8 v3.2
 843f7d03540ab1170ce80d9e89993235b45d3ff9 v3.3
+1a4014a0c0c8751c5a5ea9e1205f1aea22c9188b v12.0
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: default - small cleanup

2025-01-17 Thread Niels Nes via checkin-list
Changeset: 5ad40a2e20e1 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/5ad40a2e20e1
Modified Files:
sql/backends/monet5/mal_backend.h
sql/backends/monet5/sql_scenario.c
Branch: default
Log Message:

small cleanup


diffs (61 lines):

diff --git a/sql/backends/monet5/mal_backend.h 
b/sql/backends/monet5/mal_backend.h
--- a/sql/backends/monet5/mal_backend.h
+++ b/sql/backends/monet5/mal_backend.h
@@ -51,7 +51,6 @@ typedef struct backend {
 
int mvc_var;/* current variable holding the latest query 
context (used to create dependencies in mal statements) */
int rowcount;   /* when multiple insert/update/delete/truncate 
statements are present, use an accumulator to hold the total number of rows 
affected */
-   int vtop;   /* top of the variable stack 
before the current function */
int join_idx;   /* number of index joins (used in rel_bin) */
lng reloptimizer;   /* timer for optimizer phase */
 
diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -366,7 +366,7 @@ SQLexecPostLoginTriggers(Client c)
stream *out = be->out;
be->out = NULL; /* no output stream */
if (!msg)
-   msg = SQLrun(c,m);
+   msg = SQLrun(c, m);
 
// restore previous state
be->out = out;
@@ -1436,7 +1436,6 @@ SQLparser_body(Client c, backend *be)
 
int oldvtop = c->curprg->def->vtop;
int oldstop = c->curprg->def->stop;
-   be->vtop = oldvtop;
(void)runtimeProfileSetTag(c); /* generate and set the tag in 
the mal block of the clients current program. */
if (m->emode != m_prepare || (m->emode == m_prepare && (m->emod 
& mod_exec) && is_ddl(r->op)) /* direct execution prepare */) {
mvc_query_processed(m);
@@ -1651,6 +1650,7 @@ SQLengine_(Client c)
if (msg || c->mode <= FINISHCLIENT)
return msg;
 
+   int oldvtop = c->curprg?c->curprg->def->vtop:0;
if (be->language == 'X') {
return SQLchannelcmd(c, be);
} else if (be->language !='S') {
@@ -1676,11 +1676,7 @@ SQLengine_(Client c)
assert (m->emode != m_deallocate && m->emode != m_prepare);
assert (c->curprg->def->stop > 2);
 
-   if (MALcommentsOnly(c->curprg->def)) {
-   assert(0);
-   msg = MAL_SUCCEED;
-   } else
-   msg = SQLrun(c,m);
+   msg = SQLrun(c, m);
 
if (m->type == Q_SCHEMA && m->qc != NULL)
qc_clean(m->qc);
@@ -1689,7 +1685,7 @@ SQLengine_(Client c)
m->session->status = -10;
sqlcleanup(be, (!msg) ? 0 : -1);
MSresetInstructions(c->curprg->def, 1);
-   freeVariables(c, c->curprg->def, NULL, be->vtop);
+   freeVariables(c, c->curprg->def, NULL, oldvtop);
/*
 * Any error encountered during execution should block further 
processing
 * unless auto_commit has been set.
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: nested - merged with default

2025-01-17 Thread Niels Nes via checkin-list
Changeset: 6fecee3dc20b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/6fecee3dc20b
Branch: nested
Log Message:

merged with default


diffs (61 lines):

diff --git a/sql/backends/monet5/mal_backend.h 
b/sql/backends/monet5/mal_backend.h
--- a/sql/backends/monet5/mal_backend.h
+++ b/sql/backends/monet5/mal_backend.h
@@ -51,7 +51,6 @@ typedef struct backend {
 
int mvc_var;/* current variable holding the latest query 
context (used to create dependencies in mal statements) */
int rowcount;   /* when multiple insert/update/delete/truncate 
statements are present, use an accumulator to hold the total number of rows 
affected */
-   int vtop;   /* top of the variable stack 
before the current function */
int join_idx;   /* number of index joins (used in rel_bin) */
lng reloptimizer;   /* timer for optimizer phase */
 
diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -366,7 +366,7 @@ SQLexecPostLoginTriggers(Client c)
stream *out = be->out;
be->out = NULL; /* no output stream */
if (!msg)
-   msg = SQLrun(c,m);
+   msg = SQLrun(c, m);
 
// restore previous state
be->out = out;
@@ -1436,7 +1436,6 @@ SQLparser_body(Client c, backend *be)
 
int oldvtop = c->curprg->def->vtop;
int oldstop = c->curprg->def->stop;
-   be->vtop = oldvtop;
(void)runtimeProfileSetTag(c); /* generate and set the tag in 
the mal block of the clients current program. */
if (m->emode != m_prepare || (m->emode == m_prepare && (m->emod 
& mod_exec) && is_ddl(r->op)) /* direct execution prepare */) {
mvc_query_processed(m);
@@ -1651,6 +1650,7 @@ SQLengine_(Client c)
if (msg || c->mode <= FINISHCLIENT)
return msg;
 
+   int oldvtop = c->curprg?c->curprg->def->vtop:0;
if (be->language == 'X') {
return SQLchannelcmd(c, be);
} else if (be->language !='S') {
@@ -1676,11 +1676,7 @@ SQLengine_(Client c)
assert (m->emode != m_deallocate && m->emode != m_prepare);
assert (c->curprg->def->stop > 2);
 
-   if (MALcommentsOnly(c->curprg->def)) {
-   assert(0);
-   msg = MAL_SUCCEED;
-   } else
-   msg = SQLrun(c,m);
+   msg = SQLrun(c, m);
 
if (m->type == Q_SCHEMA && m->qc != NULL)
qc_clean(m->qc);
@@ -1689,7 +1685,7 @@ SQLengine_(Client c)
m->session->status = -10;
sqlcleanup(be, (!msg) ? 0 : -1);
MSresetInstructions(c->curprg->def, 1);
-   freeVariables(c, c->curprg->def, NULL, be->vtop);
+   freeVariables(c, c->curprg->def, NULL, oldvtop);
/*
 * Any error encountered during execution should block further 
processing
 * unless auto_commit has been set.
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: nested - small fix for call from_json only for conversi...

2025-01-17 Thread Niels Nes via checkin-list
Changeset: dda194efb527 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/dda194efb527
Modified Files:
sql/backends/monet5/sql_statement.c
Branch: nested
Log Message:

small fix for call from_json only for conversion to a composite type


diffs (12 lines):

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
@@ -4040,7 +4040,7 @@ stmt_convert(backend *be, stmt *v, stmt 
if (v->nr < 0)
goto bailout;
 
-   if (f->type->eclass == EC_EXTERNAL && strcmp(f->type->base.name, 
"json") == 0)
+   if (f->type->eclass == EC_EXTERNAL && t->type->composite && 
strcmp(f->type->base.name, "json") == 0)
return stmt_from_json(be, v, sel, t);
if (f->type->eclass != EC_EXTERNAL && t->type->eclass != EC_EXTERNAL &&
/* general cases */
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: nested - skip composite type virtual columns

2025-01-17 Thread Niels Nes via checkin-list
Changeset: 24003b43ccf2 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/24003b43ccf2
Modified Files:
sql/backends/monet5/rel_bin.c
Branch: nested
Log Message:

skip composite type virtual columns


diffs (31 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
@@ -2478,6 +2478,8 @@ rel2bin_basetable(backend *be, sql_rel *
} else {
sql_column *c = find_sql_column(t, oname);
 
+   if (c->type.multiset || c->type.type->composite)
+   continue;
fcol = c;
col = stmt_col(be, c, multiset?dels:NULL, 
dels->partition);
}
@@ -2512,6 +2514,8 @@ rel2bin_basetable(backend *be, sql_rel *
dels = odels;
c = find_sql_column(t, oname);
}
+   if (!c->type.multiset && c->type.type->composite)
+   continue;
 
s = (c == fcol) ? col : stmt_col(be, c, 
multiset?dels:NULL, dels->partition);
if (c->type.multiset) {
@@ -4872,6 +4876,9 @@ rel2bin_project(backend *be, sql_rel *re
return NULL;
for (en = rel->exps->h; en; en = en->next) {
sql_exp *exp = en->data;
+   sql_subtype *st = exp_subtype(exp);
+   if (st && st->type->composite)
+   continue;
int oldvtop = be->mb->vtop, oldstop = be->mb->stop;
stmt *s = exp_bin(be, exp, sub, NULL /*psub*/, NULL, NULL, 
NULL, NULL, 0, 0, 0);
 
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: nested - fix export for JSONparse/free for windows.

2025-01-17 Thread Niels Nes via checkin-list
Changeset: fc83e8beb977 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/fc83e8beb977
Modified Files:
monetdb5/modules/atoms/json.h
Branch: nested
Log Message:

fix export for JSONparse/free for windows.


diffs (13 lines):

diff --git a/monetdb5/modules/atoms/json.h b/monetdb5/modules/atoms/json.h
--- a/monetdb5/modules/atoms/json.h
+++ b/monetdb5/modules/atoms/json.h
@@ -46,7 +46,7 @@ typedef struct JSON {
int free;
 } JSON;
 
-extern JSON *JSONparse(const char *j);
-extern void JSONfree(JSON *jt);
+mal_export JSON *JSONparse(const char *j);
+mal_export void JSONfree(JSON *jt);
 
 #endif /* __JSON_H__ */
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: nested - merged

2025-01-17 Thread Niels Nes via checkin-list
Changeset: e2189eb716bc for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e2189eb716bc
Branch: nested
Log Message:

merged


diffs (140 lines):

diff --git a/sql/test/nested/Tests/All b/sql/test/nested/Tests/All
new file mode 100644
--- /dev/null
+++ b/sql/test/nested/Tests/All
@@ -0,0 +1,1 @@
+simple
diff --git a/sql/test/nested/Tests/SingleServer 
b/sql/test/nested/Tests/SingleServer
new file mode 100644
diff --git a/sql/test/nested/Tests/simple.test 
b/sql/test/nested/Tests/simple.test
new file mode 100644
--- /dev/null
+++ b/sql/test/nested/Tests/simple.test
@@ -0,0 +1,127 @@
+statement ok
+create type pair AS (key varchar, value varchar)
+
+statement ok
+create table foo(p pair)
+
+statement ok
+insert into foo values (('left', 'right')), (('left', 'right'))
+
+query TT
+select p.key, p.value from foo
+
+left
+right
+left
+right
+
+query I
+select count(*) from foo
+
+2
+
+statement ok
+create table bar(p pair[])
+
+statement ok
+insert into bar values (array[('left', 'right'), ('left', 'right')])
+
+query TT
+select p.key, p.value from bar, unnest(p)
+
+left
+right
+left
+right
+
+query I
+select count(*) from bar, unnest(p)
+
+2
+
+statement ok
+create table tpv( i integer, p pair)
+
+statement ok
+insert into tpv values (1, ('left','right')), (2, ('left','right')), (3, 
('l1', 'r1'))
+
+query ITT
+select i, p.key, p.value from tpv
+
+1
+left
+right
+2
+left
+right
+3
+l1
+r1
+
+statement ok
+create table tpsv( i integer, p pair[2])
+
+statement ok
+insert into tpsv values (1, array [ ('left','right'), ('l2','r2') ]), (2, 
array [ ('left','right'), ('l2','r2') ]), (3, array [ ('l3', 'r3') ])
+
+
+query ITT
+select i, p.key, p.value from tpsv cross join unnest(p)
+
+
+query ITT
+select i, up.key, up.value from tpsv cross join unnest(p) up where i = 1
+
+
+query ITT
+select i, up.key, up.value from tpsv cross join unnest(p) up where up.key = 
'left'
+
+
+query II
+select i, count(*) from tpsv cross join unnest(p) up group by i
+
+
+
+statement ok
+insert into tpsv select i, p from tpsv
+
+
+query ITTII
+select cast(json '[ { "pleft": "left", "pright": "right" }]' as pair[])
+
+
+
+query ITTII
+select cast(json '[ { "pleft": "left", "pright": "right" }, { "pleft": "l1", 
"pright": "r1" }]' as pair[])
+
+
+
+statement ok
+insert into tpsv select 1, cast(json '[ { "pleft": "left", "pright": "right" 
}, { "pleft": "l1", "pright": "r1" }]' as pair[])
+
+
+statement ok
+create type npair as (ppair pair[], i integer)
+
+
+statement ok
+create table np (id integer, np npair[])
+
+
+statement ok
+insert into np values (1, array [ (array [ ('left','right'), ('l2','r2') ], 
11), (array [], 12) ]), (2, array [ ( array [ ('l3', 'r3') ], 22) ])
+
+
+statement ok
+create type ipair AS (pleft varchar, pright integer)
+
+
+query TTIII
+select  cast(json '[ { "pleft": "left", "pright": "1" }]' as ipair[])
+
+
+
+query ITIII
+select  cast(json '[ { "pleft": "left", "pright": "1" }, { "pleft": "l1", 
"pright": "2" }]' as ipair[])
+
+
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: nested - merged

2025-01-17 Thread Niels Nes via checkin-list
Changeset: 6fbd26d2d8cd for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/6fbd26d2d8cd
Branch: nested
Log Message:

merged


diffs (88 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -1767,7 +1767,6 @@ stream *socket_wstream(SOCKET socket, co
 stream *stderr_wastream(void);
 stream *stdin_rastream(void);
 stream *stdout_wastream(void);
-stream *stream_blackhole_create(void);
 stream *stream_fwf_create(stream *restrict s, size_t num_fields, size_t 
*restrict widths, char filler);
 stream *xz_stream(stream *inner, int preset);
 
diff --git a/common/stream/CMakeLists.txt b/common/stream/CMakeLists.txt
--- a/common/stream/CMakeLists.txt
+++ b/common/stream/CMakeLists.txt
@@ -39,7 +39,6 @@ target_sources(stream
   mapi_stream.c
   memio.c
   callback.c
-  blackhole.c
   fwf.c
   text_stream.c
   $<$:openssl_stream.c>
diff --git a/common/stream/blackhole.c b/common/stream/blackhole.c
deleted file mode 100644
--- a/common/stream/blackhole.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * SPDX-License-Identifier: MPL-2.0
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0.  If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * Copyright 2024, 2025 MonetDB Foundation;
- * Copyright August 2008 - 2023 MonetDB B.V.;
- * Copyright 1997 - July 2008 CWI.
- */
-
-#include "monetdb_config.h"
-#include "stream.h"
-#include "stream_internal.h"
-
-
-
-static ssize_t
-stream_blackhole_write(stream *restrict s, const void *restrict buf, size_t 
elmsize, size_t cnt)
-{
-   (void) s;
-   (void) buf;
-   (void) elmsize;
-   return (ssize_t) cnt;
-}
-
-static void
-stream_blackhole_close(stream *s)
-{
-   (void) s;
-   /* no resources to close */
-}
-
-stream *
-stream_blackhole_create(void)
-{
-   stream *s;
-   if ((s = create_stream("blackhole")) == NULL) {
-   return NULL;
-   }
-
-   s->read = NULL;
-   s->write = stream_blackhole_write;
-   s->close = stream_blackhole_close;
-   s->flush = NULL;
-   s->readonly = false;
-   return s;
-}
diff --git a/common/stream/stream.h b/common/stream/stream.h
--- a/common/stream/stream.h
+++ b/common/stream/stream.h
@@ -269,8 +269,6 @@ stream_export stream *callback_stream(
void (*destroy)(void *priv),
const char *restrict name); // used in mclient.c, for readline
 
-stream_export stream *stream_blackhole_create(void); // never used
-
 stream_export stream *stream_fwf_create(stream *restrict s, size_t num_fields, 
size_t *restrict widths, char filler); // sql.c
 
 stream_export stream *create_text_stream(stream *s);
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: nested - merged with default

2025-01-17 Thread Niels Nes via checkin-list
Changeset: 3b46a07d7628 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/3b46a07d7628
Modified Files:
clients/Tests/exports.stable.out
Branch: nested
Log Message:

merged with default


diffs (88 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -1767,7 +1767,6 @@ stream *socket_wstream(SOCKET socket, co
 stream *stderr_wastream(void);
 stream *stdin_rastream(void);
 stream *stdout_wastream(void);
-stream *stream_blackhole_create(void);
 stream *stream_fwf_create(stream *restrict s, size_t num_fields, size_t 
*restrict widths, char filler);
 stream *xz_stream(stream *inner, int preset);
 
diff --git a/common/stream/CMakeLists.txt b/common/stream/CMakeLists.txt
--- a/common/stream/CMakeLists.txt
+++ b/common/stream/CMakeLists.txt
@@ -39,7 +39,6 @@ target_sources(stream
   mapi_stream.c
   memio.c
   callback.c
-  blackhole.c
   fwf.c
   text_stream.c
   $<$:openssl_stream.c>
diff --git a/common/stream/blackhole.c b/common/stream/blackhole.c
deleted file mode 100644
--- a/common/stream/blackhole.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * SPDX-License-Identifier: MPL-2.0
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0.  If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * Copyright 2024, 2025 MonetDB Foundation;
- * Copyright August 2008 - 2023 MonetDB B.V.;
- * Copyright 1997 - July 2008 CWI.
- */
-
-#include "monetdb_config.h"
-#include "stream.h"
-#include "stream_internal.h"
-
-
-
-static ssize_t
-stream_blackhole_write(stream *restrict s, const void *restrict buf, size_t 
elmsize, size_t cnt)
-{
-   (void) s;
-   (void) buf;
-   (void) elmsize;
-   return (ssize_t) cnt;
-}
-
-static void
-stream_blackhole_close(stream *s)
-{
-   (void) s;
-   /* no resources to close */
-}
-
-stream *
-stream_blackhole_create(void)
-{
-   stream *s;
-   if ((s = create_stream("blackhole")) == NULL) {
-   return NULL;
-   }
-
-   s->read = NULL;
-   s->write = stream_blackhole_write;
-   s->close = stream_blackhole_close;
-   s->flush = NULL;
-   s->readonly = false;
-   return s;
-}
diff --git a/common/stream/stream.h b/common/stream/stream.h
--- a/common/stream/stream.h
+++ b/common/stream/stream.h
@@ -269,8 +269,6 @@ stream_export stream *callback_stream(
void (*destroy)(void *priv),
const char *restrict name); // used in mclient.c, for readline
 
-stream_export stream *stream_blackhole_create(void); // never used
-
 stream_export stream *stream_fwf_create(stream *restrict s, size_t num_fields, 
size_t *restrict widths, char filler); // sql.c
 
 stream_export stream *create_text_stream(stream *s);
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org