lowka commented on code in PR #3910:
URL: https://github.com/apache/ignite-3/pull/3910#discussion_r1636446977
##########
modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItDmlTest.java:
##########
@@ -596,12 +598,55 @@ private void checkDefaultValue(List<DefaultValueArg>
args) {
@Test
public void testCheckNullValueErrorMessageForColumnWithDefaultValue() {
+ // F221: Explicit defaults
sql("CREATE TABLE tbl(key int DEFAULT 9 primary key, val varchar)");
var expectedMessage = "Column 'KEY' does not allow NULLs";
assertThrowsSqlException(Sql.CONSTRAINT_VIOLATION_ERR,
expectedMessage, () -> sql("INSERT INTO tbl (key, val) VALUES (NULL,'AA')"));
}
+
+ // UPDATE set x = DEFAULT is not supported in parser
+ @Disabled("https://issues.apache.org/jira/browse/IGNITE-21462")
+ @Test
+ public void testUpdateAllowsDefault() {
+ // F221: Explicit defaults
+ for (var arg : defaultValueArgs().collect(Collectors.toList())) {
+ try {
+ sql(format("CREATE TABLE test (id INT PRIMARY KEY, val %s
DEFAULT %s)", arg.sqlType, arg.sqlVal));
+ sql("INSERT INTO test (id, val) VALUES (1, NULL)");
+
+ sql("UPDATE test SET val = DEFAULT WHERE id = 1");
+ assertQuery("SELECT val FROM test WHERE id =
1").returns(arg.expectedVal).check();
+ } finally {
+ sql("DROP TABLE IF EXISTS test");
+ }
+ }
+ }
+
+ @Test
+ public void testDropDefault() {
+ // F221: Explicit defaults
+ for (var arg : defaultValueArgs().collect(Collectors.toList())) {
Review Comment:
All types have a NOT NULL variant.
##########
modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItDmlTest.java:
##########
@@ -596,12 +598,55 @@ private void checkDefaultValue(List<DefaultValueArg>
args) {
@Test
public void testCheckNullValueErrorMessageForColumnWithDefaultValue() {
+ // F221: Explicit defaults
sql("CREATE TABLE tbl(key int DEFAULT 9 primary key, val varchar)");
var expectedMessage = "Column 'KEY' does not allow NULLs";
assertThrowsSqlException(Sql.CONSTRAINT_VIOLATION_ERR,
expectedMessage, () -> sql("INSERT INTO tbl (key, val) VALUES (NULL,'AA')"));
}
+
+ // UPDATE set x = DEFAULT is not supported in parser
+ @Disabled("https://issues.apache.org/jira/browse/IGNITE-21462")
+ @Test
+ public void testUpdateAllowsDefault() {
+ // F221: Explicit defaults
+ for (var arg : defaultValueArgs().collect(Collectors.toList())) {
Review Comment:
Fixed.
##########
modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItDmlTest.java:
##########
@@ -596,12 +598,55 @@ private void checkDefaultValue(List<DefaultValueArg>
args) {
@Test
public void testCheckNullValueErrorMessageForColumnWithDefaultValue() {
+ // F221: Explicit defaults
Review Comment:
Done.
--
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]