changeset 50:3b97ec05f6b1 embedded

Java classes to tables import working!!!
author Pedro Ferreira <pedro.ferreira@monetdbsolutions.com>
date Tue, 15 Nov 2016 13:18:35 +0100 (2016-11-15)
parents 8217f77fcf6b
children c592d8a72627
files src/main/java/nl/cwi/monetdb/embedded/tables/MonetDBTable.java
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/nl/cwi/monetdb/embedded/tables/MonetDBTable.java
+++ b/src/main/java/nl/cwi/monetdb/embedded/tables/MonetDBTable.java
@@ -36,6 +36,9 @@ public class MonetDBTable extends Abstra
      */
     private long connectionPointer;
 
+    /**
+     * These arrays are used for table imports.
+     */
     private final int[] columnsJavaIndexes;
     private final int[] columnsMonetDBIndexes;
     private final String[] columnsNames;
@@ -54,8 +57,8 @@ public class MonetDBTable extends Abstra
         this.columnsClasses = new Class[columns.length];
         int i = 0;
         for(MonetDBTableColumn col : this.columns) {
-            this.columnsJavaIndexes[i] = col.getInternalMonetDBTypeIndex();
-            this.columnsMonetDBIndexes[i] = col.getMapping().ordinal();
+            this.columnsJavaIndexes[i] = col.getMapping().ordinal();
+            this.columnsMonetDBIndexes[i] = col.getInternalMonetDBTypeIndex();
             this.columnsNames[i] = col.getColumnName();
             this.columnsClasses[i] = col.getMapping().getJavaClass();
             i++;
@@ -78,7 +81,7 @@ public class MonetDBTable extends Abstra
      */
     @Override
     public int getNumberOfRows() {
-        int res = -1;
+        int res;
         try {
             String query = "SELECT COUNT(*) FROM " + this.schemaName + "." + this.tableName + ";";
             QueryResultSet eqr = this.getConnection().sendQuery(query);
@@ -86,6 +89,7 @@ public class MonetDBTable extends Abstra
             res = eqc.fetchFirstNColumnValues(1)[0].intValue();
             eqr.close();
         } catch (MonetDBEmbeddedException ex) {
+            res = -1;
         }
         return res;
     }
@@ -360,7 +364,7 @@ public class MonetDBTable extends Abstra
      * Internal implementation of columns insertion.
      */
     private native int appendColumnsInternal(long connectionPointer, String schemaName, String tableName,
-                                             int[] monetDBindexes, int[] javaindexes, String[] columnsNames,
+                                             int[] javaindexes, int[] monetDBindexes, String[] columnsNames,
                                              Class[] classes, Object[][] columns)
             throws MonetDBEmbeddedException;
 }