Changeset: 9c96fa4aa3f2 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9c96fa4aa3f2
Modified Files:
        java/embedded/org_monetdb_embedded_result_EmbeddedQueryResult.c
        
java/embedded/src/main/java/org/monetdb/embedded/result/column/IntegerColumn.java
        java/embedded/src/test/java/org/monetdb/embedded/test/EmbeddedTest.java
Branch: embedded-java
Log Message:

Fix IntergerColumn null values logic


diffs (66 lines):

diff --git a/java/embedded/org_monetdb_embedded_result_EmbeddedQueryResult.c 
b/java/embedded/org_monetdb_embedded_result_EmbeddedQueryResult.c
--- a/java/embedded/org_monetdb_embedded_result_EmbeddedQueryResult.c
+++ b/java/embedded/org_monetdb_embedded_result_EmbeddedQueryResult.c
@@ -36,6 +36,7 @@ JNIEXPORT jobject JNICALL Java_org_monet
        if (b->T->nonil && !b->T->nil) {
                for (i = 0; i < size; i++) {
                        val_tmp[i] = (int) ((int*) Tloc(b, BUNfirst(b)))[i];
+                       nul_tmp[i] = false;
                }
        }
        else {
@@ -43,11 +44,10 @@ JNIEXPORT jobject JNICALL Java_org_monet
                        int v = ((int*) Tloc(b, BUNfirst(b)))[i];
                        if (v == INT_MIN) {
                                val_tmp[i] = 0;
-                               nul_tmp[i] = JNI_TRUE;
-
+                               nul_tmp[i] = true;
                        } else {
                                val_tmp[i] = (int)v;
-                               nul_tmp[i] = JNI_FALSE;
+                               nul_tmp[i] = false;
                        }
                }
        }
diff --git 
a/java/embedded/src/main/java/org/monetdb/embedded/result/column/IntegerColumn.java
 
b/java/embedded/src/main/java/org/monetdb/embedded/result/column/IntegerColumn.java
--- 
a/java/embedded/src/main/java/org/monetdb/embedded/result/column/IntegerColumn.java
+++ 
b/java/embedded/src/main/java/org/monetdb/embedded/result/column/IntegerColumn.java
@@ -22,7 +22,7 @@ public class IntegerColumn extends Colum
 
        @Override
        public Integer getVaule(int index) {
-               if (isNullValue(index) || index <= columnSize()) {
+               if (isNullValue(index) || index < 0 || index >= columnSize()) {
                        return null;
                }
                return Integer.valueOf(values[index]);
diff --git 
a/java/embedded/src/test/java/org/monetdb/embedded/test/EmbeddedTest.java 
b/java/embedded/src/test/java/org/monetdb/embedded/test/EmbeddedTest.java
--- a/java/embedded/src/test/java/org/monetdb/embedded/test/EmbeddedTest.java
+++ b/java/embedded/src/test/java/org/monetdb/embedded/test/EmbeddedTest.java
@@ -32,10 +32,10 @@ public class EmbeddedTest {
                MonetDBEmbedded db = new MonetDBEmbedded(directory);
                db.startup(false);
 
-               db.query("CREATE TABLE world (id integer, val integer)");
-               db.query("INSERT INTO world VALUES (1, 10), (2, 20), (3, 30)");
+               db.query("CREATE TABLE world (id integer, val integer);");
+               db.query("INSERT INTO world VALUES (1, 10), (2, 20), (3, 30);");
 
-               EmbeddedQueryResult result = db.query("SELECT * FROM world");
+               EmbeddedQueryResult result = db.query("SELECT * FROM world;");
                assertEquals(3, result.getColumn(1).columnSize());
 
                result.close();
@@ -50,9 +50,9 @@ public class EmbeddedTest {
                MonetDBEmbedded db = new MonetDBEmbedded(directory);
                db.startup(false);
 
-               EmbeddedQueryResult result = db.query("SELECT 1");
-//             EmbeddedQueryResult result = db.query("SELECT * FROM world");
+               EmbeddedQueryResult result = db.query("SELECT * FROM world;");
                assertEquals(3, result.getColumn(1).columnSize());
+               assertEquals(20, result.getColumn(1).getVaule(1));
 
                result.close();
        }
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to