diff --git a/.github/configuration/upgrade-test-configuration.yml b/.github/configuration/upgrade-test-configuration.yml index a0207ad22d..c066562c74 100644 --- a/.github/configuration/upgrade-test-configuration.yml +++ b/.github/configuration/upgrade-test-configuration.yml @@ -89,7 +89,7 @@ upgrade-version: [{ { upgrade-path: [ { - version: '14.11', + version: '14.12', upgrade-type: null }, { @@ -113,7 +113,7 @@ upgrade-version: [{ { upgrade-path: [ { - version: 15.6, + version: 15.7, upgrade-type: null }, { @@ -134,6 +134,18 @@ upgrade-version: [{ } ] }, +{ + upgrade-path: [ + { + version: 16.2, + upgrade-type: null + }, + { + version: target.latest, + upgrade-type: minor + } + ] +}, { upgrade-path: [ { @@ -141,11 +153,11 @@ upgrade-version: [{ upgrade-type: null }, { - version: '14.11', + version: '14.12', upgrade-type: major }, { - version: 15.6, + version: 15.7, upgrade-type: major }, { @@ -171,7 +183,7 @@ upgrade-version: [{ { upgrade-path: [ { - version: 15.6, + version: 15.7, upgrade-type: null }, { @@ -184,7 +196,7 @@ upgrade-version: [{ { upgrade-path: [ { - version: 15.6, + version: 15.7, upgrade-type: null }, { @@ -201,7 +213,7 @@ upgrade-version: [{ upgrade-type: null }, { - version: 15.6, + version: 15.7, upgrade-type: minor }, { diff --git a/.github/template/version-branch-template.yml b/.github/template/version-branch-template.yml index 9a69df34a5..93c8a13cb2 100644 --- a/.github/template/version-branch-template.yml +++ b/.github/template/version-branch-template.yml @@ -38,6 +38,9 @@ engine_branch: BABEL_2_7_STABLE__PG_14_10 extension_branch: BABEL_2_7_STABLE '14.11': + engine_branch: BABEL_2_8_STABLE__PG_14_11 + extension_branch: BABEL_2_8_STABLE +'14.12': engine_branch: BABEL_2_X_DEV__PG_14_X extension_branch: BABEL_2_X_DEV '15.2': @@ -53,11 +56,17 @@ engine_branch: BABEL_3_4_STABLE__PG_15_5 extension_branch: BABEL_3_4_STABLE '15.6': + engine_branch: BABEL_3_5_STABLE__PG_15_6 + extension_branch: BABEL_3_5_STABLE +'15.7': engine_branch: BABEL_3_X_DEV__PG_15_X extension_branch: BABEL_3_X_DEV '16.1': engine_branch: BABEL_4_0_STABLE__PG_16_1 extension_branch: BABEL_4_0_STABLE +'16.2': + engine_branch: BABEL_4_1_STABLE__PG_16_2 + extension_branch: BABEL_4_1_STABLE 'source.latest': engine_branch: latest extension_branch: latest diff --git a/contrib/babelfishpg_tsql/Version.config b/contrib/babelfishpg_tsql/Version.config index 183e9eb5df..540be77a2f 100644 --- a/contrib/babelfishpg_tsql/Version.config +++ b/contrib/babelfishpg_tsql/Version.config @@ -2,6 +2,6 @@ # places during the build process PGTSQL_MAJOR_VERSION=4 -PGTSQL_MINOR_VERSION=1 +PGTSQL_MINOR_VERSION=2 PGTSQL_MICRO_VERSION=0 diff --git a/contrib/babelfishpg_tsql/sql/upgrades/babelfishpg_tsql--2.9.0--3.0.0.sql b/contrib/babelfishpg_tsql/sql/upgrades/babelfishpg_tsql--2.9.0--3.0.0.sql new file mode 100644 index 0000000000..6720bc8674 --- /dev/null +++ b/contrib/babelfishpg_tsql/sql/upgrades/babelfishpg_tsql--2.9.0--3.0.0.sql @@ -0,0 +1,103 @@ +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION ""babelfishpg_tsql"" UPDATE TO '3.0.0'" to load this file. \quit + +-- add 'sys' to search path for the convenience +SELECT set_config('search_path', 'sys, '||current_setting('search_path'), false); + +-- please add your SQL here + +CREATE OR REPLACE FUNCTION sys.babelfish_update_server_collation_name() RETURNS VOID +LANGUAGE C +AS 'babelfishpg_common', 'babelfish_update_server_collation_name'; + +SELECT sys.babelfish_update_server_collation_name(); + +DROP FUNCTION sys.babelfish_update_server_collation_name(); + +-- reset babelfishpg_tsql.restored_server_collation_name GUC +do +language plpgsql +$$ + declare + query text; + begin + query := pg_catalog.format('alter database %s reset babelfishpg_tsql.restored_server_collation_name', CURRENT_DATABASE()); + execute query; + end; +$$; + +CREATE OR REPLACE FUNCTION sys.datepart_internal(IN datepart PG_CATALOG.TEXT, IN arg anyelement,IN df_tz INTEGER DEFAULT 0) RETURNS INTEGER AS $$ +DECLARE + result INTEGER; + first_day DATE; + first_week_end INTEGER; + day INTEGER; +BEGIN + CASE datepart + WHEN 'dow' THEN + result = (date_part(datepart, arg)::INTEGER - current_setting('babelfishpg_tsql.datefirst')::INTEGER + 7) % 7 + 1; + WHEN 'tsql_week' THEN + first_day = make_date(date_part('year', arg)::INTEGER, 1, 1); + first_week_end = 8 - sys.datepart_internal('dow', first_day)::INTEGER; + day = date_part('doy', arg)::INTEGER; + IF day <= first_week_end THEN + result = 1; + ELSE + result = 2 + (day - first_week_end - 1) / 7; + END IF; + WHEN 'second' THEN + result = TRUNC(date_part(datepart, arg))::INTEGER; + WHEN 'millisecond' THEN + result = right(date_part(datepart, arg)::TEXT, 3)::INTEGER; + WHEN 'microsecond' THEN + result = right(date_part(datepart, arg)::TEXT, 6)::INTEGER; + WHEN 'nanosecond' THEN + -- Best we can do - Postgres does not support nanosecond precision + result = right(date_part('microsecond', arg)::TEXT, 6)::INTEGER * 1000; + WHEN 'tzoffset' THEN + -- timezone for datetimeoffset + result = df_tz; + ELSE + result = date_part(datepart, arg)::INTEGER; + END CASE; + RETURN result; +EXCEPTION WHEN invalid_parameter_value or feature_not_supported THEN + -- date_part() throws an exception when trying to get day/month/year etc. from + -- TIME, so we just need to catch the exception in this case + -- date_part() returns 0 when trying to get hour/minute/second etc. from + -- DATE, which is the desirable behavior for datepart() as well. + -- If the date argument data type does not have the specified datepart, + -- date_part() will return the default value for that datepart. + CASE datepart + -- Case for datepart is year, yy and yyyy, all mappings are defined in gram.y. + WHEN 'year' THEN RETURN 1900; + -- Case for datepart is quater, qq and q + WHEN 'quarter' THEN RETURN 1; + -- Case for datepart is month, mm and m + WHEN 'month' THEN RETURN 1; + -- Case for datepart is day, dd and d + WHEN 'day' THEN RETURN 1; + -- Case for datepart is dayofyear, dy + WHEN 'doy' THEN RETURN 1; + -- Case for datepart is y(also refers to dayofyear) + WHEN 'y' THEN RETURN 1; + -- Case for datepart is week, wk and ww + WHEN 'tsql_week' THEN RETURN 1; + -- Case for datepart is iso_week, isowk and isoww + WHEN 'week' THEN RETURN 1; + -- Case for datepart is tzoffset and tz + WHEN 'tzoffset' THEN RETURN 0; + -- Case for datepart is weekday and dw, return dow according to datefirst + WHEN 'dow' THEN + RETURN (1 - current_setting('babelfishpg_tsql.datefirst')::INTEGER + 7) % 7 + 1 ; + ELSE + RAISE EXCEPTION '''%'' is not a recognized datepart option', datepart; + RETURN -1; + END CASE; +END; +$$ +STRICT +LANGUAGE plpgsql IMMUTABLE; + +-- Reset search_path to not affect any subsequent scripts +SELECT set_config('search_path', trim(leading 'sys, ' from current_setting('search_path')), false); diff --git a/contrib/babelfishpg_tsql/sql/upgrades/babelfishpg_tsql--3.6.0--4.0.0.sql b/contrib/babelfishpg_tsql/sql/upgrades/babelfishpg_tsql--3.6.0--4.0.0.sql new file mode 100644 index 0000000000..0b216bb778 --- /dev/null +++ b/contrib/babelfishpg_tsql/sql/upgrades/babelfishpg_tsql--3.6.0--4.0.0.sql @@ -0,0 +1,555 @@ +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION ""babelfishpg_tsql"" UPDATE TO '4.0.0'" to load this file. \quit + +-- add 'sys' to search path for the convenience +SELECT set_config('search_path', 'sys, '||current_setting('search_path'), false); + +-- please add your SQL here +/* + * Note: These SQL statements may get executed multiple times specially when some features get backpatched. + * So make sure that any SQL statement (DDL/DML) being added here can be executed multiple times without affecting + * final behaviour. + */ + +CREATE OR REPLACE FUNCTION sys.babelfish_update_server_collation_name() RETURNS VOID +LANGUAGE C +AS 'babelfishpg_common', 'babelfish_update_server_collation_name'; + +SELECT sys.babelfish_update_server_collation_name(); + +DROP FUNCTION sys.babelfish_update_server_collation_name(); + +-- reset babelfishpg_tsql.restored_server_collation_name GUC +do +language plpgsql +$$ + declare + query text; + begin + query := pg_catalog.format('alter database %s reset babelfishpg_tsql.restored_server_collation_name', CURRENT_DATABASE()); + execute query; + end; +$$; + +-- Give bbf_role_admin privileges on every Babelfish role +DO +LANGUAGE plpgsql +$$ +DECLARE temprow RECORD; +DECLARE query TEXT; +BEGIN + IF EXISTS ( + SELECT FROM pg_catalog.pg_roles + WHERE rolname = 'bbf_role_admin') + THEN + RAISE EXCEPTION 'Role "bbf_role_admin" already exists.'; + ELSE + EXECUTE format('CREATE ROLE bbf_role_admin WITH CREATEDB CREATEROLE INHERIT PASSWORD NULL'); + EXECUTE format('GRANT CREATE ON DATABASE %s TO bbf_role_admin WITH GRANT OPTION', CURRENT_DATABASE()); + CALL sys.babel_initialize_logins('bbf_role_admin'); + FOR temprow IN + SELECT rolname FROM sys.babelfish_authid_login_ext WHERE rolname != 'bbf_role_admin' UNION SELECT rolname FROM sys.babelfish_authid_user_ext + LOOP + query := pg_catalog.format('GRANT %I to bbf_role_admin WITH ADMIN TRUE;', temprow.rolname); + EXECUTE query; + END LOOP; + END IF; +END; +$$; + +CREATE OR REPLACE VIEW sys.server_principals +AS SELECT +CAST(Ext.orig_loginname AS sys.SYSNAME) AS name, +CAST(Base.oid As INT) AS principal_id, +CAST(CAST(Base.oid as INT) as sys.varbinary(85)) AS sid, +CAST(Ext.type AS CHAR(1)) as type, +CAST( + CASE + WHEN Ext.type = 'S' THEN 'SQL_LOGIN' + WHEN Ext.type = 'R' THEN 'SERVER_ROLE' + WHEN Ext.type = 'U' THEN 'WINDOWS_LOGIN' + ELSE NULL + END + AS NVARCHAR(60)) AS type_desc, +CAST(Ext.is_disabled AS INT) AS is_disabled, +CAST(Ext.create_date AS SYS.DATETIME) AS create_date, +CAST(Ext.modify_date AS SYS.DATETIME) AS modify_date, +CAST(CASE WHEN Ext.type = 'R' THEN NULL ELSE Ext.default_database_name END AS SYS.SYSNAME) AS default_database_name, +CAST(Ext.default_language_name AS SYS.SYSNAME) AS default_language_name, +CAST(CASE WHEN Ext.type = 'R' THEN NULL ELSE Ext.credential_id END AS INT) AS credential_id, +CAST(CASE WHEN Ext.type = 'R' THEN 1 ELSE Ext.owning_principal_id END AS INT) AS owning_principal_id, +CAST(CASE WHEN Ext.type = 'R' THEN 1 ELSE Ext.is_fixed_role END AS sys.BIT) AS is_fixed_role +FROM pg_catalog.pg_roles AS Base INNER JOIN sys.babelfish_authid_login_ext AS Ext ON Base.rolname = Ext.rolname +WHERE (pg_has_role(suser_id(), 'sysadmin'::TEXT, 'MEMBER') +OR Ext.orig_loginname = suser_name() +OR Ext.orig_loginname = (SELECT pg_get_userbyid(datdba) FROM pg_database WHERE datname = CURRENT_DATABASE()) COLLATE sys.database_default +OR Ext.type = 'R') +AND Ext.type != 'Z'; + +CREATE OR REPLACE VIEW sys.server_role_members AS +SELECT +CAST(Authmbr.roleid AS INT) AS role_principal_id, +CAST(Authmbr.member AS INT) AS member_principal_id +FROM pg_catalog.pg_auth_members AS Authmbr +INNER JOIN pg_catalog.pg_roles AS Auth1 ON Auth1.oid = Authmbr.roleid +INNER JOIN pg_catalog.pg_roles AS Auth2 ON Auth2.oid = Authmbr.member +INNER JOIN sys.babelfish_authid_login_ext AS Ext1 ON Auth1.rolname = Ext1.rolname +INNER JOIN sys.babelfish_authid_login_ext AS Ext2 ON Auth2.rolname = Ext2.rolname +WHERE Ext1.type = 'R' AND Ext1.type != 'Z'; + +CREATE OR REPLACE PROCEDURE sys.sp_helpsrvrolemember("@srvrolename" sys.SYSNAME = NULL) AS +$$ +BEGIN + -- If server role is not specified, return info for all server roles + IF @srvrolename IS NULL + BEGIN + SELECT CAST(Ext1.rolname AS sys.SYSNAME) AS 'ServerRole', + CAST(Ext2.rolname AS sys.SYSNAME) AS 'MemberName', + CAST(CAST(Base2.oid AS INT) AS sys.VARBINARY(85)) AS 'MemberSID' + FROM pg_catalog.pg_auth_members AS Authmbr + INNER JOIN pg_catalog.pg_roles AS Base1 ON Base1.oid = Authmbr.roleid + INNER JOIN pg_catalog.pg_roles AS Base2 ON Base2.oid = Authmbr.member + INNER JOIN sys.babelfish_authid_login_ext AS Ext1 ON Base1.rolname = Ext1.rolname + INNER JOIN sys.babelfish_authid_login_ext AS Ext2 ON Base2.rolname = Ext2.rolname + WHERE Ext1.type = 'R' AND Ext2.type != 'Z' + ORDER BY ServerRole, MemberName; + END + -- If a valid server role is specified, return its member info + -- If the role is a SQL server predefined role (i.e. serveradmin), + -- do not raise an error even if it does not exist + ELSE IF EXISTS (SELECT 1 + FROM sys.babelfish_authid_login_ext + WHERE (rolname = RTRIM(@srvrolename) + OR lower(rolname) = lower(RTRIM(@srvrolename))) + AND type = 'R') + OR lower(RTRIM(@srvrolename)) IN ( + 'serveradmin', 'setupadmin', 'securityadmin', 'processadmin', + 'dbcreator', 'diskadmin', 'bulkadmin') + BEGIN + SELECT CAST(Ext1.rolname AS sys.SYSNAME) AS 'ServerRole', + CAST(Ext2.rolname AS sys.SYSNAME) AS 'MemberName', + CAST(CAST(Base2.oid AS INT) AS sys.VARBINARY(85)) AS 'MemberSID' + FROM pg_catalog.pg_auth_members AS Authmbr + INNER JOIN pg_catalog.pg_roles AS Base1 ON Base1.oid = Authmbr.roleid + INNER JOIN pg_catalog.pg_roles AS Base2 ON Base2.oid = Authmbr.member + INNER JOIN sys.babelfish_authid_login_ext AS Ext1 ON Base1.rolname = Ext1.rolname + INNER JOIN sys.babelfish_authid_login_ext AS Ext2 ON Base2.rolname = Ext2.rolname + WHERE Ext1.type = 'R' AND Ext2.type != 'Z' + AND (Ext1.rolname = RTRIM(@srvrolename) OR lower(Ext1.rolname) = lower(RTRIM(@srvrolename))) + ORDER BY ServerRole, MemberName; + END + -- If the specified server role is not valid + ELSE + RAISERROR('%s is not a known fixed role.', 16, 1, @srvrolename); +END; +$$ +LANGUAGE 'pltsql'; + +create or replace view sys.all_objects as +select + name collate sys.database_default + , cast (object_id as integer) + , cast ( principal_id as integer) + , cast (schema_id as integer) + , cast (parent_object_id as integer) + , type collate sys.database_default + , cast (type_desc as sys.nvarchar(60)) + , cast (create_date as sys.datetime) + , cast (modify_date as sys.datetime) + , is_ms_shipped + , cast (is_published as sys.bit) + , cast (is_schema_published as sys.bit) +from +( +-- Currently for pg_class, pg_proc UNIONs, we separated user defined objects and system objects because the +-- optimiser will be able to make a better estimation of number of rows(in case the query contains a filter on +-- is_ms_shipped column) and in turn chooses a better query plan. + +-- details of system tables +select + t.relname::sys.sysname as name + , t.oid as object_id + , null::integer as principal_id + , s.oid as schema_id + , 0 as parent_object_id + , 'U'::char(2) as type + , 'USER_TABLE' as type_desc + , null::timestamp as create_date + , null::timestamp as modify_date + , 1::sys.bit as is_ms_shipped + , 0 as is_published + , 0 as is_schema_published +from pg_class t inner join pg_namespace s on s.oid = t.relnamespace +left join sys.table_types_internal tt on t.oid = tt.typrelid +left join sys.babelfish_namespace_ext ext on (s.nspname = ext.nspname and ext.dbid = sys.db_id()) +left join sys.shipped_objects_not_in_sys nis on nis.name = t.relname and nis.schemaid = s.oid and nis.type = 'U' +where t.relpersistence in ('p', 'u', 't') +and t.relkind = 'r' +and (s.nspname = 'sys' or (nis.name is not null and ext.nspname is not null)) +and tt.typrelid is null +and has_schema_privilege(s.oid, 'USAGE') +and has_table_privilege(t.oid, 'SELECT,INSERT,UPDATE,DELETE,TRUNCATE,TRIGGER') + +union all +-- details of user defined tables +select + t.relname::sys.sysname as name + , t.oid as object_id + , null::integer as principal_id + , s.oid as schema_id + , 0 as parent_object_id + , 'U'::char(2) as type + , 'USER_TABLE' as type_desc + , null::timestamp as create_date + , null::timestamp as modify_date + , 0::sys.bit as is_ms_shipped + , 0 as is_published + , 0 as is_schema_published +from pg_class t inner join pg_namespace s on s.oid = t.relnamespace +left join sys.table_types_internal tt on t.oid = tt.typrelid +left join sys.babelfish_namespace_ext ext on (s.nspname = ext.nspname and ext.dbid = sys.db_id()) +left join sys.shipped_objects_not_in_sys nis on nis.name = t.relname and nis.schemaid = s.oid and nis.type = 'U' +where t.relpersistence in ('p', 'u', 't') +and t.relkind = 'r' +and s.nspname <> 'sys' and nis.name is null +and ext.nspname is not null +and tt.typrelid is null +and has_schema_privilege(s.oid, 'USAGE') +and has_table_privilege(t.oid, 'SELECT,INSERT,UPDATE,DELETE,TRUNCATE,TRIGGER') + +union all +-- details of system views +select + t.relname::sys.sysname as name + , t.oid as object_id + , null::integer as principal_id + , s.oid as schema_id + , 0 as parent_object_id + , 'V'::char(2) as type + , 'VIEW'::varchar(60) as type_desc + , null::timestamp as create_date + , null::timestamp as modify_date + , 1::sys.bit as is_ms_shipped + , 0 as is_published + , 0 as is_schema_published +from pg_class t inner join pg_namespace s on s.oid = t.relnamespace +left join sys.babelfish_namespace_ext ext on (s.nspname = ext.nspname and ext.dbid = sys.db_id()) +left join sys.shipped_objects_not_in_sys nis on nis.name = t.relname and nis.schemaid = s.oid and nis.type = 'V' +where t.relkind = 'v' +and (s.nspname = 'sys' or (nis.name is not null and ext.nspname is not null)) +and has_schema_privilege(s.oid, 'USAGE') +and has_table_privilege(t.oid, 'SELECT,INSERT,UPDATE,DELETE,TRUNCATE,TRIGGER') +union all +-- Details of user defined views +select + t.relname::sys.sysname as name + , t.oid as object_id + , null::integer as principal_id + , s.oid as schema_id + , 0 as parent_object_id + , 'V'::char(2) as type + , 'VIEW'::varchar(60) as type_desc + , null::timestamp as create_date + , null::timestamp as modify_date + , 0::sys.bit as is_ms_shipped + , 0 as is_published + , 0 as is_schema_published +from pg_class t inner join pg_namespace s on s.oid = t.relnamespace +left join sys.babelfish_namespace_ext ext on (s.nspname = ext.nspname and ext.dbid = sys.db_id()) +left join sys.shipped_objects_not_in_sys nis on nis.name = t.relname and nis.schemaid = s.oid and nis.type = 'V' +where t.relkind = 'v' +and s.nspname <> 'sys' and nis.name is null +and ext.nspname is not null +and has_schema_privilege(s.oid, 'USAGE') +and has_table_privilege(t.oid, 'SELECT,INSERT,UPDATE,DELETE,TRUNCATE,TRIGGER') +union all +-- details of user defined and system foreign key constraints +select + c.conname::sys.sysname as name + , c.oid as object_id + , null::integer as principal_id + , s.oid as schema_id + , c.conrelid as parent_object_id + , 'F'::char(2) as type + , 'FOREIGN_KEY_CONSTRAINT' + , null::timestamp as create_date + , null::timestamp as modify_date + , CAST (case when (s.nspname = 'sys' or nis.name is not null) then 1 + else 0 end as sys.bit ) as is_ms_shipped + , 0 as is_published + , 0 as is_schema_published +from pg_constraint c +inner join pg_namespace s on s.oid = c.connamespace +left join sys.babelfish_namespace_ext ext on (s.nspname = ext.nspname and ext.dbid = sys.db_id()) +left join sys.shipped_objects_not_in_sys nis on nis.name = c.conname and nis.schemaid = s.oid and nis.type = 'F' +where has_schema_privilege(s.oid, 'USAGE') +and c.contype = 'f' +and (s.nspname = 'sys' or ext.nspname is not null) +union all +-- details of user defined and system primary key constraints +select + c.conname::sys.sysname as name + , c.oid as object_id + , null::integer as principal_id + , s.oid as schema_id + , c.conrelid as parent_object_id + , 'PK'::char(2) as type + , 'PRIMARY_KEY_CONSTRAINT' as type_desc + , null::timestamp as create_date + , null::timestamp as modify_date + , CAST (case when (s.nspname = 'sys' or nis.name is not null) then 1 + else 0 end as sys.bit ) as is_ms_shipped + , 0 as is_published + , 0 as is_schema_published +from pg_constraint c +inner join pg_namespace s on s.oid = c.connamespace +left join sys.babelfish_namespace_ext ext on (s.nspname = ext.nspname and ext.dbid = sys.db_id()) +left join sys.shipped_objects_not_in_sys nis on nis.name = c.conname and nis.schemaid = s.oid and nis.type = 'PK' +where has_schema_privilege(s.oid, 'USAGE') +and c.contype = 'p' +and (s.nspname = 'sys' or ext.nspname is not null) +union all +-- details of system defined procedures +select + p.proname::sys.sysname as name + , p.oid as object_id + , null::integer as principal_id + , s.oid as schema_id + , cast (case when tr.tgrelid is not null + then tr.tgrelid + else 0 end as int) + as parent_object_id + , case p.prokind + when 'p' then 'P'::char(2) + when 'a' then 'AF'::char(2) + else + case + when t.typname = 'trigger' + then 'TR'::char(2) + when p.proretset then + case + when t.typtype = 'c' + then 'TF'::char(2) + else 'IF'::char(2) + end + else 'FN'::char(2) + end + end as type + , case p.prokind + when 'p' then 'SQL_STORED_PROCEDURE'::varchar(60) + when 'a' then 'AGGREGATE_FUNCTION'::varchar(60) + else + case + when t.typname = 'trigger' + then 'SQL_TRIGGER'::varchar(60) + when p.proretset then + case + when t.typtype = 'c' + then 'SQL_TABLE_VALUED_FUNCTION'::varchar(60) + else 'SQL_INLINE_TABLE_VALUED_FUNCTION'::varchar(60) + end + else 'SQL_SCALAR_FUNCTION'::varchar(60) + end + end as type_desc + , null::timestamp as create_date + , null::timestamp as modify_date + , 1::sys.bit as is_ms_shipped + , 0 as is_published + , 0 as is_schema_published +from pg_proc p +inner join pg_namespace s on s.oid = p.pronamespace +inner join pg_catalog.pg_type t on t.oid = p.prorettype +left join pg_trigger tr on tr.tgfoid = p.oid +left join sys.babelfish_namespace_ext ext on (s.nspname = ext.nspname and ext.dbid = sys.db_id()) +left join sys.shipped_objects_not_in_sys nis on nis.name = p.proname and nis.schemaid = s.oid +and nis.type = (case p.prokind + when 'p' then 'P'::char(2) + when 'a' then 'AF'::char(2) + else + case + when t.typname = 'trigger' + then 'TR'::char(2) + when p.proretset then + case + when t.typtype = 'c' + then 'TF'::char(2) + else 'IF'::char(2) + end + else 'FN'::char(2) + end + end) +where (s.nspname = 'sys' or (nis.name is not null and ext.nspname is not null)) +and has_schema_privilege(s.oid, 'USAGE') +and has_function_privilege(p.oid, 'EXECUTE') +and p.proname != 'pltsql_call_handler' + +union all +-- details of user defined procedures +select + p.proname::sys.sysname as name + , p.oid as object_id + , null::integer as principal_id + , s.oid as schema_id + , cast (case when tr.tgrelid is not null + then tr.tgrelid + else 0 end as int) + as parent_object_id + , case p.prokind + when 'p' then 'P'::char(2) + when 'a' then 'AF'::char(2) + else + case + when t.typname = 'trigger' + then 'TR'::char(2) + when p.proretset then + case + when t.typtype = 'c' + then 'TF'::char(2) + else 'IF'::char(2) + end + else 'FN'::char(2) + end + end as type + , case p.prokind + when 'p' then 'SQL_STORED_PROCEDURE'::varchar(60) + when 'a' then 'AGGREGATE_FUNCTION'::varchar(60) + else + case + when t.typname = 'trigger' + then 'SQL_TRIGGER'::varchar(60) + when p.proretset then + case + when t.typtype = 'c' + then 'SQL_TABLE_VALUED_FUNCTION'::varchar(60) + else 'SQL_INLINE_TABLE_VALUED_FUNCTION'::varchar(60) + end + else 'SQL_SCALAR_FUNCTION'::varchar(60) + end + end as type_desc + , null::timestamp as create_date + , null::timestamp as modify_date + , 0::sys.bit as is_ms_shipped + , 0 as is_published + , 0 as is_schema_published +from pg_proc p +inner join pg_namespace s on s.oid = p.pronamespace +inner join pg_catalog.pg_type t on t.oid = p.prorettype +left join pg_trigger tr on tr.tgfoid = p.oid +left join sys.babelfish_namespace_ext ext on (s.nspname = ext.nspname and ext.dbid = sys.db_id()) +left join sys.shipped_objects_not_in_sys nis on nis.name = p.proname and nis.schemaid = s.oid +and nis.type = (case p.prokind + when 'p' then 'P'::char(2) + when 'a' then 'AF'::char(2) + else + case + when t.typname = 'trigger' + then 'TR'::char(2) + when p.proretset then + case + when t.typtype = 'c' + then 'TF'::char(2) + else 'IF'::char(2) + end + else 'FN'::char(2) + end + end) +where s.nspname <> 'sys' and nis.name is null +and ext.nspname is not null +and has_schema_privilege(s.oid, 'USAGE') +and has_function_privilege(p.oid, 'EXECUTE') + +union all +-- details of all default constraints +select + ('DF_' || o.relname || '_' || d.oid)::sys.sysname as name + , d.oid as object_id + , null::int as principal_id + , o.relnamespace as schema_id + , d.adrelid as parent_object_id + , 'D'::char(2) as type + , 'DEFAULT_CONSTRAINT'::sys.nvarchar(60) AS type_desc + , null::timestamp as create_date + , null::timestamp as modify_date + , CAST (case when (s.nspname = 'sys' or nis.name is not null) then 1 + else 0 end as sys.bit ) as is_ms_shipped + , 0 as is_published + , 0 as is_schema_published +from pg_catalog.pg_attrdef d +inner join pg_attribute a on a.attrelid = d.adrelid and d.adnum = a.attnum +inner join pg_class o on d.adrelid = o.oid +inner join pg_namespace s on s.oid = o.relnamespace +left join sys.babelfish_namespace_ext ext on (s.nspname = ext.nspname and ext.dbid = sys.db_id()) +left join sys.shipped_objects_not_in_sys nis on nis.name = ('DF_' || o.relname || '_' || d.oid) and nis.schemaid = s.oid and nis.type = 'D' +where a.atthasdef = 't' and a.attgenerated = '' +and (s.nspname = 'sys' or ext.nspname is not null) +and has_schema_privilege(s.oid, 'USAGE') +and has_column_privilege(a.attrelid, a.attname, 'SELECT,INSERT,UPDATE,REFERENCES') +union all +-- details of all check constraints +select + c.conname::sys.sysname + , c.oid::integer as object_id + , NULL::integer as principal_id + , s.oid as schema_id + , c.conrelid::integer as parent_object_id + , 'C'::char(2) as type + , 'CHECK_CONSTRAINT'::sys.nvarchar(60) as type_desc + , null::sys.datetime as create_date + , null::sys.datetime as modify_date + , CAST (case when (s.nspname = 'sys' or nis.name is not null) then 1 + else 0 end as sys.bit ) as is_ms_shipped + , 0 as is_published + , 0 as is_schema_published +from pg_catalog.pg_constraint as c +inner join pg_namespace s on s.oid = c.connamespace +left join sys.babelfish_namespace_ext ext on (s.nspname = ext.nspname and ext.dbid = sys.db_id()) +left join sys.shipped_objects_not_in_sys nis on nis.name = c.conname and nis.schemaid = s.oid and nis.type = 'C' +where has_schema_privilege(s.oid, 'USAGE') +and c.contype = 'c' and c.conrelid != 0 +and (s.nspname = 'sys' or ext.nspname is not null) +union all +-- details of user defined and system defined sequence objects +select + p.relname::sys.sysname as name + , p.oid as object_id + , null::integer as principal_id + , s.oid as schema_id + , 0 as parent_object_id + , 'SO'::char(2) as type + , 'SEQUENCE_OBJECT'::varchar(60) as type_desc + , null::timestamp as create_date + , null::timestamp as modify_date + , CAST (case when (s.nspname = 'sys' or nis.name is not null) then 1 + else 0 end as sys.bit ) as is_ms_shipped + , 0 as is_published + , 0 as is_schema_published +from pg_class p +inner join pg_namespace s on s.oid = p.relnamespace +left join sys.babelfish_namespace_ext ext on (s.nspname = ext.nspname and ext.dbid = sys.db_id()) +left join sys.shipped_objects_not_in_sys nis on nis.name = p.relname and nis.schemaid = s.oid and nis.type = 'SO' +where p.relkind = 'S' +and (s.nspname = 'sys' or ext.nspname is not null) +and has_schema_privilege(s.oid, 'USAGE') +union all +-- details of user defined table types +select + ('TT_' || tt.name || '_' || tt.type_table_object_id)::sys.sysname as name + , tt.type_table_object_id as object_id + , tt.principal_id as principal_id + , tt.schema_id as schema_id + , 0 as parent_object_id + , 'TT'::char(2) as type + , 'TABLE_TYPE'::varchar(60) as type_desc + , null::timestamp as create_date + , null::timestamp as modify_date + , CAST (case when (tt.schema_id::regnamespace::text = 'sys' or nis.name is not null) then 1 + else 0 end as sys.bit ) as is_ms_shipped + , 0 as is_published + , 0 as is_schema_published +from sys.table_types tt +left join sys.shipped_objects_not_in_sys nis on nis.name = ('TT_' || tt.name || '_' || tt.type_table_object_id)::name and nis.schemaid = tt.schema_id and nis.type = 'TT' +) ot; +GRANT SELECT ON sys.all_objects TO PUBLIC; + +-- Reset search_path to not affect any subsequent scripts +SELECT set_config('search_path', trim(leading 'sys, ' from current_setting('search_path')), false); diff --git a/contrib/babelfishpg_tsql/sql/upgrades/babelfishpg_tsql--4.1.0--4.2.0.sql b/contrib/babelfishpg_tsql/sql/upgrades/babelfishpg_tsql--4.1.0--4.2.0.sql new file mode 100644 index 0000000000..3099d82d98 --- /dev/null +++ b/contrib/babelfishpg_tsql/sql/upgrades/babelfishpg_tsql--4.1.0--4.2.0.sql @@ -0,0 +1,49 @@ +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION ""babelfishpg_tsql"" UPDATE TO '4.2.0'" to load this file. \quit + +-- add 'sys' to search path for the convenience +SELECT set_config('search_path', 'sys, '||current_setting('search_path'), false); + +-- Drops an object if it does not have any dependent objects. +-- Is a temporary procedure for use by the upgrade script. Will be dropped at the end of the upgrade. +-- Please have this be one of the first statements executed in this upgrade script. +CREATE OR REPLACE PROCEDURE babelfish_drop_deprecated_object(object_type varchar, schema_name varchar, object_name varchar) AS +$$ +DECLARE + error_msg text; + query1 text; + query2 text; +BEGIN + + query1 := pg_catalog.format('alter extension babelfishpg_tsql drop %s %s.%s', object_type, schema_name, object_name); + query2 := pg_catalog.format('drop %s %s.%s', object_type, schema_name, object_name); + + execute query1; + execute query2; +EXCEPTION + when object_not_in_prerequisite_state then --if 'alter extension' statement fails + GET STACKED DIAGNOSTICS error_msg = MESSAGE_TEXT; + raise warning '%', error_msg; + when dependent_objects_still_exist then --if 'drop view' statement fails + GET STACKED DIAGNOSTICS error_msg = MESSAGE_TEXT; + raise warning '%', error_msg; +end +$$ +LANGUAGE plpgsql; + +-- Please add your SQLs here +/* + * Note: These SQL statements may get executed multiple times specially when some features get backpatched. + * So make sure that any SQL statement (DDL/DML) being added here can be executed multiple times without affecting + * final behaviour. + */ + +-- Drops the temporary procedure used by the upgrade script. +-- Please have this be one of the last statements executed in this upgrade script. +DROP PROCEDURE sys.babelfish_drop_deprecated_object(varchar, varchar, varchar); + +-- After upgrade, always run analyze for all babelfish catalogs. +CALL sys.analyze_babelfish_catalogs(); + +-- Reset search_path to not affect any subsequent scripts +SELECT set_config('search_path', trim(leading 'sys, ' from current_setting('search_path')), false); diff --git a/contrib/babelfishpg_tsql/src/babelfish_version.h b/contrib/babelfishpg_tsql/src/babelfish_version.h index 4a72770c51..af80526709 100644 --- a/contrib/babelfishpg_tsql/src/babelfish_version.h +++ b/contrib/babelfishpg_tsql/src/babelfish_version.h @@ -8,7 +8,7 @@ *------------------------------------------------------------------------- */ -#define BABELFISH_VERSION_STR "4.1.0" -#define BABELFISH_INTERNAL_VERSION_STR "Babelfish 16.2.0.0" +#define BABELFISH_VERSION_STR "4.2.0" +#define BABELFISH_INTERNAL_VERSION_STR "Babelfish 16.3.0.0" #define BABEL_COMPATIBILITY_VERSION "12.0.2000.8" #define BABEL_COMPATIBILITY_MAJOR_VERSION "12" diff --git a/test/JDBC/upgrade/14_12/schedule b/test/JDBC/upgrade/14_12/schedule new file mode 100644 index 0000000000..678f25822e --- /dev/null +++ b/test/JDBC/upgrade/14_12/schedule @@ -0,0 +1,429 @@ +# Schedule File for JDBC Test Framework for local run +# 1. Lines starting with '#' will be treated as comments +# 2. To run a postgres command: cmd#!#postgresql#!# +# 3. To run a T-SQL command: cmd#!#sqlserver#!# +# 4. Keyword "all" is equivalent to running all test files in +# input folder +# 5. To add a test, add test name (without extension, -vu-prepare, -vu-verify and -vu-cleanup. For example if test file name is TestBigInt-vu-prepare.txt write TestBigInt) on a new line + +# This should be the first test to check there are no duplicated object_ids +BABEL-3613 + +babelfish_cast_floor +babel_try_parse +TestBigInt +TestBinary +TestBIT +TestChar +TestDatetime2 +TestDatetime +TestDate +TestDecimal +TestFloat +TestImage +TestInt +TestMoney +TestNumeric +TestReal +TestSmallDatetime +TestSmallInt +TestSmallMoney +TestSQLVariant +TestText +TestTime +TestTinyInt +TestUDD +TestUniqueIdentifier +TestVarChar +TestXML +sys-assembly_types +sys-database_mirroring +sys-databases +sys-numbered_procedures +BABEL-3121 +sys-events +sys-suser_sid +sys-trigger_events +BABEL-2688 +BABEL-328 +BABEL-3166 +BABEL-3192 +BABEL-3221 +BABEL-3204 +BABEL-3234 +BABEL-3402 +cast_numeric_types_to_datetime +cast_numeric_types_to_smalldatetime +routines_definition +column_domain_usage +constraint_column_usage +select-strip-parens-before-15_5 +sp_describe_first_result_set +sys-host_name +SYSTEM_USER +indexproperty +sys-all_parameters +msdb-dbo-syspolicy_configuration +sys-all_views +datepart +sys-server_principals +fulltextserviceproperty +is_srvrolemember +msdb-dbo-fn_syspolicy_is_automation_enabled +objectproperty +objectpropertyex +sys-column-property +sys-configurations +sys-datefirst +sys-lock_timeout +sys-max_connections +sys-original_login +sys-schema-name +sys-objects +sys-procedures +sys-sysdatabases +sys-sysobjects +sys-trigger_nestlevel +schema_resolution_proc +BABEL-404 +BABEL-493 +BABEL-621 +BABEL-775 +BABEL-1206 +BABEL-1251 +BABEL-1319 +BABEL-1444 +BABEL-1465 +BABEL-1466 +BABEL-1654 +BABEL-1715 +BABEL-2086 +BABEL-3314 +BABEL-TABLEOPTIONS +BABEL-2765 +BABEL-2819 +BABEL-2917 +BABEL-2955 +BABEL-3358 +BABEL-3747 +BABEL-3781 +temp-tables +table-variable +TestNotNull +Test-Identity +Test-Computed-Columns +BABEL-1189 +BABEL-1062 +BABEL-1243 +BABEL-1493 +BABEL-1963 +BABEL-2170 +BABEL-2203 +BABEL-2208 +BABEL-2257 +BABEL-2449 +BABEL-2535 +BABEL-2787-2 +BABEL-2787 +BABEL-2805 +BABEL-2812 +BABEL-2845 +BABEL-2884 +BABEL-2944 +BABEL-3116 +BABEL-3117 +BABEL-3118 +BABEL-3249 +BABEL-3486 +BABEL-3474 +BABEL-3614 +BABEL-3646 +BABEL-3748 +BABEL-383 +BABEL-405 +BABEL-937 +forjson +forjson-subquery +forjson-datatypes +forxml +forxml-subquery +BABEL-PROCID +babel_trigger +insteadoftriggers_with_transaction +insteadof_nested_trigger_inside_proc +insteadof_nested_trigger_with_dml +nested_trigger_inside_proc +nested_trigger_with_dml +triggers_with_transaction +Test-sp_addrole +Test-sp_addrolemember +Test-sp_droprole +Test-sp_droprolemember +Test-sp_helpdbfixedrole +Test-sp_helpsrvrolemember +Test-sp_helpuser +Test-sp_set_session_context +Test-sp_set_session_context-dep +TestTableType +BABEL-CROSS-DB +BABEL-LOGIN +BABEL-USER +BABEL-ROLE +babelfish_sysdatabases +babelfish_namespace_ext +babelfish_authid_login_ext +babelfish_authid_user_ext +babelfish_inconsistent_metadata +babelfish_migration_mode +schema_resolution_func +BABEL-3147 +collation_tests_arabic +collation_tests_greek +collation_tests_mongolian +collation_tests_polish +collation_tests +babel_datetime +babel_char +BABEL-SQUARE +BABEL-728 +babel_function_string +BABEL-1566 +BABEL-3360 +BABEL-3380 +babel_isnumeric +HAS_DBACCESS +BABEL-1475 +BABEL-1510 +BABEL-3213 +BABEL-3010-before-15_6 +BABEL-3369 +BABEL-3370 +BABEL-RAND +BABEL-741 +BABEL-ROLE-MEMBER +tdscollation +BABEL-EXTENDEDPROPERTY +BABEL-EXECUTE_AS_CALLER +sys-filegroups +sys-filetables +sys-fulltext_indexes +sys-hash_indexes +sys-plan_guides +sp_tablecollations +sys-assemblies +BABEL-LOGIN-USER-EXT +bitwise_not-operator +BABEL-1683 +BABEL-1953 +schema_resolution_trigger +sys_all_objects-dep +sys-columns-dep +sys-databases-dep +sys-foreign_key_columns-dep +sys-foreign_keys-dep +sys-identity_columns-dep +sys-indexes-dep +sys-key_constraints-dep +sys-schemas-dep +sys-sp_tables_view-dep +sys-sysforeignkeys-dep +sys-tables-dep +sys-types-before-dep +sys-views-dep +sys-check_constraints-dep +sys-computed_columns-dep +sys-default_constraints-dep +sys-index_columns-dep +sys-sp_databases-dep +sys-syscolumns-dep +sys-dm_exec_connections-dep +sys-dm_exec_sessions-dep +sys-table_types-before-dep +sys-all_sql_modules-dep +sys-sql_modules-dep +sys-system_sql_modules-dep +sys-triggers-dep +sys-proc_param_helper-dep +sys-sp_pkeys +sys-sp_statistics +BABEL-APPLOCK +BABEL-1438 +BABEL-SP_DATATYPE_INFO +BABEL-SPCOLUMNS +BABEL-SP_TABLES +BABEL-SP_SPECIAL_COLUMNS +BABEL-SP_TABLE_PRIVILIGES +BABEL-SP_FKEYS +BABEL-SP_STORED_PROCEDURES +BABEL-SP_SPROC_COLUMNS +BABEL-3000 +sys-sp_pkeys-dep +sys-sp_statistics-dep +BABEL-SPCOLUMNS-dep +BABEL-SP_COLUMNS_MANAGED-dep +BABEL-SP_SPECIAL_COLUMNS-dep +BABEL-SP_SPECIAL_COLUMNS_100-dep +BABEL-SP_FKEYS-dep +BABEL-SP_STORED_PROCEDURES-dep +BABEL-SP_SPROC_COLUMNS-dep +BABEL-SP_SPROC_COLUMNS_100-dep +BABEL-3000-dep +Test-sp_helprole-dep +Test-sp_helprolemember-dep +format +format-dep +msdb-dbo-syspolicy_system_health_state +dateadd_internal_df +sys-all_columns +sys-all_columns-dep +sys-all_sql_modules +sys-assembly_modules +sys-change_tracking_databases +sys-change_tracking_tables +sys-check_constraints +sys-columns +sys-computed_columns +sys-data_spaces +sys-database_files +sys-database_filestream_options +sys-database_recovery_status +sys-default_constraints +sys-dm_exec_connections +sys-dm_exec_sessions +sys-dm_hadr_cluster +sys-dm_hadr_database_replica_states +sys-dm_os_host_info +sys-endpoints +sys-extended_properties +sys-filetable_system_defined_objects +sys-foreign_key_columns +sys-foreign_keys +sys-fulltext_catalogs +sys-fulltext_index_columns +sys-fulltext_languages +sys-fulltext_stoplists +sys-identity_columns +sys-index_columns +sys-indexes +sys-key_constraints +sys-master_files +sys-nestlevel-dep +sys-partitions +sys-partitions-dep +sys-registered_search_property_lists +sys-schemas +sys-selective_xml_index_paths +sys-sid_binary +sys-sp_databases +sys-sp_tables_view +sys-spatial_index_tessellations +sys-spatial_indexes +sys-stats +sys-synonyms +sys-syscharsets +sys-syscolumns +sys-sysforeignkeys +sys-syslanguages +sys-system_sql_modules +sys-sql_modules +sys-table_types +sys-tables +sys-triggers +sys-types +sys-views +sys-xml_indexes +sys-xml_schema_collections +sys_all_objects +sys_babelfish_configurations_view +BABEL-1249 +BABEL-1291 +BABEL-1994-CHAR +BABEL-1994-VARCHAR +BABEL-889 +babel_417 +babel_datatype_sqlvariant +babel_sqlvariant_cast_compare +BABEL-3347 +BABEL-3144 +sys-all_parameters-dep +BABEL-3556 +BABEL-3588 +BABEL-3268 +BABEL-3513 +BABEL_GRANT_CONNECT +BABEL-sp_helpdb +BABEL-2795 +babelfish_integrity_checker +get_tds_id +BABEL-PG-SYSTEM-FUNCTIONS +BABEL-3655 +BABEL-3702 +openjson +sys-table_types_internal +sys-table_types_internal-dep +BABEL-CHECK-CONSTRAINT +BABEL-3640 +sys-sysindexes +sys-system_objects +ISC-Views +ISC-Tables +ISC-Columns +#ISC-Check-Constraints +ISC-Table_Constraints +sys_server_principals_dep +sys_database_principals_dep +datediff_big +atn2 +app_name +str +ISC-sequences +jira-BABEL-3504-upgrade +case_insensitive_collation +sys-has_perms_by_name +sys-has_perms_by_name-dep +BABEL_OBJECT_ID +BABEL_SCHEMATA +isc-schemata-dep +AVG-Aggregate-common +AVG-Aggregate-Dep +bbf_view_def +BABEL-3802 +BABEL-3914 +BABEL_OBJECT_NAME +sys-systypes +BABEL_OBJECT_DEFINITION +Test-sp_rename +Test-sp_rename-dep +BABEL-3657 +BABEL-733 +BABEL-3938 +BABEL-NEXT-VALUE-FOR +BABEL-4098 +TestVariableDataLength +binary-index +BABEL-4078 +BABEL-3215 +orderby +babel_int4_varbinary_div +babel_varbinary_int4_div +sys-sql_expression_dependencies +smalldatetimefromparts-dep +BABEL_4330 +BABEL-4231 +BABEL-4384 +default_params +BABEL-3326 +cast_eliminate +order_by_offset_fetch_rows-before-15_6-or-16_2 +TestDatatypeAggSort +babel_index_nulls_order-before-15-5 +operator_binary_whitespace-before-15_6-or-16_2 +BABEL-2999 +drop_index-before-15_6-or-16_2 +BABEL-4606 +sys-parsename-before-15_6-or-16_1 +permission_restrictions_from_pg +BABEL-730-before-15_6-or-16_1 +BABEL-492-before-15_6 +babel-4517 +babel-3254 diff --git a/test/JDBC/upgrade/15_7/schedule b/test/JDBC/upgrade/15_7/schedule new file mode 100644 index 0000000000..5b1d1d5dd4 --- /dev/null +++ b/test/JDBC/upgrade/15_7/schedule @@ -0,0 +1,507 @@ +# Schedule File for JDBC Test Framework for local run +# 1. Lines starting with '#' will be treated as comments +# 2. To run a postgres command: cmd#!#postgresql#!# +# 3. To run a T-SQL command: cmd#!#sqlserver#!# +# 4. Keyword "all" is equivalent to running all test files in input folder +# 5. To add a test, add test name (without extension, , and . For example if test file name is TestBigInt.txt write TestBigInt) on a new line + +# This should be the first test to check there are no duplicated object_ids +BABEL-3613 + +app_name +atn2 +ATTIMEZONE-dep +AVG-Aggregate-common +AVG-Aggregate-Dep +BABEL-1062 +BABEL-1189 +BABEL-1206 +BABEL-1243 +BABEL-1249 +BABEL-1251 +BABEL-1291 +BABEL-1319 +BABEL-1438 +BABEL-1444 +BABEL-1465 +BABEL-1466 +BABEL-1475 +BABEL-1493 +BABEL-1510 +BABEL-1566 +BABEL-1625 +BABEL-1654 +BABEL-1683 +BABEL-1715 +BABEL-1953 +BABEL-1963 +BABEL-1994-CHAR +BABEL-1994-VARCHAR +BABEL-2086 +BABEL-2170 +BABEL-2203 +BABEL-2208 +BABEL-2257 +BABEL-2449 +BABEL-2535 +BABEL-2688 +BABEL-2765 +BABEL-2787 +BABEL-2787-2 +BABEL-2795 +BABEL-2805 +BABEL-2812 +BABEL-2819 +BABEL-2845 +BABEL-2877 +BABEL-2884 +BABEL-2917 +BABEL-2944 +BABEL-2955 +BABEL-3000 +BABEL-3000-dep +BABEL-3010 +BABEL-3116 +BABEL-3117 +BABEL-3118 +BABEL-3121 +BABEL-3144 +BABEL-3147 +BABEL-3166 +BABEL-3192 +BABEL-3204 +BABEL-3213 +BABEL-3215 +BABEL-3221 +BABEL-3234 +BABEL-3249 +BABEL-3268 +BABEL-328 +BABEL-3314 +BABEL-3326 +BABEL-3347 +BABEL-3358 +BABEL-3360 +BABEL-3369 +BABEL-3370 +BABEL-3380 +BABEL-3392 +BABEL-3402 +BABEL-3474 +BABEL-3478 +BABEL-3486 +BABEL-3513 +BABEL-3556 +BABEL-3588 +BABEL-3614 +BABEL-3640 +BABEL-3646 +BABEL-3655 +BABEL-3657 +BABEL-3696 +BABEL-3697 +BABEL-3702 +BABEL-3725 +BABEL-3747 +BABEL-3748 +BABEL-3781 +BABEL-3801 +BABEL-3802 +BABEL-3818 +BABEL-3828 +BABEL-383 +BABEL-3844 +BABEL-3914 +BABEL-3938 +BABEL-3952 +BABEL-3953-datetrunc +BABEL-404 +BABEL-405 +BABEL-4078 +BABEL-4098 +BABEL-4214 +babel_417 +BABEL-493 +BABEL_539 +BABEL-621 +BABEL-728 +BABEL-733 +BABEL-741 +BABEL-745 +BABEL-775 +BABEL-889 +BABEL-937 +BABEL-APPLOCK +babel_char +BABEL-CHECK-CONSTRAINT +babel_context_info +BABEL-CROSS-DB +babel_datatype_sqlvariant +babel_datetime +Babel_domain_mapping_test +BABEL-EXECUTE_AS_CALLER +BABEL-EXTENDEDPROPERTY +BABEL-EXTENDEDPROPERTY-v2 +babel_int4_varbinary_div +babelfish_authid_login_ext +babelfish_authid_user_ext +babelfish_cast_floor +babelfish_inconsistent_metadata +babelfish_integrity_checker +babelfish_migration_mode +babelfish_namespace_ext +babelfish_sysdatabases +babel_function_string +BABEL_GRANT_CONNECT +babel_isnumeric +BABEL_COL_NAME +BABEL-LOGIN +BABEL-LOGIN-USER-EXT +BABEL-NEXT-VALUE-FOR +BABEL_OBJECT_DEFINITION +BABEL_OBJECT_ID +BABEL_OBJECT_NAME +BABEL-PG-SYSTEM-FUNCTIONS +BABEL-PROCID +BABEL-RAND +BABEL-ROLE +BABEL-ROLE-MEMBER +BABEL_SCHEMATA +BABEL-SPCOLUMNS +BABEL-SPCOLUMNS-dep +BABEL-SP_COLUMNS_MANAGED-dep +BABEL-SP_DATATYPE_INFO +BABEL-SP_FKEYS +BABEL-SP_FKEYS-dep +BABEL-sp_helpdb +BABEL-SP_SPECIAL_COLUMNS +BABEL-SP_SPECIAL_COLUMNS_100-dep +BABEL-SP_SPECIAL_COLUMNS-dep +BABEL-SP_SPROC_COLUMNS +BABEL-SP_SPROC_COLUMNS_100-dep +BABEL-SP_SPROC_COLUMNS-dep +BABEL-SP_STORED_PROCEDURES +BABEL-SP_STORED_PROCEDURES-dep +BABEL-SP_TABLE_PRIVILIGES +BABEL-SP_TABLES +babel_sqlvariant_cast_compare +BABEL-SQUARE +BABEL-TABLEOPTIONS +babel_trigger +babel_try_parse +BABEL-USER +babel_varbinary_int4_div +bbf_view_def +binary-index +bitwise_not-operator +case_insensitive_collation +cast_numeric_types_to_datetime +cast_numeric_types_to_smalldatetime +col_length +collation_tests +collation_tests_arabic +collation_tests_greek +collation_tests_mongolian +collation_tests_polish +column_domain_usage +constraint_column_usage +dateadd_internal_df +datediff_big +datediff +dateadd +datepart +datetime2fromparts-after-15-2 +forjson +forjson-datatypes +forjson-subquery +forjson-nesting +format +format-dep +forxml +forxml-subquery +fulltextserviceproperty +FULLTEXT_INDEX +fts-contains +get_tds_id +HAS_DBACCESS +identity_function +indexproperty +insteadof_nested_trigger_inside_proc +insteadof_nested_trigger_with_dml +insteadoftriggers_with_transaction +ISC-Columns +isc-schemata-dep +ISC-sequences +ISC-Table_Constraints +ISC-Tables +ISC-Views +is_srvrolemember +jira-BABEL-3504-upgrade +key_column_usage +linked_servers +msdb-dbo-fn_syspolicy_is_automation_enabled +msdb-dbo-syspolicy_configuration +msdb-dbo-syspolicy_system_health_state +nested_trigger_inside_proc +nested_trigger_with_dml +objectpropertyex +openjson +openquery_upgrd_before_15_4 +orderby +routines_definition +rowcount +schema_resolution_func +schema_resolution_proc +schema_resolution_trigger +select-strip-parens +sp_describe_first_result_set +sp_tablecollations +smalldatetimefromparts-dep +str +switchoffset-dep +sys-all_columns +sys-all_columns-dep +sys_all_objects +sys_all_objects-dep +sys-all_parameters +sys-all_parameters-dep +sys-all_sql_modules +sys-all_sql_modules-dep +sys-all_views +sys-assemblies +sys-assembly_modules +sys-assembly_types +sys_babelfish_configurations_view +sys-change_tracking_databases +sys-change_tracking_tables +sys-check_constraints +sys-check_constraints-dep +sys-column-property +sys-columns +sys-columns-dep +sys-computed_columns +sys-computed_columns-dep +sys-configurations +sys-database_files +sys-database_filestream_options +sys-database_mirroring +sys_database_principals_dep +sys_syslogins_dep +sys-database_recovery_status +sys-databases +sys-databases-dep +sys-data_spaces +sys-datefirst +sys-default_constraints +sys-default_constraints-dep +sys-dm_exec_connections +sys-dm_exec_connections-dep +sys-dm_exec_sessions +sys-dm_exec_sessions-dep +sys-dm_hadr_cluster +sys-dm_hadr_database_replica_states +sys-dm_os_host_info +sys-endpoints +sys-eomonth +sys-events +sys-extended_properties +sys-sql_expression_dependencies +sys-filegroups +sys-filetables +sys-filetable_system_defined_objects +sys-foreign_key_columns +sys-foreign_key_columns-dep +sys-foreign_keys +sys-foreign_keys-dep +sys-fulltext_catalogs +sys-fulltext_index_columns +sys-fulltext_indexes +sys-fulltext_languages +sys-fulltext_stoplists +sys-hash_indexes +sys-has_perms_by_name +sys-has_perms_by_name-dep +sys-host_name +sys-identity_columns +sys-identity_columns-dep +sys-index_columns +sys-index_columns-dep +sys-indexes +sys-indexes-dep +sys-key_constraints +sys-key_constraints-dep +sys-lock_timeout +sys-master_files +sys-max_connections +sys-nestlevel-dep +sys-numbered_procedures +sys-objects +sys-original_login +sys-parsename +sys-partitions +sys-partitions-dep +sys-plan_guides +sys-procedures +sys-proc_param_helper-dep +sys-registered_search_property_lists +sys-schema-name +sys-schemas +sys-schemas-dep +sys-selective_xml_index_paths +sys-server_principals +sys_server_role_members +sys_server_principals_dep +sys-sid_binary +sys-spatial_indexes +sys-spatial_index_tessellations +sys-sp_databases +sys-sp_databases-dep +sys-sp_pkeys +sys-sp_pkeys-dep +sys-sp_statistics +sys-sp_statistics-dep +sys-sp_tables_view +sys-sp_tables_view-dep +sys-sql_modules +sys-sql_modules-dep +sys-stats +sys-suser_sid +sys-suser_sname +sys-synonyms +sys-syscharsets +sys-syscolumns +sys-syscolumns-dep +sys-sysdatabases +sys-sysforeignkeys +sys-sysforeignkeys-dep +sys-sysindexes +sys-syslanguages +sys-sysobjects +sys-system_objects +sys-system_sql_modules +sys-system_sql_modules-dep +sys-systypes +sys_sysusers_dep +sys-tables +sys-tables-dep +sys-table_types +sys-table_types-dep +sys-table_types_internal +sys-table_types_internal-dep +SYSTEM_USER +sys-trigger_events +sys-trigger_nestlevel +sys-triggers +sys-triggers-dep +sys-types +sys-types-dep +sys-userid +sys-views +sys-views-dep +sys-xml_indexes +sys-xml_schema_collections +table-variable +tdscollation +temp-tables +TestBigInt +TestBinary +TestBIT +TestChar +Test-Computed-Columns +TestDate +TestDatetime +TestDatetime2 +TestDatetime-numeric-dateaddfunction +TestDatetime-numeric-representation +TestDecimal +TestFloat +Test-Identity +TestImage +TestInt +TestMoney +TestNotNull +TestNumeric +TestReal +TestRowVersion +TestSmallDatetime +TestSmallInt +TestSmallMoney +TestSpatialPoint +Test-sp_addrole +Test-sp_addrolemember +Test-sp_babelfish_volatility +Test-sp_droprole +Test-sp_droprolemember +Test-sp_execute_postgresql +Test-sp_helpdbfixedrole +Test-sp_helprole-dep +Test-sp_helprolemember-dep +Test-sp_helpsrvrolemember +Test-sp_helpuser +Test-sp_rename +Test-sp_rename-dep +Test-sp_set_session_context +Test-sp_set_session_context-dep +TestSQLVariant +TestTableType +TestText +TestTime +TestTinyInt +TestUDD +TestUniqueIdentifier +Test_user_from_win_login +TestVarChar +TestVariableDataLength +test_windows_alter_login +test_windows_alter_user +test_windows_login +test_windows_sp_helpuser +TestXML +timefromparts +todatetimeoffset-dep +triggers_with_transaction +typeid-typename +typeid-typename-dep +print_null +unquoted_string +doublequoted_string +operator_whitespace +operator_atatvar +alter_authorization_change_db_owner +sp_changedbowner +float_exponent +datetimeoffset-timezone +BABEL-4046 +host_id +drop_index +linked_srv_4229 +BABEL-4175 +sp_who +BABEL_4330 +kill +set_tran_isolvl +BABEL-4217 +Test_ISNULL +BABEL-4270 +BABEL-4410 +BABEL-4231 +function_as_keywd +typeproperty-dep +sys_asymmetric_keys +sys_certificates +sys_database_permissions +#BABEL-4279 +BABEL-4484 +pivot +#AUTO_ANALYZE #uncomment this test when preparing for new minor version +cast_eliminate +TestDatatypeAggSort +babel_index_nulls_order +BABEL-2999 +BABEL-4606 +BABEL-4529 +sys_availability_groups +sys_availability_replicas +BABEL-730 +babel-4475 +babel-4517 diff --git a/test/JDBC/upgrade/16_2/schedule b/test/JDBC/upgrade/16_2/schedule new file mode 100644 index 0000000000..14e26adc10 --- /dev/null +++ b/test/JDBC/upgrade/16_2/schedule @@ -0,0 +1,514 @@ +# Schedule File for JDBC Test Framework for local run +# 1. Lines starting with '#' will be treated as comments +# 2. To run a postgres command: cmd#!#postgresql#!# +# 3. To run a T-SQL command: cmd#!#sqlserver#!# +# 4. Keyword "all" is equivalent to running all test files in input folder +# 5. To add a test, add test name (without extension, , and . For example if test file name is TestBigInt.txt write TestBigInt) on a new line + +# This should be the first test to check there are no duplicated object_ids +BABEL-3613 + +app_name +atn2 +ATTIMEZONE-dep +AVG-Aggregate-common +AVG-Aggregate-Dep +BABEL-1062 +BABEL-1189 +BABEL-1206 +BABEL-1243 +BABEL-1249 +BABEL-1251 +BABEL-1291 +BABEL-1319 +BABEL-1438 +BABEL-1444 +BABEL-1465 +BABEL-1466 +BABEL-1475 +BABEL-1493 +BABEL-1510 +BABEL-1566 +BABEL-1625 +BABEL-1654 +BABEL-1683 +BABEL-1715 +BABEL-1953 +BABEL-1963 +BABEL-1994-CHAR +BABEL-1994-VARCHAR +BABEL-2086 +BABEL-2170 +BABEL-2203 +BABEL-2208 +BABEL-2257 +BABEL-2449 +BABEL-2535 +BABEL-2688 +BABEL-2765 +BABEL-2787 +BABEL-2787-2 +BABEL-2795 +BABEL-2805 +BABEL-2812 +BABEL-2819 +BABEL-2845 +BABEL-2877 +BABEL-2884 +BABEL-2917 +BABEL-2944 +BABEL-2955 +BABEL-3000 +BABEL-3000-dep +BABEL-3010 +BABEL-3116 +BABEL-3117 +BABEL-3118 +BABEL-3121 +BABEL-3144 +BABEL-3147 +BABEL-3166 +BABEL-3192 +BABEL-3204 +BABEL-3213 +BABEL-3215 +BABEL-3221 +BABEL-3234 +BABEL-3249 +BABEL-3268 +BABEL-328 +BABEL-3314 +BABEL-3326 +BABEL-3347 +BABEL-3358 +BABEL-3360 +BABEL-3369 +BABEL-3370 +BABEL-3380 +BABEL-3392 +BABEL-3402 +BABEL-3474 +BABEL-3478 +BABEL-3486 +BABEL-3513 +BABEL-3556 +BABEL-3588 +BABEL-3614 +BABEL-3640 +BABEL-3646 +BABEL-3655 +BABEL-3657 +BABEL-3696 +BABEL-3697 +BABEL-3702 +BABEL-3725 +BABEL-3747 +BABEL-3748 +BABEL-3781 +BABEL-3801 +BABEL-3802 +BABEL-3818 +BABEL-3828 +BABEL-383 +BABEL-3844 +BABEL-3914 +BABEL-3938 +BABEL-3952 +BABEL-3953-datetrunc +BABEL-404 +BABEL-405 +BABEL-4078 +BABEL-4098 +BABEL-4214 +babel_417 +BABEL-493 +BABEL_539 +BABEL-621 +BABEL-728 +BABEL-733 +BABEL-741 +BABEL-745 +BABEL-775 +BABEL-889 +BABEL-937 +BABEL-APPLOCK +babel_char +BABEL-CHECK-CONSTRAINT +babel_context_info +BABEL-CROSS-DB +babel_datatype_sqlvariant +babel_datetime +Babel_domain_mapping_test +BABEL-EXECUTE_AS_CALLER +BABEL-EXTENDEDPROPERTY +BABEL-EXTENDEDPROPERTY-v2 +babel_int4_varbinary_div +babelfish_authid_login_ext +babelfish_authid_user_ext +babelfish_cast_floor +babelfish_inconsistent_metadata +babelfish_integrity_checker +babelfish_migration_mode +babelfish_namespace_ext +babelfish_sysdatabases +babel_function_string +BABEL_GRANT_CONNECT +babel_isnumeric +BABEL_COL_NAME +BABEL-LOGIN +BABEL-LOGIN-USER-EXT +BABEL-NEXT-VALUE-FOR +BABEL_OBJECT_DEFINITION +BABEL_OBJECT_ID +BABEL_OBJECT_NAME +BABEL-PG-SYSTEM-FUNCTIONS +BABEL-PROCID +BABEL-RAND +BABEL-ROLE +BABEL-ROLE-MEMBER +BABEL_SCHEMATA +BABEL-SPCOLUMNS +BABEL-SPCOLUMNS-dep +BABEL-SP_COLUMNS_MANAGED-dep +BABEL-SP_DATATYPE_INFO +BABEL-SP_FKEYS +BABEL-SP_FKEYS-dep +BABEL-sp_helpdb +BABEL-SP_SPECIAL_COLUMNS +BABEL-SP_SPECIAL_COLUMNS_100-dep +BABEL-SP_SPECIAL_COLUMNS-dep +BABEL-SP_SPROC_COLUMNS +BABEL-SP_SPROC_COLUMNS_100-dep +BABEL-SP_SPROC_COLUMNS-dep +BABEL-SP_STORED_PROCEDURES +BABEL-SP_STORED_PROCEDURES-dep +BABEL-SP_TABLE_PRIVILIGES +BABEL-SP_TABLES +babel_sqlvariant_cast_compare +BABEL-SQUARE +BABEL-TABLEOPTIONS +babel_trigger +babel_try_parse +BABEL-USER +babel_varbinary_int4_div +bbf_view_def +binary-index +bitwise_not-operator +case_insensitive_collation +cast_numeric_types_to_datetime +cast_numeric_types_to_smalldatetime +col_length +collation_tests +collation_tests_arabic +collation_tests_greek +collation_tests_mongolian +collation_tests_polish +column_domain_usage +constraint_column_usage +dateadd_internal_df +datediff_big +datediff +dateadd +datepart +datetime2fromparts-after-15-2 +forjson +forjson-datatypes +forjson-subquery +forjson-nesting +forjsonauto +format +format-dep +forxml +forxml-subquery +fulltextserviceproperty +FULLTEXT_INDEX +fts-contains +fts-contains-utils +get_tds_id +HAS_DBACCESS +identity_function +indexproperty +insteadof_nested_trigger_inside_proc +insteadof_nested_trigger_with_dml +insteadoftriggers_with_transaction +ISC-Columns +isc-schemata-dep +ISC-sequences +ISC-Table_Constraints +ISC-Tables +ISC-Views +is_srvrolemember +jira-BABEL-3504-upgrade +key_column_usage +linked_servers +msdb-dbo-fn_syspolicy_is_automation_enabled +msdb-dbo-syspolicy_configuration +msdb-dbo-syspolicy_system_health_state +nested_trigger_inside_proc +nested_trigger_with_dml +objectpropertyex +openjson +openquery_upgrd_before_15_4 +orderby +routines_definition +rowcount +schema_resolution_func +schema_resolution_proc +schema_resolution_trigger +select-strip-parens +sp_describe_first_result_set +sp_tablecollations +smalldatetimefromparts-dep +str +switchoffset-dep +sys-all_columns +sys-all_columns-dep +sys_all_objects +sys_all_objects-dep +sys-all_parameters +sys-all_parameters-dep +sys-all_sql_modules +sys-all_sql_modules-dep +sys-all_views +sys-assemblies +sys-assembly_modules +sys-assembly_types +sys_babelfish_configurations_view +sys-change_tracking_databases +sys-change_tracking_tables +sys-check_constraints +sys-check_constraints-dep +sys-column-property +sys-columns +sys-columns-dep +sys-computed_columns +sys-computed_columns-dep +sys-configurations +sys-database_files +sys-database_filestream_options +sys-database_mirroring +sys_database_principals_dep +sys_syslogins_dep +sys-database_recovery_status +sys-databases +sys-databases-dep +sys-data_spaces +sys-datefirst +sys-default_constraints +sys-default_constraints-dep +sys-dm_exec_connections +sys-dm_exec_connections-dep +sys-dm_exec_sessions +sys-dm_exec_sessions-dep +sys-dm_hadr_cluster +sys-dm_hadr_database_replica_states +sys-dm_os_host_info +sys-endpoints +sys-eomonth +sys-events +sys-extended_properties +sys-sql_expression_dependencies +sys-filegroups +sys-filetables +sys-filetable_system_defined_objects +sys-foreign_key_columns +sys-foreign_key_columns-dep +sys-foreign_keys +sys-foreign_keys-dep +sys-fulltext_catalogs +sys-fulltext_index_columns +sys-fulltext_indexes +sys-fulltext_languages +sys-fulltext_stoplists +sys-hash_indexes +sys-has_perms_by_name +sys-has_perms_by_name-dep +sys-host_name +sys-identity_columns +sys-identity_columns-dep +sys-index_columns +sys-index_columns-dep +sys-indexes +sys-indexes-dep +sys-key_constraints +sys-key_constraints-dep +sys-lock_timeout +sys-master_files +sys-max_connections +sys-nestlevel-dep +sys-numbered_procedures +sys-objects +sys-original_login +sys-parsename +sys-partitions +sys-partitions-dep +sys-plan_guides +sys-procedures +sys-proc_param_helper-dep +sys-registered_search_property_lists +sys-schema-name +sys-schemas +sys-schemas-dep +sys-selective_xml_index_paths +sys-server_principals +sys_server_role_members +sys_server_principals_dep +sys-sid_binary +sys-spatial_indexes +sys-spatial_index_tessellations +sys-sp_databases +sys-sp_databases-dep +sys-sp_pkeys +sys-sp_pkeys-dep +sys-sp_statistics +sys-sp_statistics-dep +sys-sp_tables_view +sys-sp_tables_view-dep +sys-sql_modules +sys-sql_modules-dep +sys-stats +sys-suser_sid +sys-suser_sname +sys-synonyms +sys-syscharsets +sys-syscolumns +sys-syscolumns-dep +sys-sysdatabases +sys-sysforeignkeys +sys-sysforeignkeys-dep +sys-sysindexes +sys-syslanguages +sys-sysobjects +sys-system_objects +sys-system_sql_modules +sys-system_sql_modules-dep +sys-systypes +sys_sysusers_dep +sys-tables +sys-tables-dep +sys-table_types +sys-table_types-dep +sys-table_types_internal +sys-table_types_internal-dep +SYSTEM_USER +sys-trigger_events +sys-trigger_nestlevel +sys-triggers +sys-triggers-dep +sys-types +sys-types-dep +sys-userid +sys-views +sys-views-dep +sys-xml_indexes +sys-xml_schema_collections +table-variable +tdscollation +temp-tables +TestBigInt +TestBinary +TestBIT +TestChar +Test-Computed-Columns +TestDate +TestDatetime +TestDatetime2 +TestDatetime-numeric-dateaddfunction +TestDatetime-numeric-representation +TestDecimal +TestFloat +Test-Identity +TestImage +TestInt +TestMoney +TestNotNull +TestNumeric +TestReal +TestRowVersion +TestSmallDatetime +TestSmallInt +TestSmallMoney +TestSpatialPoint +Test-sp_addrole +Test-sp_addrolemember +Test-sp_babelfish_volatility +Test-sp_droprole +Test-sp_droprolemember +Test-sp_execute_postgresql +Test-sp_helpdbfixedrole +Test-sp_helprole-dep +Test-sp_helprolemember-dep +Test-sp_helpsrvrolemember +Test-sp_helpuser +Test-sp_rename +Test-sp_rename-dep +Test-sp_set_session_context +Test-sp_set_session_context-dep +TestSQLVariant +TestTableType +TestText +TestTime +TestTinyInt +TestUDD +TestUniqueIdentifier +Test_user_from_win_login +TestVarChar +TestVariableDataLength +test_windows_alter_login +test_windows_alter_user +test_windows_login +test_windows_sp_helpuser +TestXML +timefromparts +todatetimeoffset-dep +triggers_with_transaction +order_by_offset_fetch_rows +typeid-typename +typeid-typename-dep +print_null +unquoted_string +doublequoted_string +operator_whitespace +operator_atatvar +operator_binary_whitespace +alter_authorization_change_db_owner +sp_changedbowner +float_exponent +datetimeoffset-timezone +BABEL-4046 +host_id +drop_index +linked_srv_4229 +BABEL-4175 +sp_who +BABEL_4330 +kill +set_tran_isolvl +BABEL-4217 +Test_ISNULL +BABEL-4270 +BABEL-4410 +BABEL-4231 +function_as_keywd +typeproperty-dep +sys_asymmetric_keys +sys_certificates +sys_database_permissions +#BABEL-4279 +BABEL-4484 +pivot +#AUTO_ANALYZE #uncomment this test when preparing for new minor version +cast_eliminate +TestDatatypeAggSort +babel_index_nulls_order +BABEL-2999 +BABEL-4606 +permission_restrictions_from_pg +BABEL-4529 +sys_availability_groups +sys_availability_replicas +table_constraint_without_comma +BABEL-730 +babel-4475 +babel-3254 +babel-4517 diff --git a/test/python/expected/sql_validation_framework/expected_drop.out b/test/python/expected/sql_validation_framework/expected_drop.out index 8c14fd6775..d842644058 100644 --- a/test/python/expected/sql_validation_framework/expected_drop.out +++ b/test/python/expected/sql_validation_framework/expected_drop.out @@ -21,8 +21,10 @@ Unexpected drop found for function sys.babelfish_update_server_collation_name in Unexpected drop found for function sys.babelfish_update_server_collation_name in file babelfishpg_tsql--2.6.0--3.0.0.sql Unexpected drop found for function sys.babelfish_update_server_collation_name in file babelfishpg_tsql--2.7.0--3.0.0.sql Unexpected drop found for function sys.babelfish_update_server_collation_name in file babelfishpg_tsql--2.8.0--3.0.0.sql +Unexpected drop found for function sys.babelfish_update_server_collation_name in file babelfishpg_tsql--2.9.0--3.0.0.sql Unexpected drop found for function sys.babelfish_update_server_collation_name in file babelfishpg_tsql--3.4.0--4.0.0.sql Unexpected drop found for function sys.babelfish_update_server_collation_name in file babelfishpg_tsql--3.5.0--4.0.0.sql +Unexpected drop found for function sys.babelfish_update_server_collation_name in file babelfishpg_tsql--3.6.0--4.0.0.sql Unexpected drop found for function sys.babelfishpg_common_get_babel_server_collation_oid in file babelfishpg_common--2.2.0--2.3.0.sql Unexpected drop found for function sys.babelfishpg_tsql_get_babel_server_collation_oid in file babelfishpg_tsql--2.2.0--2.3.0.sql Unexpected drop found for function sys.babelfishpg_tsql_get_babel_server_collation_oid in file babelfishpg_tsql--2.3.0--3.0.0.sql @@ -54,6 +56,7 @@ Unexpected drop found for procedure sys.babelfish_drop_deprecated_object in file Unexpected drop found for procedure sys.babelfish_drop_deprecated_object in file babelfishpg_tsql--3.4.0--3.5.0.sql Unexpected drop found for procedure sys.babelfish_drop_deprecated_object in file babelfishpg_tsql--3.4.0--4.0.0.sql Unexpected drop found for procedure sys.babelfish_drop_deprecated_object in file babelfishpg_tsql--4.0.0--4.1.0.sql +Unexpected drop found for procedure sys.babelfish_drop_deprecated_object in file babelfishpg_tsql--4.1.0--4.2.0.sql Unexpected drop found for procedure sys.babelfish_drop_deprecated_table in file babelfishpg_tsql--2.1.0--2.2.0.sql Unexpected drop found for procedure sys.babelfish_drop_deprecated_view in file babelfishpg_tsql--1.0.0--1.1.0.sql Unexpected drop found for procedure sys.babelfish_drop_deprecated_view in file babelfishpg_tsql--2.1.0--2.2.0.sql