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