Changeset: c0bab5f1f1fe for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/c0bab5f1f1fe Branch: default Log Message:
Merge with Dec2023 branch. diffs (truncated from 648 to 300 lines): diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -3052,10 +3052,8 @@ check_rotation_conditions(logger *lg) const lng p = (lng) getfilepos(getFile(lg->current->output_log)); const lng log_large = (ATOMIC_GET(&GDKdebug) & FORCEMITOMASK) ? LOG_MINI : LOG_LARGE; - bool res = (lg->saved_id + 1 >= lg->id && ATOMIC_GET(&lg->current->drops) > 100000) || (p > log_large); - if (res) - return (ATOMIC_GET(&lg->nr_open_files) < 8); - return res; + bool res = (p > log_large) || (lg->saved_id + 1 >= lg->id && ATOMIC_GET(&lg->current->drops) > 100000); + return res && (ATOMIC_GET(&lg->nr_open_files) < 8); } gdk_return @@ -3389,8 +3387,12 @@ log_printinfo(logger *lg) printf("number of catalog entries "BUNFMT", of which "BUNFMT" deleted\n", lg->catalog_bid->batCount, lg->dcatalog->batCount); int npend = 0; - for (logged_range *p = lg->pending; p; p = p->next) + for (logged_range *p = lg->pending; p; p = p->next) { + char buf[32]; + if (p->output_log == NULL || + snprintf(buf, sizeof(buf), ", file size %"PRIu64, (uint64_t) getfilepos(getFile(lg->current->output_log))) >= (int) sizeof(buf)) + buf[0] = 0; + printf("pending range "ULLFMT": drops %"PRIu64", last_ts %"PRIu64", flushed_ts %"PRIu64", refcount %"PRIu64"%s%s\n", p->id, (uint64_t) ATOMIC_GET(&p->drops), (uint64_t) ATOMIC_GET(&p->last_ts), (uint64_t) ATOMIC_GET(&p->flushed_ts), (uint64_t) ATOMIC_GET(&p->refcount), buf, p == lg->current ? " (current)" : ""); npend++; - if (npend > 1) - printf("number of pending ranges %d\n", npend); + } } diff --git a/sql/ChangeLog.Dec2023 b/sql/ChangeLog.Dec2023 --- a/sql/ChangeLog.Dec2023 +++ b/sql/ChangeLog.Dec2023 @@ -12,6 +12,7 @@ information_schema.table_constraints information_schema.referential_constraints information_schema.routines + information_schema.parameters information_schema.sequences Most views have been extended (after the standard columns) with MonetDB diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -7392,6 +7392,7 @@ void store_printinfo(sqlstore *store) { MT_lock_set(&store->commit); + printf("SQL store oldest pending "ULLFMT"\n", store->oldest_pending); log_printinfo(store->logger); MT_lock_unset(&store->commit); } diff --git a/sql/test/information-schema/Tests/All b/sql/test/information-schema/Tests/All --- a/sql/test/information-schema/Tests/All +++ b/sql/test/information-schema/Tests/All @@ -3,4 +3,9 @@ schemata tables views columns - +check_constraints +table_constraints +referential_constraints +routines +parameters +sequences diff --git a/sql/test/information-schema/Tests/character_sets.test b/sql/test/information-schema/Tests/character_sets.test --- a/sql/test/information-schema/Tests/character_sets.test +++ b/sql/test/information-schema/Tests/character_sets.test @@ -20,7 +20,8 @@ NULL NULL query ITTT rowsort -SELECT COUNT(*) AS duplicates, CHARACTER_SET_CATALOG, CHARACTER_SET_SCHEMA, CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.CHARACTER_SETS +SELECT COUNT(*) AS duplicates, CHARACTER_SET_CATALOG, CHARACTER_SET_SCHEMA, CHARACTER_SET_NAME + FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY CHARACTER_SET_CATALOG, CHARACTER_SET_SCHEMA, CHARACTER_SET_NAME HAVING COUNT(*) > 1 ---- diff --git a/sql/test/information-schema/Tests/check_constraints.test b/sql/test/information-schema/Tests/check_constraints.test new file mode 100644 --- /dev/null +++ b/sql/test/information-schema/Tests/check_constraints.test @@ -0,0 +1,17 @@ +query TTTT rowsort +SELECT + CONSTRAINT_CATALOG, + CONSTRAINT_SCHEMA, + CONSTRAINT_NAME, + CHECK_CLAUSE +FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS +WHERE CONSTRAINT_SCHEMA = '' OR CONSTRAINT_NAME = '' +---- + +query ITTT rowsort +SELECT COUNT(*) AS duplicates, CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME + FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS + GROUP BY CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME + HAVING COUNT(*) > 1 +---- + diff --git a/sql/test/information-schema/Tests/columns.test b/sql/test/information-schema/Tests/columns.test --- a/sql/test/information-schema/Tests/columns.test +++ b/sql/test/information-schema/Tests/columns.test @@ -104,7 +104,7 @@ NULL NULL NULL -query TTTTITTTIIIIIITITTTTTTTTTTTTTTTITTTTIIIITTTTTTTTIIIIIIT rowsort +query TTTTITTTIIIIIITITTTTTTTTTTTTTTTITTTTIIIITTTTTTTTIIIIIIIT rowsort SELECT TABLE_CATALOG, TABLE_SCHEMA, @@ -159,6 +159,7 @@ SELECT schema_id, table_id, column_id, + sequence_id, is_system, comments FROM INFORMATION_SCHEMA.COLUMNS @@ -166,7 +167,8 @@ WHERE TABLE_SCHEMA = '' OR TABLE_NAME = ---- query ITTTT rowsort -SELECT COUNT(*) AS duplicates, TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS +SELECT COUNT(*) AS duplicates, TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME + FROM INFORMATION_SCHEMA.COLUMNS GROUP BY TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME HAVING COUNT(*) > 1 ---- diff --git a/sql/test/information-schema/Tests/parameters.test b/sql/test/information-schema/Tests/parameters.test new file mode 100644 --- /dev/null +++ b/sql/test/information-schema/Tests/parameters.test @@ -0,0 +1,107 @@ +query TTTITTTTTTTTTTTIITTTTTTIIIITITTTTTTITTIIT rowsort +SELECT + SPECIFIC_CATALOG, + SPECIFIC_SCHEMA, + SPECIFIC_NAME, + ORDINAL_POSITION, + PARAMETER_MODE, + IS_RESULT, + AS_LOCATOR, + PARAMETER_NAME, + FROM_SQL_SPECIFIC_CATALOG, + FROM_SQL_SPECIFIC_SCHEMA, + FROM_SQL_SPECIFIC_NAME, + TO_SQL_SPECIFIC_CATALOG, + TO_SQL_SPECIFIC_SCHEMA, + TO_SQL_SPECIFIC_NAME, + DATA_TYPE, + CHARACTER_MAXIMUM_LENGTH, + CHARACTER_OCTET_LENGTH, + CHARACTER_SET_CATALOG, + CHARACTER_SET_SCHEMA, + CHARACTER_SET_NAME, + COLLATION_CATALOG, + COLLATION_SCHEMA, + COLLATION_NAME, + NUMERIC_PRECISION, + NUMERIC_PRECISION_RADIX, + NUMERIC_SCALE, + DATETIME_PRECISION, + INTERVAL_TYPE, + INTERVAL_PRECISION, + UDT_CATALOG, + UDT_SCHEMA, + UDT_NAME, + SCOPE_CATALOG, + SCOPE_SCHEMA, + SCOPE_NAME, + MAXIMUM_CARDINALITY, + DTD_IDENTIFIER, + DECLARED_DATA_TYPE, + DECLARED_NUMERIC_PRECISION, + DECLARED_NUMERIC_SCALE, + PARAMETER_DEFAULT +FROM INFORMATION_SCHEMA.PARAMETERS +WHERE SPECIFIC_SCHEMA = '' OR SPECIFIC_NAME = '' +---- + +query TTTITTTTTTTTTTTIITTTTTTIIIITITTTTTTITTIITIIITII rowsort +SELECT + SPECIFIC_CATALOG, + SPECIFIC_SCHEMA, + SPECIFIC_NAME, + ORDINAL_POSITION, + PARAMETER_MODE, + IS_RESULT, + AS_LOCATOR, + PARAMETER_NAME, + FROM_SQL_SPECIFIC_CATALOG, + FROM_SQL_SPECIFIC_SCHEMA, + FROM_SQL_SPECIFIC_NAME, + TO_SQL_SPECIFIC_CATALOG, + TO_SQL_SPECIFIC_SCHEMA, + TO_SQL_SPECIFIC_NAME, + DATA_TYPE, + CHARACTER_MAXIMUM_LENGTH, + CHARACTER_OCTET_LENGTH, + CHARACTER_SET_CATALOG, + CHARACTER_SET_SCHEMA, + CHARACTER_SET_NAME, + COLLATION_CATALOG, + COLLATION_SCHEMA, + COLLATION_NAME, + NUMERIC_PRECISION, + NUMERIC_PRECISION_RADIX, + NUMERIC_SCALE, + DATETIME_PRECISION, + INTERVAL_TYPE, + INTERVAL_PRECISION, + UDT_CATALOG, + UDT_SCHEMA, + UDT_NAME, + SCOPE_CATALOG, + SCOPE_SCHEMA, + SCOPE_NAME, + MAXIMUM_CARDINALITY, + DTD_IDENTIFIER, + DECLARED_DATA_TYPE, + DECLARED_NUMERIC_PRECISION, + DECLARED_NUMERIC_SCALE, + PARAMETER_DEFAULT, + schema_id, + function_id, + arg_id, + function_name, + function_type, + is_system +FROM INFORMATION_SCHEMA.PARAMETERS +WHERE SPECIFIC_SCHEMA = '' OR SPECIFIC_NAME = '' +---- + +query ITTTTI rowsort +SELECT COUNT(*) AS duplicates, SPECIFIC_CATALOG, SPECIFIC_SCHEMA, SPECIFIC_NAME, PARAMETER_MODE, ORDINAL_POSITION + FROM INFORMATION_SCHEMA.PARAMETERS + GROUP BY SPECIFIC_CATALOG, SPECIFIC_SCHEMA, SPECIFIC_NAME, PARAMETER_MODE, ORDINAL_POSITION + HAVING COUNT(*) > 1 +---- + diff --git a/sql/test/information-schema/Tests/referential_constraints.test b/sql/test/information-schema/Tests/referential_constraints.test new file mode 100644 --- /dev/null +++ b/sql/test/information-schema/Tests/referential_constraints.test @@ -0,0 +1,45 @@ +query TTTTTTTTT rowsort +SELECT + CONSTRAINT_CATALOG, + CONSTRAINT_SCHEMA, + CONSTRAINT_NAME, + UNIQUE_CONSTRAINT_CATALOG, + UNIQUE_CONSTRAINT_SCHEMA, + UNIQUE_CONSTRAINT_NAME, + MATCH_OPTION, + UPDATE_RULE, + DELETE_RULE +FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS +WHERE CONSTRAINT_SCHEMA = '' OR CONSTRAINT_NAME = '' +---- + +query TTTTTTTTTIITIIITI rowsort +SELECT + CONSTRAINT_CATALOG, + CONSTRAINT_SCHEMA, + CONSTRAINT_NAME, + UNIQUE_CONSTRAINT_CATALOG, + UNIQUE_CONSTRAINT_SCHEMA, + UNIQUE_CONSTRAINT_NAME, + MATCH_OPTION, + UPDATE_RULE, + DELETE_RULE, + fk_schema_id, + fk_table_id, + fk_table_name, + fk_key_id, + uc_schema_id, + uc_table_id, + uc_table_name, + uc_key_id +FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS +WHERE CONSTRAINT_SCHEMA = '' OR CONSTRAINT_NAME = '' +---- + +query ITTT rowsort +SELECT COUNT(*) AS duplicates, CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME + FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS + GROUP BY CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME + HAVING COUNT(*) > 1 +---- + diff --git a/sql/test/information-schema/Tests/routines.test b/sql/test/information-schema/Tests/routines.test new file mode 100644 --- /dev/null +++ b/sql/test/information-schema/Tests/routines.test @@ -0,0 +1,201 @@ _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org