Copilot commented on code in PR #10969:
URL: https://github.com/apache/gravitino/pull/10969#discussion_r3182591473


##########
scripts/h2/upgrade-1.2.0-to-1.3.0-h2.sql:
##########
@@ -46,3 +46,39 @@ CREATE TABLE IF NOT EXISTS `view_version_info` (
     KEY `idx_vvcid` (`catalog_id`),
     KEY `idx_vvsid` (`schema_id`)
 ) ENGINE=InnoDB;
+
+CREATE TABLE IF NOT EXISTS `idp_user_meta` (
+    `user_id` BIGINT(20) UNSIGNED NOT NULL COMMENT 'idp user id',
+    `user_name` VARCHAR(128) NOT NULL COMMENT 'idp username',
+    `password_hash` VARCHAR(1024) NOT NULL COMMENT 'idp user password hash',
+    `audit_info` CLOB NOT NULL COMMENT 'idp user audit info',
+    `current_version` INT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'idp user 
current version',
+    `last_version` INT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'idp user last 
version',
+    `deleted_at` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'idp user 
deleted at',
+    PRIMARY KEY (`user_id`),
+    CONSTRAINT `uk_iun_del` UNIQUE (`user_name`, `deleted_at`)
+) ENGINE=InnoDB;
+
+CREATE TABLE IF NOT EXISTS `idp_group_meta` (
+    `group_id` BIGINT(20) UNSIGNED NOT NULL COMMENT 'idp group id',
+    `group_name` VARCHAR(128) NOT NULL COMMENT 'idp group name',
+    `audit_info` CLOB NOT NULL COMMENT 'idp group audit info',
+    `current_version` INT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'idp group 
current version',
+    `last_version` INT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'idp group last 
version',
+    `deleted_at` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'idp group 
deleted at',
+    PRIMARY KEY (`group_id`),
+    CONSTRAINT `uk_ign_del` UNIQUE (`group_name`, `deleted_at`)
+) ENGINE=InnoDB;
+
+CREATE TABLE IF NOT EXISTS `idp_group_user_rel` (
+    `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'auto increment 
id',
+    `group_id` BIGINT(20) UNSIGNED NOT NULL COMMENT 'idp group id',
+    `user_id` BIGINT(20) UNSIGNED NOT NULL COMMENT 'idp user id',
+    `audit_info` CLOB NOT NULL COMMENT 'idp group user relation audit info',
+    `current_version` INT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'idp relation 
current version',
+    `last_version` INT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'idp relation last 
version',
+    `deleted_at` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'idp relation 
deleted at',
+    PRIMARY KEY (`id`),
+    CONSTRAINT `uk_igiu_del` UNIQUE (`group_id`, `user_id`, `deleted_at`),
+    KEY `idx_iug_uid` (`user_id`)
+) ENGINE=InnoDB;

Review Comment:
   These new upgrade DDLs are not covered by the SQL script test mentioned in 
the PR. `TestSQLScripts` only adds schema/metrics files to `versionScrips` and 
never executes files matching `upgrade-...sql`, so this migration path can ship 
with syntax/runtime errors unnoticed.



##########
scripts/mysql/upgrade-1.2.0-to-1.3.0-mysql.sql:
##########
@@ -50,3 +50,39 @@ CREATE TABLE IF NOT EXISTS `view_version_info` (
     KEY `idx_vvcid` (`catalog_id`),
     KEY `idx_vvsid` (`schema_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT 'view 
version info';
+
+CREATE TABLE IF NOT EXISTS `idp_user_meta` (
+    `user_id` BIGINT(20) UNSIGNED NOT NULL COMMENT 'idp user id',
+    `user_name` VARCHAR(128) NOT NULL COMMENT 'idp username',
+    `password_hash` VARCHAR(1024) NOT NULL COMMENT 'idp user password hash',
+    `audit_info` MEDIUMTEXT NOT NULL COMMENT 'idp user audit info',
+    `current_version` INT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'idp user 
current version',
+    `last_version` INT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'idp user last 
version',
+    `deleted_at` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'idp user 
deleted at',
+    PRIMARY KEY (`user_id`),
+    UNIQUE KEY `uk_iun_del` (`user_name`, `deleted_at`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT 'local IdP 
user metadata';
+
+CREATE TABLE IF NOT EXISTS `idp_group_meta` (
+    `group_id` BIGINT(20) UNSIGNED NOT NULL COMMENT 'idp group id',
+    `group_name` VARCHAR(128) NOT NULL COMMENT 'idp group name',
+    `audit_info` MEDIUMTEXT NOT NULL COMMENT 'idp group audit info',
+    `current_version` INT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'idp group 
current version',
+    `last_version` INT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'idp group last 
version',
+    `deleted_at` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'idp group 
deleted at',
+    PRIMARY KEY (`group_id`),
+    UNIQUE KEY `uk_ign_del` (`group_name`, `deleted_at`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT 'local IdP 
group metadata';
+
+CREATE TABLE IF NOT EXISTS `idp_group_user_rel` (
+    `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'auto increment 
id',
+    `group_id` BIGINT(20) UNSIGNED NOT NULL COMMENT 'idp group id',
+    `user_id` BIGINT(20) UNSIGNED NOT NULL COMMENT 'idp user id',
+    `audit_info` MEDIUMTEXT NOT NULL COMMENT 'idp group user relation audit 
info',
+    `current_version` INT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'idp relation 
current version',
+    `last_version` INT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'idp relation last 
version',
+    `deleted_at` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'idp relation 
deleted at',
+    PRIMARY KEY (`id`),
+    UNIQUE KEY `uk_igiu_del` (`group_id`, `user_id`, `deleted_at`),
+    KEY `idx_iug_uid` (`user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT 'local IdP 
group user relation';

Review Comment:
   These new upgrade DDLs are not covered by the SQL script test mentioned in 
the PR. `TestSQLScripts` only adds schema/metrics files to `versionScrips` and 
never executes files matching `upgrade-...sql`, so this migration path can ship 
with syntax/runtime errors unnoticed.



##########
scripts/postgresql/upgrade-1.2.0-to-1.3.0-postgresql.sql:
##########
@@ -63,3 +63,65 @@ COMMENT ON COLUMN view_version_info.default_schema IS 
'default schema for view S
 COMMENT ON COLUMN view_version_info.representations IS 'view representations 
(JSON array)';
 COMMENT ON COLUMN view_version_info.audit_info IS 'view version audit info';
 COMMENT ON COLUMN view_version_info.deleted_at IS 'view version deleted at';
+
+CREATE TABLE IF NOT EXISTS idp_user_meta (
+    user_id BIGINT NOT NULL,
+    user_name VARCHAR(128) NOT NULL,
+    password_hash VARCHAR(1024) NOT NULL,
+    audit_info TEXT NOT NULL,
+    current_version INT NOT NULL DEFAULT 1,
+    last_version INT NOT NULL DEFAULT 1,
+    deleted_at BIGINT NOT NULL DEFAULT 0,
+    PRIMARY KEY (user_id),
+    UNIQUE (user_name, deleted_at)
+);
+COMMENT ON TABLE idp_user_meta IS 'local IdP user metadata';
+
+COMMENT ON COLUMN idp_user_meta.user_id IS 'idp user id';
+COMMENT ON COLUMN idp_user_meta.user_name IS 'idp username';
+COMMENT ON COLUMN idp_user_meta.password_hash IS 'idp user password hash';
+COMMENT ON COLUMN idp_user_meta.audit_info IS 'idp user audit info';
+COMMENT ON COLUMN idp_user_meta.current_version IS 'idp user current version';
+COMMENT ON COLUMN idp_user_meta.last_version IS 'idp user last version';
+COMMENT ON COLUMN idp_user_meta.deleted_at IS 'idp user deleted at';
+
+CREATE TABLE IF NOT EXISTS idp_group_meta (
+    group_id BIGINT NOT NULL,
+    group_name VARCHAR(128) NOT NULL,
+    audit_info TEXT NOT NULL,
+    current_version INT NOT NULL DEFAULT 1,
+    last_version INT NOT NULL DEFAULT 1,
+    deleted_at BIGINT NOT NULL DEFAULT 0,
+    PRIMARY KEY (group_id),
+    UNIQUE (group_name, deleted_at)
+);
+COMMENT ON TABLE idp_group_meta IS 'local IdP group metadata';
+
+COMMENT ON COLUMN idp_group_meta.group_id IS 'idp group id';
+COMMENT ON COLUMN idp_group_meta.group_name IS 'idp group name';
+COMMENT ON COLUMN idp_group_meta.audit_info IS 'idp group audit info';
+COMMENT ON COLUMN idp_group_meta.current_version IS 'idp group current 
version';
+COMMENT ON COLUMN idp_group_meta.last_version IS 'idp group last version';
+COMMENT ON COLUMN idp_group_meta.deleted_at IS 'idp group deleted at';
+
+CREATE TABLE IF NOT EXISTS idp_group_user_rel (
+    id BIGINT NOT NULL GENERATED BY DEFAULT AS IDENTITY,
+    group_id BIGINT NOT NULL,
+    user_id BIGINT NOT NULL,
+    audit_info TEXT NOT NULL,
+    current_version INT NOT NULL DEFAULT 1,
+    last_version INT NOT NULL DEFAULT 1,
+    deleted_at BIGINT NOT NULL DEFAULT 0,
+    PRIMARY KEY (id),
+    UNIQUE (group_id, user_id, deleted_at)
+);
+CREATE INDEX IF NOT EXISTS idp_group_user_rel_idx_user_id ON 
idp_group_user_rel (user_id);

Review Comment:
   These new upgrade DDLs are not covered by the SQL script test mentioned in 
the PR. `TestSQLScripts` only adds schema/metrics files to `versionScrips` and 
never executes files matching `upgrade-...sql`, so this migration path can ship 
with syntax/runtime errors unnoticed.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to