MonetDB: ordered-set-aggregates - added upgrade code

2024-09-07 Thread Niels Nes via checkin-list
Changeset: 92dd034eb837 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/92dd034eb837
Modified Files:
sql/storage/bat/bat_logger.c
sql/storage/store.c
sql/test/sql_xml/Tests/funcs.test
Branch: ordered-set-aggregates
Log Message:

added upgrade code


diffs (116 lines):

diff --git a/sql/storage/bat/bat_logger.c b/sql/storage/bat/bat_logger.c
--- a/sql/storage/bat/bat_logger.c
+++ b/sql/storage/bat/bat_logger.c
@@ -20,6 +20,7 @@
 #define CATALOG_JUL2021 52300  /* first in Jul2021 */
 #define CATALOG_JAN2022 52301  /* first in Jan2022 */
 #define CATALOG_SEP2022 52302  /* first in Sep2022 */
+#define CATALOG_AUG2024 52303  /* first in aug2024 */
 
 /* Note, CATALOG version 52300 is the first one where the basic system
  * tables (the ones created in store.c) have fixed and unchangeable
@@ -56,6 +57,13 @@ bl_preversion(sqlstore *store, int oldve
}
 #endif
 
+#ifdef CATALOG_AUG2024
+   if (oldversion == CATALOG_AUG2024) {
+   /* upgrade to default releases */
+   store->catalog_version = oldversion;
+   return GDK_SUCCEED;
+   }
+#endif
return GDK_FAIL;
 }
 
@@ -758,6 +766,68 @@ bl_postversion(void *Store, logger *lg)
}
 #endif
 
+#ifdef CATALOG_AUG2024
+   if (store->catalog_version <= CATALOG_AUG2024) {
+   /* new TINYINT column sys.functions.order_specification 
*/
+   BAT *ftype = log_temp_descriptor(log_find_bat(lg, 
2022)); /* sys.functions.type (int) */
+   BAT *fname = log_temp_descriptor(log_find_bat(lg, 
2018)); /* sys.functions.name (str) */
+   if (ftype == NULL || fname == NULL)
+   return GDK_FAIL;
+   bte zero = 0;
+   BAT *order_spec = BATconstant(ftype->hseqbase, 
TYPE_bte, &zero, BATcount(ftype), PERSISTENT);
+   /* update functions set order_specification=1 where 
type == aggr and name in ('group_concat', 'listagg', 'xmlagg')
+* update functions set order_specification=2 where 
type == aggr and name = 'quantile' */
+   if (order_spec == NULL) {
+   bat_destroy(ftype);
+   bat_destroy(fname);
+   return GDK_FAIL;
+   }
+   bte *os = (bte*)Tloc(order_spec, 0);
+   int *ft = (int*)Tloc(ftype, 0);
+   BATiter fni = bat_iterator_nolock(fname);
+   for(BUN b = 0; b < BATcount(ftype); b++) {
+   if (ft[b] == F_AGGR) {
+   const char *f = BUNtvar(fni, b);
+   if (strcmp(f, "group_concat") == 0 || 
strcmp(f, "listagg") == 0 || strcmp(f, "xmlagg") == 0)
+   os[b] = 1;
+   else if (strcmp(f, "quantile") == 0 || 
strcmp(f, "quantile_avg") == 0)
+   os[b] = 2;
+   }
+   }
+   bat_destroy(ftype);
+   bat_destroy(fname);
+   if ((order_spec = BATsetaccess(order_spec, BAT_READ)) 
== NULL ||
+   /* 2165 is sys.keys.check */
+   BUNappend(lg->catalog_id, &(int) {2167}, true) 
!= GDK_SUCCEED ||
+   BUNappend(lg->catalog_bid, 
&order_spec->batCacheid, true) != GDK_SUCCEED ||
+   BUNappend(lg->catalog_lid, &lng_nil, false) != 
GDK_SUCCEED ||
+   BUNappend(lg->catalog_cnt, 
&(lng){BATcount(order_spec)}, false) != GDK_SUCCEED
+   ) {
+   bat_destroy(order_spec);
+   return GDK_FAIL;
+   }
+   BBPretain(order_spec->batCacheid);
+   bat_destroy(order_spec);
+
+   if (tabins(lg, tabins_first, -1, 0,
+  2076, &(msk) {false},/* 
sys._columns */
+  /* 2167 is 
sys.functions.order_specification */
+  2077, &(int) {2167}, /* 
sys._columns.id */
+  2078, "order_specification", 
/* sys._columns.name */
+  2079, "tinyint", 
/* sys._columns.type */
+  2080, &(int) {7},/* 
sys._columns.type_digits */
+  2081, &(int) {0},/* 
sys._columns.type_scale */
+  /* 2016 is sys.functions */
+  20

MonetDB: ordered-set-aggregates - approved output

2024-09-07 Thread Niels Nes via checkin-list
Changeset: 298b49eafa17 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/298b49eafa17
Modified Files:
sql/test/emptydb/Tests/check.stable.out
sql/test/emptydb/Tests/check.stable.out.int128
Branch: ordered-set-aggregates
Log Message:

approved output


diffs (24 lines):

diff --git a/sql/test/emptydb/Tests/check.stable.out 
b/sql/test/emptydb/Tests/check.stable.out
--- a/sql/test/emptydb/Tests/check.stable.out
+++ b/sql/test/emptydb/Tests/check.stable.out
@@ -1337,7 +1337,7 @@ select 'null in fkeys.delete_action', de
 [ "sys._columns",  "sys",  "functions","schema_id","int",  31, 
0,  NULL,   true,   9,  NULL,   NULL]
 [ "sys._columns",  "sys",  "functions","system",   "boolean",  
1,  0,  NULL,   true,   10, NULL,   NULL]
 [ "sys._columns",  "sys",  "functions","semantics","boolean",  
1,  0,  NULL,   true,   11, NULL,   NULL]
-[ "sys._columns",  "sys",  "functions","order_specification",  
"tinyint",  1,  0,  NULL,   true,   12, NULL,   NULL]
+[ "sys._columns",  "sys",  "functions","order_specification",  
"tinyint",  7,  0,  NULL,   true,   12, NULL,   NULL]
 [ "sys._columns",  "sys",  "geometry_columns", "f_table_catalog",  
"varchar",  1,  0,  NULL,   true,   0,  NULL,   NULL]
 [ "sys._columns",  "sys",  "geometry_columns", "f_table_schema",   
"varchar",  1024,   0,  NULL,   true,   1,  NULL,   NULL]
 [ "sys._columns",  "sys",  "geometry_columns", "f_table_name", 
"varchar",  1024,   0,  NULL,   true,   2,  NULL,   NULL]
diff --git a/sql/test/emptydb/Tests/check.stable.out.int128 
b/sql/test/emptydb/Tests/check.stable.out.int128
--- a/sql/test/emptydb/Tests/check.stable.out.int128
+++ b/sql/test/emptydb/Tests/check.stable.out.int128
@@ -1337,7 +1337,7 @@ select 'null in fkeys.delete_action', de
 [ "sys._columns",  "sys",  "functions","schema_id","int",  31, 
0,  NULL,   true,   9,  NULL,   NULL]
 [ "sys._columns",  "sys",  "functions","system",   "boolean",  
1,  0,  NULL,   true,   10, NULL,   NULL]
 [ "sys._columns",  "sys",  "functions","semantics","boolean",  
1,  0,  NULL,   true,   11, NULL,   NULL]
-[ "sys._columns",  "sys",  "functions","order_specification",  
"tinyint",  1,  0,  NULL,   true,   12, NULL,   NULL]
+[ "sys._columns",  "sys",  "functions","order_specification",  
"tinyint",  7,  0,  NULL,   true,   12, NULL,   NULL]
 [ "sys._columns",  "sys",  "geometry_columns", "f_table_catalog",  
"varchar",  1,  0,  NULL,   true,   0,  NULL,   NULL]
 [ "sys._columns",  "sys",  "geometry_columns", "f_table_schema",   
"varchar",  1024,   0,  NULL,   true,   1,  NULL,   NULL]
 [ "sys._columns",  "sys",  "geometry_columns", "f_table_name", 
"varchar",  1024,   0,  NULL,   true,   2,  NULL,   NULL]
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: ordered-set-aggregates - approved output

2024-09-07 Thread Niels Nes via checkin-list
Changeset: fb68b02a698b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/fb68b02a698b
Modified Files:
sql/test/emptydb/Tests/check.stable.out.32bit
Branch: ordered-set-aggregates
Log Message:

approved output


diffs (11 lines):

diff --git a/sql/test/emptydb/Tests/check.stable.out.32bit 
b/sql/test/emptydb/Tests/check.stable.out.32bit
--- a/sql/test/emptydb/Tests/check.stable.out.32bit
+++ b/sql/test/emptydb/Tests/check.stable.out.32bit
@@ -1337,6 +1337,7 @@ select 'null in fkeys.delete_action', de
 [ "sys._columns",  "sys",  "functions","schema_id","int",  31, 
0,  NULL,   true,   9,  NULL,   NULL]
 [ "sys._columns",  "sys",  "functions","system",   "boolean",  
1,  0,  NULL,   true,   10, NULL,   NULL]
 [ "sys._columns",  "sys",  "functions","semantics","boolean",  
1,  0,  NULL,   true,   11, NULL,   NULL]
+[ "sys._columns",  "sys",  "functions","order_specification",  
"tinyint",  7,  0,  NULL,   true,   12, NULL,   NULL]
 [ "sys._columns",  "sys",  "geometry_columns", "f_table_catalog",  
"varchar",  1,  0,  NULL,   true,   0,  NULL,   NULL]
 [ "sys._columns",  "sys",  "geometry_columns", "f_table_schema",   
"varchar",  1024,   0,  NULL,   true,   1,  NULL,   NULL]
 [ "sys._columns",  "sys",  "geometry_columns", "f_table_name", 
"varchar",  1024,   0,  NULL,   true,   2,  NULL,   NULL]
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: ordered-set-aggregates - approved output

2024-09-07 Thread Niels Nes via checkin-list
Changeset: 26d761dd0331 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/26d761dd0331
Modified Files:

sql/test/BugDay_2005-10-06_2.9.3/Tests/CrashMe_SQL_server_crash-2.SF-921673.test
Branch: ordered-set-aggregates
Log Message:

approved output


diffs (10 lines):

diff --git 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/CrashMe_SQL_server_crash-2.SF-921673.test
 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/CrashMe_SQL_server_crash-2.SF-921673.test
--- 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/CrashMe_SQL_server_crash-2.SF-921673.test
+++ 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/CrashMe_SQL_server_crash-2.SF-921673.test
@@ -27,5 +27,5 @@ WHERE columns.table_id = tables.id
 'objects', 'keys', 'modules', 'sequences')
 ORDER BY TABLE_SCHEM, TABLE_NAME, ORDINAL_POSITION
 
-1178 values hashing to c15a1143f6d74788897aec600a462b9d
+1178 values hashing to 6976ccdc7572fb904e6a9eebae5b5af3
 
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org