MonetDB: ordered-set-aggregates - added upgrade code
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
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
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
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