This is an automated email from the ASF dual-hosted git repository.
yuqi4733 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/main by this push:
new a7914c9ae8 [#10657] fix(core): Add missing @Param("metalakeId") to
GroupRoleRelMapper.softDeleteGroupRoleRelByMetalakeId (#10664)
a7914c9ae8 is described below
commit a7914c9ae8fabc7cfb698723c76e7f77326df79f
Author: Sachin Ranjalkar <[email protected]>
AuthorDate: Tue Apr 7 18:01:31 2026 +0530
[#10657] fix(core): Add missing @Param("metalakeId") to
GroupRoleRelMapper.softDeleteGroupRoleRelByMetalakeId (#10664)
### What changes were proposed in this pull request?
Add `@Param("metalakeId")` annotation to
`softDeleteGroupRoleRelByMetalakeId` in the mapper, SQL provider
factory, base SQL provider, and PostgreSQL provider.
### Why are the changes needed?
`GroupRoleRelMapper.softDeleteGroupRoleRelByMetalakeId(Long metalakeId)`
is missing the `@Param("metalakeId")` annotation, unlike every other
soft-delete method in the same mapper. The SQL templates reference
`#{metalakeId}`, so without the annotation MyBatis relies on
runtime-retained parameter names, which is fragile and can cause binding
failures during metalake deletion.
Fix: #10657
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Existing unit and integration tests cover the metalake deletion path
that invokes this mapper method. The change is additive — it makes the
parameter binding explicit rather than implicit.
---
.../apache/gravitino/storage/relational/mapper/GroupMetaMapper.java | 2 +-
.../gravitino/storage/relational/mapper/GroupRoleRelMapper.java | 4 ++--
.../storage/relational/mapper/GroupRoleRelSQLProviderFactory.java | 4 ++--
.../gravitino/storage/relational/mapper/JobTemplateMetaMapper.java | 2 +-
.../apache/gravitino/storage/relational/mapper/RoleMetaMapper.java | 4 ++--
.../storage/relational/mapper/RoleMetaSQLProviderFactory.java | 4 ++--
.../relational/mapper/provider/base/GroupMetaBaseSQLProvider.java | 2 +-
.../relational/mapper/provider/base/GroupRoleRelBaseSQLProvider.java | 4 ++--
.../relational/mapper/provider/base/RoleMetaBaseSQLProvider.java | 4 ++--
.../mapper/provider/postgresql/GroupMetaPostgreSQLProvider.java | 2 +-
.../mapper/provider/postgresql/GroupRoleRelPostgreSQLProvider.java | 4 ++--
.../mapper/provider/postgresql/RoleMetaPostgreSQLProvider.java | 2 +-
12 files changed, 19 insertions(+), 19 deletions(-)
diff --git
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/GroupMetaMapper.java
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/GroupMetaMapper.java
index ae554a2a43..3b19c62113 100644
---
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/GroupMetaMapper.java
+++
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/GroupMetaMapper.java
@@ -58,7 +58,7 @@ public interface GroupMetaMapper {
@SelectProvider(
type = GroupMetaSQLProviderFactory.class,
method = "listExtendedGroupPOsByMetalakeId")
- List<ExtendedGroupPO> listExtendedGroupPOsByMetalakeId(Long metalakeId);
+ List<ExtendedGroupPO> listExtendedGroupPOsByMetalakeId(@Param("metalakeId")
Long metalakeId);
@InsertProvider(type = GroupMetaSQLProviderFactory.class, method =
"insertGroupMeta")
void insertGroupMeta(@Param("groupMeta") GroupPO groupPO);
diff --git
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/GroupRoleRelMapper.java
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/GroupRoleRelMapper.java
index a40ee8daae..71213dc445 100644
---
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/GroupRoleRelMapper.java
+++
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/GroupRoleRelMapper.java
@@ -60,12 +60,12 @@ public interface GroupRoleRelMapper {
@UpdateProvider(
type = GroupRoleRelSQLProviderFactory.class,
method = "softDeleteGroupRoleRelByMetalakeId")
- void softDeleteGroupRoleRelByMetalakeId(Long metalakeId);
+ void softDeleteGroupRoleRelByMetalakeId(@Param("metalakeId") Long
metalakeId);
@UpdateProvider(
type = GroupRoleRelSQLProviderFactory.class,
method = "softDeleteGroupRoleRelByRoleId")
- void softDeleteGroupRoleRelByRoleId(Long roleId);
+ void softDeleteGroupRoleRelByRoleId(@Param("roleId") Long roleId);
@UpdateProvider(
type = GroupRoleRelSQLProviderFactory.class,
diff --git
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/GroupRoleRelSQLProviderFactory.java
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/GroupRoleRelSQLProviderFactory.java
index 0a0ebe52d5..11d937e63d 100644
---
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/GroupRoleRelSQLProviderFactory.java
+++
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/GroupRoleRelSQLProviderFactory.java
@@ -71,11 +71,11 @@ public class GroupRoleRelSQLProviderFactory {
return getProvider().softDeleteGroupRoleRelByGroupAndRoles(groupId,
roleIds);
}
- public static String softDeleteGroupRoleRelByMetalakeId(Long metalakeId) {
+ public static String softDeleteGroupRoleRelByMetalakeId(@Param("metalakeId")
Long metalakeId) {
return getProvider().softDeleteGroupRoleRelByMetalakeId(metalakeId);
}
- public static String softDeleteGroupRoleRelByRoleId(Long roleId) {
+ public static String softDeleteGroupRoleRelByRoleId(@Param("roleId") Long
roleId) {
return getProvider().softDeleteGroupRoleRelByRoleId(roleId);
}
diff --git
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/JobTemplateMetaMapper.java
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/JobTemplateMetaMapper.java
index 40e1100520..09f5d52f62 100644
---
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/JobTemplateMetaMapper.java
+++
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/JobTemplateMetaMapper.java
@@ -78,7 +78,7 @@ public interface JobTemplateMetaMapper {
@Param("metalakeId") long metalakeId, @Param("jobTemplateName") String
jobTemplateName);
@SelectProvider(type = JobTemplateMetaSQLProviderFactory.class, method =
"selectJobTemplateById")
- JobTemplatePO selectJobTemplateById(Long jobTemplateId);
+ JobTemplatePO selectJobTemplateById(@Param("jobTemplateId") Long
jobTemplateId);
@SelectProvider(
type = JobTemplateMetaSQLProviderFactory.class,
diff --git
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/RoleMetaMapper.java
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/RoleMetaMapper.java
index 8f02201310..e32cdbeec5 100644
---
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/RoleMetaMapper.java
+++
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/RoleMetaMapper.java
@@ -56,7 +56,7 @@ public interface RoleMetaMapper {
List<RolePO> listRolesByUserId(@Param("userId") Long userId);
@SelectProvider(type = RoleMetaSQLProviderFactory.class, method =
"listRolesByGroupId")
- List<RolePO> listRolesByGroupId(Long groupId);
+ List<RolePO> listRolesByGroupId(@Param("groupId") Long groupId);
@SelectProvider(
type = RoleMetaSQLProviderFactory.class,
@@ -81,7 +81,7 @@ public interface RoleMetaMapper {
@Param("newRoleMeta") RolePO newRolePO, @Param("oldRoleMeta") RolePO
oldRolePO);
@UpdateProvider(type = RoleMetaSQLProviderFactory.class, method =
"softDeleteRoleMetaByRoleId")
- void softDeleteRoleMetaByRoleId(Long roleId);
+ void softDeleteRoleMetaByRoleId(@Param("roleId") Long roleId);
@UpdateProvider(
type = RoleMetaSQLProviderFactory.class,
diff --git
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/RoleMetaSQLProviderFactory.java
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/RoleMetaSQLProviderFactory.java
index b101af552c..04eb348d87 100644
---
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/RoleMetaSQLProviderFactory.java
+++
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/RoleMetaSQLProviderFactory.java
@@ -63,7 +63,7 @@ public class RoleMetaSQLProviderFactory {
return getProvider().listRolesByUserId(userId);
}
- public static String listRolesByGroupId(Long groupId) {
+ public static String listRolesByGroupId(@Param("groupId") Long groupId) {
return getProvider().listRolesByGroupId(groupId);
}
@@ -89,7 +89,7 @@ public class RoleMetaSQLProviderFactory {
return getProvider().updateRoleMeta(newRolePO, oldRolePO);
}
- public static String softDeleteRoleMetaByRoleId(Long roleId) {
+ public static String softDeleteRoleMetaByRoleId(@Param("roleId") Long
roleId) {
return getProvider().softDeleteRoleMetaByRoleId(roleId);
}
diff --git
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/GroupMetaBaseSQLProvider.java
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/GroupMetaBaseSQLProvider.java
index 1e5bc194cb..f4870a1cb5 100644
---
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/GroupMetaBaseSQLProvider.java
+++
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/GroupMetaBaseSQLProvider.java
@@ -47,7 +47,7 @@ public class GroupMetaBaseSQLProvider {
+ " AND gt.deleted_at = 0 AND mt.deleted_at = 0";
}
- public String listExtendedGroupPOsByMetalakeId(Long metalakeId) {
+ public String listExtendedGroupPOsByMetalakeId(@Param("metalakeId") Long
metalakeId) {
return "SELECT gt.group_id as groupId, gt.group_name as groupName,"
+ " gt.metalake_id as metalakeId,"
+ " gt.audit_info as auditInfo,"
diff --git
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/GroupRoleRelBaseSQLProvider.java
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/GroupRoleRelBaseSQLProvider.java
index 5fb5644dcc..ab0347cba7 100644
---
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/GroupRoleRelBaseSQLProvider.java
+++
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/GroupRoleRelBaseSQLProvider.java
@@ -97,7 +97,7 @@ public class GroupRoleRelBaseSQLProvider {
+ "</script>";
}
- public String softDeleteGroupRoleRelByMetalakeId(Long metalakeId) {
+ public String softDeleteGroupRoleRelByMetalakeId(@Param("metalakeId") Long
metalakeId) {
return "UPDATE "
+ GROUP_ROLE_RELATION_TABLE_NAME
+ " SET deleted_at = (UNIX_TIMESTAMP() * 1000.0)"
@@ -108,7 +108,7 @@ public class GroupRoleRelBaseSQLProvider {
+ " AND deleted_at = 0";
}
- public String softDeleteGroupRoleRelByRoleId(Long roleId) {
+ public String softDeleteGroupRoleRelByRoleId(@Param("roleId") Long roleId) {
return "UPDATE "
+ GROUP_ROLE_RELATION_TABLE_NAME
+ " SET deleted_at = (UNIX_TIMESTAMP() * 1000.0)"
diff --git
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/RoleMetaBaseSQLProvider.java
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/RoleMetaBaseSQLProvider.java
index d534f2ff16..1035665d5e 100644
---
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/RoleMetaBaseSQLProvider.java
+++
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/RoleMetaBaseSQLProvider.java
@@ -63,7 +63,7 @@ public class RoleMetaBaseSQLProvider {
+ " AND ro.deleted_at = 0 AND re.deleted_at = 0";
}
- public String listRolesByGroupId(Long groupId) {
+ public String listRolesByGroupId(@Param("groupId") Long groupId) {
return "SELECT ro.role_id as roleId, ro.role_name as roleName,"
+ " ro.metalake_id as metalakeId, ro.properties as properties,"
+ " ro.audit_info as auditInfo, ro.current_version as currentVersion,"
@@ -170,7 +170,7 @@ public class RoleMetaBaseSQLProvider {
+ " AND deleted_at = 0";
}
- public String softDeleteRoleMetaByRoleId(Long roleId) {
+ public String softDeleteRoleMetaByRoleId(@Param("roleId") Long roleId) {
return "UPDATE "
+ ROLE_TABLE_NAME
+ " SET deleted_at = (UNIX_TIMESTAMP() * 1000.0)"
diff --git
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/postgresql/GroupMetaPostgreSQLProvider.java
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/postgresql/GroupMetaPostgreSQLProvider.java
index 464c137e72..5465c802d8 100644
---
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/postgresql/GroupMetaPostgreSQLProvider.java
+++
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/postgresql/GroupMetaPostgreSQLProvider.java
@@ -69,7 +69,7 @@ public class GroupMetaPostgreSQLProvider extends
GroupMetaBaseSQLProvider {
}
@Override
- public String listExtendedGroupPOsByMetalakeId(Long metalakeId) {
+ public String listExtendedGroupPOsByMetalakeId(@Param("metalakeId") Long
metalakeId) {
return "SELECT gt.group_id as groupId, gt.group_name as groupName,"
+ " gt.metalake_id as metalakeId,"
+ " gt.audit_info as auditInfo,"
diff --git
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/postgresql/GroupRoleRelPostgreSQLProvider.java
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/postgresql/GroupRoleRelPostgreSQLProvider.java
index e5ee7d4c18..040f17dfc3 100644
---
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/postgresql/GroupRoleRelPostgreSQLProvider.java
+++
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/postgresql/GroupRoleRelPostgreSQLProvider.java
@@ -50,7 +50,7 @@ public class GroupRoleRelPostgreSQLProvider extends
GroupRoleRelBaseSQLProvider
}
@Override
- public String softDeleteGroupRoleRelByMetalakeId(Long metalakeId) {
+ public String softDeleteGroupRoleRelByMetalakeId(@Param("metalakeId") Long
metalakeId) {
return "UPDATE "
+ GROUP_ROLE_RELATION_TABLE_NAME
+ " SET deleted_at = CAST(EXTRACT(EPOCH FROM CURRENT_TIMESTAMP) * 1000
AS BIGINT)"
@@ -61,7 +61,7 @@ public class GroupRoleRelPostgreSQLProvider extends
GroupRoleRelBaseSQLProvider
}
@Override
- public String softDeleteGroupRoleRelByRoleId(Long roleId) {
+ public String softDeleteGroupRoleRelByRoleId(@Param("roleId") Long roleId) {
return "UPDATE "
+ GROUP_ROLE_RELATION_TABLE_NAME
+ " SET deleted_at = CAST(EXTRACT(EPOCH FROM CURRENT_TIMESTAMP) * 1000
AS BIGINT)"
diff --git
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/postgresql/RoleMetaPostgreSQLProvider.java
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/postgresql/RoleMetaPostgreSQLProvider.java
index 1dbdcac450..676b3e47fe 100644
---
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/postgresql/RoleMetaPostgreSQLProvider.java
+++
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/postgresql/RoleMetaPostgreSQLProvider.java
@@ -26,7 +26,7 @@ import org.apache.ibatis.annotations.Param;
public class RoleMetaPostgreSQLProvider extends RoleMetaBaseSQLProvider {
@Override
- public String softDeleteRoleMetaByRoleId(Long roleId) {
+ public String softDeleteRoleMetaByRoleId(@Param("roleId") Long roleId) {
return "UPDATE "
+ ROLE_TABLE_NAME
+ " SET deleted_at = CAST(EXTRACT(EPOCH FROM CURRENT_TIMESTAMP) * 1000
AS BIGINT)"