This is an automated email from the ASF dual-hosted git repository.
yuqi4733 pushed a commit to branch branch-1.2
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/branch-1.2 by this push:
new 13d9728139 [Cherry-pick to branch-1.2] [#10380] fix(common): default
ifExists when deleting table index (#10382) (#10419)
13d9728139 is described below
commit 13d9728139e89a463a4da326dd88f429593ef2ee
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Mar 13 09:23:21 2026 +0800
[Cherry-pick to branch-1.2] [#10380] fix(common): default ifExists when
deleting table index (#10382) (#10419)
**Cherry-pick Information:**
- Original commit: 4c20f481e90edf0c23430fb293ebae107900b1e7
- Target branch: `branch-1.2`
- Status: ✅ Clean cherry-pick (no conflicts)
Co-authored-by: Qi Yu <[email protected]>
Co-authored-by: Copilot <[email protected]>
---
.../org/apache/gravitino/dto/requests/TableUpdateRequest.java | 11 +++++++----
.../gravitino/dto/requests/TestTableUpdatesRequest.java | 10 ++++++++++
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git
a/common/src/main/java/org/apache/gravitino/dto/requests/TableUpdateRequest.java
b/common/src/main/java/org/apache/gravitino/dto/requests/TableUpdateRequest.java
index c6e58bbd98..eb02c4cfe8 100644
---
a/common/src/main/java/org/apache/gravitino/dto/requests/TableUpdateRequest.java
+++
b/common/src/main/java/org/apache/gravitino/dto/requests/TableUpdateRequest.java
@@ -844,7 +844,10 @@ public interface TableUpdateRequest extends RESTRequest {
}
}
- /** Represents a request to delete an index from a table. */
+ /**
+ * Represents a request to delete an index from a table. If `ifExists` is
null, it will be treated
+ * as false, which means the request will fail if the index does not exist.
+ */
@EqualsAndHashCode
@ToString
class DeleteTableIndexRequest implements TableUpdateRequest {
@@ -852,8 +855,8 @@ public interface TableUpdateRequest extends RESTRequest {
@JsonProperty("name")
private String name;
- @JsonProperty("ifExists")
- private Boolean ifExists;
+ @JsonProperty(value = "ifExists", defaultValue = "false")
+ private boolean ifExists;
/** Default constructor for Jackson deserialization. */
public DeleteTableIndexRequest() {}
@@ -866,7 +869,7 @@ public interface TableUpdateRequest extends RESTRequest {
*/
public DeleteTableIndexRequest(String name, Boolean ifExists) {
this.name = name;
- this.ifExists = ifExists;
+ this.ifExists = ifExists != null && ifExists;
}
/**
diff --git
a/common/src/test/java/org/apache/gravitino/dto/requests/TestTableUpdatesRequest.java
b/common/src/test/java/org/apache/gravitino/dto/requests/TestTableUpdatesRequest.java
index cb4dcfd819..dde4bab474 100644
---
a/common/src/test/java/org/apache/gravitino/dto/requests/TestTableUpdatesRequest.java
+++
b/common/src/test/java/org/apache/gravitino/dto/requests/TestTableUpdatesRequest.java
@@ -26,6 +26,7 @@ import java.util.List;
import org.apache.gravitino.dto.rel.expressions.LiteralDTO;
import org.apache.gravitino.json.JsonUtils;
import org.apache.gravitino.rel.TableChange;
+import org.apache.gravitino.rel.TableChange.DeleteIndex;
import org.apache.gravitino.rel.indexes.Index;
import org.apache.gravitino.rel.indexes.Indexes;
import org.apache.gravitino.rel.types.Types;
@@ -308,6 +309,15 @@ public class TestTableUpdatesRequest {
expected =
"{\"@type\":\"deleteTableIndex\",\"name\":\"uk_2\",\"ifExists\":true}";
Assertions.assertEquals(
JsonUtils.objectMapper().readTree(expected),
JsonUtils.objectMapper().readTree(jsonString));
+
+ deleteTableIndexRequest =
+ JsonUtils.objectMapper()
+ .readValue(
+ "{\"@type\":\"deleteTableIndex\",\"name\":\"uk_3\"}",
+ TableUpdateRequest.DeleteTableIndexRequest.class);
+ DeleteIndex deleteIndex = (DeleteIndex)
deleteTableIndexRequest.tableChange();
+ Assertions.assertEquals("uk_3", deleteIndex.getName());
+ Assertions.assertFalse(deleteIndex.isIfExists());
}
@Test