IGNITE-6396: JDBC thin driver: added test for error code for NOT NULL 
violation. This closes #2681.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8f3c5097
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8f3c5097
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8f3c5097

Branch: refs/heads/ignite-3478
Commit: 8f3c5097b5732d10ec19a1de3d346754befa10a2
Parents: 2d848c9
Author: Sergey Kalashnikov <skalashni...@gridgain.com>
Authored: Mon Sep 18 14:54:40 2017 +0300
Committer: devozerov <voze...@gridgain.com>
Committed: Mon Sep 18 14:54:40 2017 +0300

----------------------------------------------------------------------
 .../jdbc/thin/JdbcThinErrorsSelfTest.java       | 27 ++++++++++++++++++++
 1 file changed, 27 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/8f3c5097/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinErrorsSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinErrorsSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinErrorsSelfTest.java
index 706be27..7796948 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinErrorsSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinErrorsSelfTest.java
@@ -25,6 +25,7 @@ import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.sql.Statement;
 import java.sql.Time;
 import java.sql.Timestamp;
 import java.util.List;
@@ -464,4 +465,30 @@ public class JdbcThinErrorsSelfTest extends 
JdbcErrorsAbstractSelfTest {
             }
         }, "0700B");
     }
+
+    /**
+     * Check error code for the case null value is inserted into table field 
declared as NOT NULL.
+     *
+     * @throws SQLException if failed.
+     */
+    public void testNotNullViolation() throws SQLException {
+        try (Connection conn = getConnection()) {
+            try (Statement stmt = conn.createStatement()) {
+                stmt.execute("CREATE TABLE nulltest(id INT PRIMARY KEY, name 
CHAR NOT NULL)");
+
+                try {
+                    checkErrorState(new IgniteCallable<Void>() {
+                        @Override public Void call() throws Exception {
+                            stmt.execute("INSERT INTO nulltest(id, name) 
VALUES (1, NULLIF('a', 'a'))");
+
+                            return null;
+                        }
+                    }, "22004");
+                }
+                finally {
+                    stmt.execute("DROP TABLE nulltest");
+                }
+            }
+        }
+    }
 }

Reply via email to