# HG changeset patch
# User Pedro Ferreira <pedro.ferreira@monetdbsolutions.com>
# Date 1479741508 -3600
# Node ID 9108ad9e5287eb14c42f686206fd585b9ae3df0d
# Parent  6617eaf808cb3852602f5dd22abe383aac533eb2
Be careful with copying and pasting code!

diff --git a/src/main/java/nl/cwi/monetdb/embedded/resultset/AbstractQueryResultSetColumn.java b/src/main/java/nl/cwi/monetdb/embedded/resultset/AbstractQueryResultSetColumn.java
--- a/src/main/java/nl/cwi/monetdb/embedded/resultset/AbstractQueryResultSetColumn.java
+++ b/src/main/java/nl/cwi/monetdb/embedded/resultset/AbstractQueryResultSetColumn.java
@@ -11,8 +11,6 @@ package nl.cwi.monetdb.embedded.resultse
 import nl.cwi.monetdb.embedded.env.MonetDBEmbeddedException;
 import nl.cwi.monetdb.embedded.mapping.AbstractColumn;
 
-import java.lang.reflect.ParameterizedType;
-
 /**
  * An abstract class for accessing materialised (Java-level) query result columns.
  *
@@ -49,10 +47,6 @@ public abstract class AbstractQueryResul
 	protected AbstractQueryResultSetColumn(String columnType, long tablePointer, int resultSetIndex, String columnName,
                                            int columnDigits, int columnScale, int numberOfRows) {
         super(columnType, columnName, columnDigits, columnScale);
-        Class<?> param = (Class<?>) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0];
-        if(!param.isArray()) {
-            throw new ClassCastException("The parameter must be of array type!!");
-        }
         this.tablePointer = tablePointer;
         this.resultSetIndex = resultSetIndex;
         this.numberOfRows = numberOfRows;
@@ -67,7 +61,7 @@ public abstract class AbstractQueryResul
      */
     public int getNumberOfRows() { return this.numberOfRows; }
 
-    protected abstract void fetchMoreData(int startIndex, int endIndex) throws MonetDBEmbeddedException;
+    protected abstract void fetchMoreData(int startIndex, int numberOfRowsToRetrieve) throws MonetDBEmbeddedException;
 
     protected abstract A storeNewDataAndGetResult(int startIndex, int numberOfRowsToRetrieve);
 
diff --git a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSet.java b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSet.java
--- a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSet.java
+++ b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSet.java
@@ -139,9 +139,7 @@ public class QueryResultSet extends Abst
      * @param index AbstractQueryResultSetColumn index (starting from 0)
      * @return The column
      */
-    protected AbstractQueryResultSetColumn<?> getColumnByIndex(int index) {
-        return this.columns[index];
-    }
+    public AbstractQueryResultSetColumn<?> getColumnByIndex(int index) { return this.columns[index]; }
 
     /**
      * Gets a column from the result set by name.
@@ -149,7 +147,7 @@ public class QueryResultSet extends Abst
      * @param columnName AbstractQueryResultSetColumn name
      * @return The column
      */
-    protected AbstractQueryResultSetColumn<?> getColumnByName(String columnName) {
+    public AbstractQueryResultSetColumn<?> getColumnByName(String columnName) {
         int index = this.getColumnIndexByName(columnName);
         return this.columns[index];
     }
diff --git a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetBooleanColumn.java b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetBooleanColumn.java
--- a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetBooleanColumn.java
+++ b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetBooleanColumn.java
@@ -20,7 +20,7 @@ public class QueryResultSetBooleanColumn
     /**
      * MonetDB's boolean null constant.
      */
-        private static boolean BooleanNullConstant;
+    private static boolean BooleanNullConstant;
 
     /**
      * Gets MonetDB's boolean null constant
diff --git a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetDoubleColumn.java b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetDoubleColumn.java
--- a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetDoubleColumn.java
+++ b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetDoubleColumn.java
@@ -38,7 +38,7 @@ public class QueryResultSetDoubleColumn 
                                          int columnDigits, int columnScale, int numberOfRows) {
         super(columnType, tablePointer, resultSetIndex, columnName, columnDigits, columnScale, numberOfRows);
         if(!this.getMapping().getJavaClass().equals(Double.class)) {
-            throw new ClassCastException("The parameter must be of boolean type!!");
+            throw new ClassCastException("The parameter must be of double type!!");
         }
         this.values = new double[numberOfRows];
     }
diff --git a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetFloatColumn.java b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetFloatColumn.java
--- a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetFloatColumn.java
+++ b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetFloatColumn.java
@@ -38,7 +38,7 @@ public class QueryResultSetFloatColumn e
                                         int columnDigits, int columnScale, int numberOfRows) {
         super(columnType, tablePointer, resultSetIndex, columnName, columnDigits, columnScale, numberOfRows);
         if(!this.getMapping().getJavaClass().equals(Float.class)) {
-            throw new ClassCastException("The parameter must be of boolean type!!");
+            throw new ClassCastException("The parameter must be of float type!!");
         }
         this.values = new float[numberOfRows];
     }
diff --git a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetLongColumn.java b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetLongColumn.java
--- a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetLongColumn.java
+++ b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetLongColumn.java
@@ -38,7 +38,7 @@ public class QueryResultSetLongColumn ex
                                        int columnDigits, int columnScale, int numberOfRows) {
         super(columnType, tablePointer, resultSetIndex, columnName, columnDigits, columnScale, numberOfRows);
         if(!this.getMapping().getJavaClass().equals(Long.class)) {
-            throw new ClassCastException("The parameter must be of boolean type!!");
+            throw new ClassCastException("The parameter must be of long type!!");
         }
         this.values = new long[numberOfRows];
     }
diff --git a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetShortColumn.java b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetShortColumn.java
--- a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetShortColumn.java
+++ b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetShortColumn.java
@@ -20,14 +20,14 @@ public class QueryResultSetShortColumn e
     /**
      * MonetDB's short null constant.
      */
-    private static long ShortNullConstant;
+    private static short ShortNullConstant;
 
     /**
      * Gets MonetDB's short null constant
      *
      * @return MonetDB's short null constant
      */
-    public static long GetShortNullConstant() { return ShortNullConstant; }
+    public static short GetShortNullConstant() { return ShortNullConstant; }
 
     /**
      * Array with the retrieved values.