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 -- [email protected]
To unsubscribe send an email to [email protected]