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

Reply via email to