Changeset: cc8da7f27878 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/cc8da7f27878
Branch: Jul2021
Log Message:

merged


diffs (truncated from 3364 to 300 lines):

diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py
--- a/NT/mksqlwxs.py
+++ b/NT/mksqlwxs.py
@@ -175,7 +175,8 @@ def main():
     print(r'              <Directory Id="monetdb" Name="monetdb">')
     id = comp(extend, id, 16,
               sorted([r'include\monetdb\{}'.format(x) for x in filter(lambda 
x: (x.startswith('gdk') or x.startswith('monet') or x.startswith('mal') or 
x.startswith('sql')) and x.endswith('.h'), os.listdir(os.path.join(sys.argv[3], 
'include', 'monetdb')))] +
-                     [r'include\monetdb\mapi.h',
+                     [r'include\monetdb\copybinary.h',
+                      r'include\monetdb\mapi.h',
                       r'include\monetdb\matomic.h',
                       r'include\monetdb\mel.h',
                       r'include\monetdb\mstring.h',
diff --git a/sql/backends/monet5/sql_upgrades.c 
b/sql/backends/monet5/sql_upgrades.c
--- a/sql/backends/monet5/sql_upgrades.c
+++ b/sql/backends/monet5/sql_upgrades.c
@@ -3219,88 +3219,94 @@ sql_update_jul2021(Client c, mvc *sql, c
 
                        // Set the system flag for the new dump and describe 
SQL objects.
                        pos += snprintf(buf + pos, bufsize - pos,
-                                       "UPDATE sys.functions f SET system = 
true WHERE\n"
+                                       "UPDATE sys.functions SET system = true 
WHERE\n"
+                                       "    system <> true AND\n"
+                                       "    schema_id = 2000 AND\n"
+                                       "    type = %d AND\n"
+                                       "    name in (\n"
+                                       "        'describe_columns',\n"
+                                       "        'describe_function',\n"
+                                       "        'describe_table',\n"
+                                       "        'dump_database'\n"
+                                       "    );\n",
+                                       F_UNION);
+                       pos += snprintf(buf + pos, bufsize - pos,
+                                       "UPDATE sys.functions SET system = true 
WHERE\n"
+                                       "    system <> true AND\n"
                                        "    schema_id = 2000 AND\n"
-                                       "    (\n"
-                                       "        (\n"
-                                       "            type = (select 
function_type_id from sys.function_types where function_type_name = 'Function 
returning a table') AND\n"
-                                       "            name in (\n"
-                                       "                'dump_database',\n"
-                                       "                'describe_table',\n"
-                                       "                'describe_columns',\n"
-                                       "                'describe_function'\n"
-                                       "            )\n"
-                                       "        ) OR\n"
-                                       "        (\n"
-                                       "            type = (select 
function_type_id from sys.function_types where function_type_name = 'Scalar 
function') AND\n"
-                                       "            name in (\n"
-                                       "                'sq',\n"
-                                       "                'dq',\n"
-                                       "                'fqn',\n"
-                                       "                'alter_table',\n"
-                                       "                'replace_first',\n"
-                                       "                'schema_guard',\n"
-                                       "                
'get_merge_table_partition_expressions',\n"
-                                       "                
'get_remote_table_expressions',\n"
-                                       "                'esc',\n"
-                                       "                'prepare_esc',\n"
-                                       "                
'current_size_dump_statements',\n"
-                                       "                'describe_type'\n"
-                                       "            )\n"
-                                       "        ) OR\n"
-                                       "        (\n"
-                                       "            type = (select 
function_type_id from sys.function_types where function_type_keyword = 
'PROCEDURE') AND\n"
-                                       "            name in (\n"
-                                       "                'eval',\n"
-                                       "                '_dump_table_data',\n"
-                                       "                'dump_table_data'\n"
-                                       "            )\n"
-                                       "        )\n"
-                                       ");\n"
-                                       "UPDATE sys._tables SET system = true 
WHERE \n"
+                                       "    type = %d AND\n"
+                                       "    name in (\n"
+                                       "        'alter_table',\n"
+                                       "        'describe_type',\n"
+                                       "        'dq',\n"
+                                       "        'esc',\n"
+                                       "        'fqn',\n"
+                                       "        
'get_merge_table_partition_expressions',\n"
+                                       "        
'get_remote_table_expressions',\n"
+                                       "        'prepare_esc',\n"
+                                       "        'replace_first',\n"
+                                       "        'schema_guard',\n"
+                                       "        'sq'\n"
+                                       "    );\n",
+                                       F_FUNC);
+                       pos += snprintf(buf + pos, bufsize - pos,
+                                       "UPDATE sys.functions SET system = true 
WHERE\n"
+                                       "    system <> true AND\n"
                                        "    schema_id = 2000 AND\n"
-                                       "    (\n"
-                                       "        (\n"
-                                       "            type = (select 
table_type_id from sys.table_types where table_type_name = 'TABLE') AND\n"
-                                       "            name = 'dump_statements'\n"
-                                       "        ) OR\n"
-                                       "        (\n"
-                                       "            type = (select 
table_type_id from sys.table_types where table_type_name = 'VIEW') AND\n"
-                                       "            name in (\n"
-                                       "                
'describe_constraints',\n"
-                                       "                'describe_indices',\n"
-                                       "                
'describe_column_defaults',\n"
-                                       "                
'describe_foreign_keys',\n"
-                                       "                'describe_tables',\n"
-                                       "                'describe_triggers',\n"
-                                       "                'describe_comments',\n"
-                                       "                
'fully_qualified_functions',\n"
-                                       "                
'describe_privileges',\n"
-                                       "                
'describe_user_defined_types',\n"
-                                       "                
'describe_partition_tables',\n"
-                                       "                
'describe_sequences',\n"
-                                       "                
'describe_functions',\n"
-                                       "                'dump_create_roles',\n"
-                                       "                'dump_create_users',\n"
-                                       "                
'dump_create_schemas',\n"
-                                       "                
'dump_add_schemas_to_users',\n"
-                                       "                
'dump_grant_user_privileges',\n"
-                                       "                
'dump_table_constraint_type',\n"
-                                       "                'dump_indices',\n"
-                                       "                
'dump_column_defaults',\n"
-                                       "                'dump_foreign_keys',\n"
-                                       "                
'dump_partition_tables',\n"
-                                       "                'dump_sequences',\n"
-                                       "                
'dump_start_sequences',\n"
-                                       "                'dump_functions',\n"
-                                       "                'dump_tables',\n"
-                                       "                'dump_triggers',\n"
-                                       "                'dump_comments',\n"
-                                       "                
'dump_user_defined_types',\n"
-                                       "                'dump_privileges',\n"
-                                       "                'dump_statements')\n"
-                                       "        )\n"
-                                       "    );\n");
+                                       "    type = %d AND\n"
+                                       "    name in (\n"
+                                       "        '_dump_table_data',\n"
+                                       "        'dump_table_data',\n"
+                                       "        'eval'\n"
+                                       "    );\n",
+                                       F_PROC);
+                       pos += snprintf(buf + pos, bufsize - pos,
+                                       "UPDATE sys._tables SET system = true 
WHERE\n"
+                                       "    system <> true AND\n"
+                                       "    schema_id = 2000 AND\n"
+                                       "    type = %d AND\n"
+                                       "    name = 'dump_statements';\n",
+                                       (int) tt_table);
+                       pos += snprintf(buf + pos, bufsize - pos,
+                                       "UPDATE sys._tables SET system = true 
WHERE\n"
+                                       "    system <> true AND\n"
+                                       "    schema_id = 2000 AND\n"
+                                       "    type = %d AND\n"
+                                       "    name in (\n"
+                                       "        'describe_column_defaults',\n"
+                                       "        'describe_comments',\n"
+                                       "        'describe_constraints',\n"
+                                       "        'describe_foreign_keys',\n"
+                                       "        'describe_functions',\n"
+                                       "        'describe_indices',\n"
+                                       "        'describe_partition_tables',\n"
+                                       "        'describe_privileges',\n"
+                                       "        'describe_sequences',\n"
+                                       "        'describe_tables',\n"
+                                       "        'describe_triggers',\n"
+                                       "        
'describe_user_defined_types',\n"
+                                       "        'dump_add_schemas_to_users',\n"
+                                       "        'dump_column_defaults',\n"
+                                       "        'dump_comments',\n"
+                                       "        'dump_create_roles',\n"
+                                       "        'dump_create_schemas',\n"
+                                       "        'dump_create_users',\n"
+                                       "        'dump_foreign_keys',\n"
+                                       "        'dump_functions',\n"
+                                       "        
'dump_grant_user_privileges',\n"
+                                       "        'dump_indices',\n"
+                                       "        'dump_partition_tables',\n"
+                                       "        'dump_privileges',\n"
+                                       "        'dump_sequences',\n"
+                                       "        'dump_start_sequences',\n"
+                                       "        'dump_statements',\n"
+                                       "        
'dump_table_constraint_type',\n"
+                                       "        'dump_tables',\n"
+                                       "        'dump_triggers',\n"
+                                       "        'dump_user_defined_types',\n"
+                                       "        'fully_qualified_functions'\n"
+                                       "    );\n",
+                                       (int) tt_view);
 
                        /* scoping2 branch changes, the 'users' view has to be 
re-created because of the 'schema_path' addition on 'db_user_info' table
                           However 'dependency_schemas_on_users' has a 
dependency on 'users', so it has to be re-created as well */
diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 
b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
@@ -4949,87 +4949,84 @@ BEGIN
     INSERT INTO sys.dump_statements VALUES ( (SELECT COUNT(*) FROM 
sys.dump_statements) + 1, 'COMMIT;');
     RETURN sys.dump_statements;
 END;
-UPDATE sys.functions f SET system = true WHERE
+UPDATE sys.functions SET system = true WHERE
+    system <> true AND
+    schema_id = 2000 AND
+    type = 5 AND
+    name in (
+        'describe_columns',
+        'describe_function',
+        'describe_table',
+        'dump_database'
+    );
+UPDATE sys.functions SET system = true WHERE
+    system <> true AND
     schema_id = 2000 AND
-    (
-        (
-            type = (select function_type_id from sys.function_types where 
function_type_name = 'Function returning a table') AND
-            name in (
-                'dump_database',
-                'describe_table',
-                'describe_columns',
-                'describe_function'
-            )
-        ) OR
-        (
-            type = (select function_type_id from sys.function_types where 
function_type_name = 'Scalar function') AND
-            name in (
-                'sq',
-                'dq',
-                'fqn',
-                'alter_table',
-                'replace_first',
-                'schema_guard',
-                'get_merge_table_partition_expressions',
-                'get_remote_table_expressions',
-                'esc',
-                'prepare_esc',
-                'current_size_dump_statements',
-                'describe_type'
-            )
-        ) OR
-        (
-            type = (select function_type_id from sys.function_types where 
function_type_keyword = 'PROCEDURE') AND
-            name in (
-                'eval',
-                '_dump_table_data',
-                'dump_table_data'
-            )
-        )
-);
-UPDATE sys._tables SET system = true WHERE 
+    type = 1 AND
+    name in (
+        'alter_table',
+        'describe_type',
+        'dq',
+        'esc',
+        'fqn',
+        'get_merge_table_partition_expressions',
+        'get_remote_table_expressions',
+        'prepare_esc',
+        'replace_first',
+        'schema_guard',
+        'sq'
+    );
+UPDATE sys.functions SET system = true WHERE
+    system <> true AND
+    schema_id = 2000 AND
+    type = 2 AND
+    name in (
+        '_dump_table_data',
+        'dump_table_data',
+        'eval'
+    );
+UPDATE sys._tables SET system = true WHERE
+    system <> true AND
     schema_id = 2000 AND
-    (
-        (
-            type = (select table_type_id from sys.table_types where 
table_type_name = 'TABLE') AND
-            name = 'dump_statements'
-        ) OR
-        (
-            type = (select table_type_id from sys.table_types where 
table_type_name = 'VIEW') AND
-            name in (
-                'describe_constraints',
-                'describe_indices',
-                'describe_column_defaults',
-                'describe_foreign_keys',
-                'describe_tables',
-                'describe_triggers',
-                'describe_comments',
-                'fully_qualified_functions',
-                'describe_privileges',
-                'describe_user_defined_types',
-                'describe_partition_tables',
-                'describe_sequences',
-                'describe_functions',
-                'dump_create_roles',
-                'dump_create_users',
-                'dump_create_schemas',
-                'dump_add_schemas_to_users',
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to