Changeset: 6325594f01af for monetdb-java
URL: http://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=6325594f01af
Added Files:
        
src/main/java/nl/cwi/monetdb/mcl/connection/AbstractMonetDBConnection.java
        src/main/java/nl/cwi/monetdb/mcl/connection/DeleteMe.java
        src/main/java/nl/cwi/monetdb/mcl/connection/EmbeddedMonetDB.java
        src/main/java/nl/cwi/monetdb/mcl/connection/MapiConnection.java
        src/main/java/nl/cwi/monetdb/mcl/connection/MonetDBLanguage.java
        src/main/java/nl/cwi/monetdb/mcl/io/InternalConnection.java
        src/main/java/nl/cwi/monetdb/mcl/io/SocketConnection.java
        src/main/java/nl/cwi/monetdb/mcl/io/SocketIOHandler.java
        src/main/java/nl/cwi/monetdb/mcl/protocol/AbstractProtocolParser.java
        src/main/java/nl/cwi/monetdb/mcl/protocol/ServerResponses.java
        src/main/java/nl/cwi/monetdb/mcl/protocol/StarterHeaders.java
        src/main/java/nl/cwi/monetdb/mcl/protocol/TableResultHeaders.java
        src/main/java/nl/cwi/monetdb/mcl/protocol/embedded/EmbeddedProtocol.java
        src/main/java/nl/cwi/monetdb/mcl/protocol/newmapi/NewMapiProtocol.java
        src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiConverter.java
        src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiProtocol.java
Removed Files:
        src/main/java/nl/cwi/monetdb/mcl/net/AbstractMCLConnection.java
        src/main/java/nl/cwi/monetdb/mcl/net/EmbeddedMonetDB.java
        src/main/java/nl/cwi/monetdb/mcl/net/MapiSocket.java
Modified Files:
        example/SQLcopyinto.java
        src/main/java/nl/cwi/monetdb/embedded/env/MonetDBEmbeddedConnection.java
        src/main/java/nl/cwi/monetdb/embedded/env/MonetDBEmbeddedDatabase.java
        src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSet.java
        
src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetBooleanColumn.java
        
src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetByteColumn.java
        
src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetDoubleColumn.java
        
src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetFloatColumn.java
        
src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetIntColumn.java
        
src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetLongColumn.java
        
src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetObjectColumn.java
        
src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetShortColumn.java
        src/main/java/nl/cwi/monetdb/embedded/tables/MonetDBTable.java
        src/main/java/nl/cwi/monetdb/embedded/tables/RowIterator.java
        src/main/java/nl/cwi/monetdb/jdbc/MonetBlob.java
        src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java
        src/main/java/nl/cwi/monetdb/jdbc/MonetStatement.java
        src/main/java/nl/cwi/monetdb/mcl/io/AbstractMCLReader.java
        src/main/java/nl/cwi/monetdb/mcl/io/BufferedMCLReader.java
        src/main/java/nl/cwi/monetdb/mcl/io/BufferedMCLWriter.java
        src/main/java/nl/cwi/monetdb/mcl/io/EmbeddedMCLReader.java
        src/main/java/nl/cwi/monetdb/mcl/io/EmbeddedMCLWriter.java
        src/main/java/nl/cwi/monetdb/mcl/parser/MCLParser.java
        src/main/java/nl/cwi/monetdb/mcl/parser/StartOfHeaderParser.java
        
src/main/java/nl/cwi/monetdb/mcl/parser/embedded/EmbeddedHeaderLineParser.java
        
src/main/java/nl/cwi/monetdb/mcl/parser/embedded/EmbeddedStartOfHeaderParser.java
        
src/main/java/nl/cwi/monetdb/mcl/parser/socket/SocketHeaderLineParser.java
        src/main/java/nl/cwi/monetdb/merovingian/Control.java
        src/main/java/nl/cwi/monetdb/util/SQLRestore.java
Branch: embedded
Log Message:

Lots of cleaning, but still a long way to go.


diffs (truncated from 3455 to 300 lines):

diff --git a/example/SQLcopyinto.java b/example/SQLcopyinto.java
--- a/example/SQLcopyinto.java
+++ b/example/SQLcopyinto.java
@@ -10,9 +10,9 @@ import java.sql.*;
 import java.io.*;
 import java.util.*;
 
+import nl.cwi.monetdb.mcl.connection.DeleteMe;
 import nl.cwi.monetdb.mcl.io.AbstractMCLReader;
 import nl.cwi.monetdb.mcl.io.AbstractMCLWriter;
-import nl.cwi.monetdb.mcl.net.*;
 
 /**
  * This example demonstrates how the MonetDB JDBC driver can facilitate
@@ -47,7 +47,7 @@ public class SQLcopyinto {
                // of course also be done simultaneously with the JDBC
                // connection being kept connected
 
-               MapiSocket server = new MapiSocket("localhost", 50000, 
"monetdb", "monetdb", false, "sql", "SHA256");
+               DeleteMe server = new DeleteMe("localhost", 50000, "monetdb", 
"monetdb", false, "sql", "SHA256");
 
                server.setDatabase("database");
                server.setLanguage("sql");
diff --git 
a/src/main/java/nl/cwi/monetdb/embedded/env/MonetDBEmbeddedConnection.java 
b/src/main/java/nl/cwi/monetdb/embedded/env/MonetDBEmbeddedConnection.java
--- a/src/main/java/nl/cwi/monetdb/embedded/env/MonetDBEmbeddedConnection.java
+++ b/src/main/java/nl/cwi/monetdb/embedded/env/MonetDBEmbeddedConnection.java
@@ -22,7 +22,7 @@ import java.util.concurrent.ConcurrentHa
  *
  * @author <a href="mailto:pedro.ferre...@monetdbsolutions.com";>Pedro 
Ferreira</a>
  */
-public class MonetDBEmbeddedConnection implements IEmbeddedConnection {
+public final class MonetDBEmbeddedConnection implements IEmbeddedConnection {
 
        private final long connectionPointer;
 
diff --git 
a/src/main/java/nl/cwi/monetdb/embedded/env/MonetDBEmbeddedDatabase.java 
b/src/main/java/nl/cwi/monetdb/embedded/env/MonetDBEmbeddedDatabase.java
--- a/src/main/java/nl/cwi/monetdb/embedded/env/MonetDBEmbeddedDatabase.java
+++ b/src/main/java/nl/cwi/monetdb/embedded/env/MonetDBEmbeddedDatabase.java
@@ -8,7 +8,8 @@
 
 package nl.cwi.monetdb.embedded.env;
 
-import nl.cwi.monetdb.mcl.net.EmbeddedMonetDB;
+import nl.cwi.monetdb.mcl.connection.EmbeddedMonetDB;
+import nl.cwi.monetdb.mcl.io.InternalConnection;
 
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -21,7 +22,7 @@ import java.util.concurrent.ConcurrentHa
  *
  * @author <a href="mailto:pedro.ferre...@monetdbsolutions.com";>Pedro 
Ferreira</a>
  */
-public class MonetDBEmbeddedDatabase {
+public final class MonetDBEmbeddedDatabase {
 
     private static MonetDBEmbeddedDatabase MonetDBEmbeddedDatabase = null;
 
@@ -123,7 +124,7 @@ public class MonetDBEmbeddedDatabase {
         }
     }
 
-    /**
+    /*
      * Stops the database asynchronously. All the pending connections will be 
shut down as well.
      *
      * @throws MonetDBEmbeddedException If the database is not running or an 
error in the database occurred
@@ -162,7 +163,7 @@ public class MonetDBEmbeddedDatabase {
         }
     }
 
-    /**
+    /*
      * Creates a connection on the database, set on the default schema 
asynchronously.
      *
      * @return A MonetDBEmbeddedConnection instance
@@ -172,19 +173,20 @@ public class MonetDBEmbeddedDatabase {
         return CompletableFuture.supplyAsync(() -> 
this.createConnectionInternal());
     }*/
 
-    public static void AddJDBCEmbeddedConnection(EmbeddedMonetDB con) throws 
MonetDBEmbeddedException {
+    public static InternalConnection AddJDBCEmbeddedConnection() throws 
MonetDBEmbeddedException {
         if(MonetDBEmbeddedDatabase == null) {
             throw new MonetDBEmbeddedException("The database is not running!");
         } else {
-            MonetDBEmbeddedDatabase.createJDBCConnectionInternal(con);
-            
MonetDBEmbeddedDatabase.connections.put(con.getConnectionPointer(), con);
+            InternalConnection res = 
MonetDBEmbeddedDatabase.createJDBCConnectionInternal();
+            
MonetDBEmbeddedDatabase.connections.put(res.getConnectionPointer(), res);
+            return res;
         }
     }
 
     /**
      * Removes a connection from this database.
      */
-    protected static void RemoveConnection(MonetDBEmbeddedConnection con) {
+    static void RemoveConnection(MonetDBEmbeddedConnection con) {
         MonetDBEmbeddedDatabase.connections.remove(con.getConnectionPointer());
     }
 
@@ -208,5 +210,5 @@ public class MonetDBEmbeddedDatabase {
     /**
      * Internal implementation to create a JDBC embeddded connection on this 
database.
      */
-    private native void createJDBCConnectionInternal(EmbeddedMonetDB emc) 
throws MonetDBEmbeddedException;
+    private native InternalConnection createJDBCConnectionInternal() throws 
MonetDBEmbeddedException;
 }
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
@@ -25,7 +25,7 @@ import java.util.ListIterator;
  *
  * @author <a href="mailto:pedro.ferre...@monetdbsolutions.com";>Pedro 
Ferreira</a>
  */
-public class QueryResultSet extends AbstractResultTable implements Iterable {
+public final class QueryResultSet extends AbstractResultTable implements 
Iterable {
 
     /**
      * The table C pointer.
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
@@ -15,7 +15,7 @@ import nl.cwi.monetdb.embedded.env.Monet
  *
  * @author <a href="mailto:pedro.ferre...@monetdbsolutions.com";>Pedro 
Ferreira</a>
  */
-public class QueryResultSetBooleanColumn extends 
AbstractQueryResultSetColumn<boolean[]> {
+public final class QueryResultSetBooleanColumn extends 
AbstractQueryResultSetColumn<boolean[]> {
 
     /**
      * Gets MonetDB's boolean null constant
diff --git 
a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetByteColumn.java 
b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetByteColumn.java
--- 
a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetByteColumn.java
+++ 
b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetByteColumn.java
@@ -15,7 +15,7 @@ import nl.cwi.monetdb.embedded.env.Monet
  *
  * @author <a href="mailto:pedro.ferre...@monetdbsolutions.com";>Pedro 
Ferreira</a>
  */
-public class QueryResultSetByteColumn extends 
AbstractQueryResultSetColumn<byte[]> {
+public final class QueryResultSetByteColumn extends 
AbstractQueryResultSetColumn<byte[]> {
 
     /**
      * Gets MonetDB's byte 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
@@ -15,7 +15,7 @@ import nl.cwi.monetdb.embedded.env.Monet
  *
  * @author <a href="mailto:pedro.ferre...@monetdbsolutions.com";>Pedro 
Ferreira</a>
  */
-public class QueryResultSetDoubleColumn extends 
AbstractQueryResultSetColumn<double[]> {
+public final class QueryResultSetDoubleColumn extends 
AbstractQueryResultSetColumn<double[]> {
 
     /**
      * Gets MonetDB's double null constant
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
@@ -15,7 +15,7 @@ import nl.cwi.monetdb.embedded.env.Monet
  *
  * @author <a href="mailto:pedro.ferre...@monetdbsolutions.com";>Pedro 
Ferreira</a>
  */
-public class QueryResultSetFloatColumn extends 
AbstractQueryResultSetColumn<float[]> {
+public final class QueryResultSetFloatColumn extends 
AbstractQueryResultSetColumn<float[]> {
 
     /**
      * Gets MonetDB's float null constant
diff --git 
a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetIntColumn.java 
b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetIntColumn.java
--- 
a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetIntColumn.java
+++ 
b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetIntColumn.java
@@ -15,7 +15,7 @@ import nl.cwi.monetdb.embedded.env.Monet
  *
  * @author <a href="mailto:pedro.ferre...@monetdbsolutions.com";>Pedro 
Ferreira</a>
  */
-public class QueryResultSetIntColumn extends 
AbstractQueryResultSetColumn<int[]> {
+public final class QueryResultSetIntColumn extends 
AbstractQueryResultSetColumn<int[]> {
 
     /**
      * Gets MonetDB's int null constant
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
@@ -15,7 +15,7 @@ import nl.cwi.monetdb.embedded.env.Monet
  *
  * @author <a href="mailto:pedro.ferre...@monetdbsolutions.com";>Pedro 
Ferreira</a>
  */
-public class QueryResultSetLongColumn extends 
AbstractQueryResultSetColumn<long[]> {
+public final class QueryResultSetLongColumn extends 
AbstractQueryResultSetColumn<long[]> {
 
     /**
      * Gets MonetDB's long null constant
diff --git 
a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetObjectColumn.java
 
b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetObjectColumn.java
--- 
a/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetObjectColumn.java
+++ 
b/src/main/java/nl/cwi/monetdb/embedded/resultset/QueryResultSetObjectColumn.java
@@ -20,7 +20,7 @@ import java.util.ListIterator;
  * @param <T> The Java class of the mapped MonetDB column
  * @author <a href="mailto:pedro.ferre...@monetdbsolutions.com";>Pedro 
Ferreira</a>
  */
-public class QueryResultSetObjectColumn<T> extends 
AbstractQueryResultSetColumn<T[]> implements Iterable<T> {
+public final class QueryResultSetObjectColumn<T> extends 
AbstractQueryResultSetColumn<T[]> implements Iterable<T> {
 
     /**
      * A null pointer returning method.
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
@@ -15,7 +15,7 @@ import nl.cwi.monetdb.embedded.env.Monet
  *
  * @author <a href="mailto:pedro.ferre...@monetdbsolutions.com";>Pedro 
Ferreira</a>
  */
-public class QueryResultSetShortColumn extends 
AbstractQueryResultSetColumn<short[]> {
+public final class QueryResultSetShortColumn extends 
AbstractQueryResultSetColumn<short[]> {
 
     /**
      * Gets MonetDB's short null constant
diff --git a/src/main/java/nl/cwi/monetdb/embedded/tables/MonetDBTable.java 
b/src/main/java/nl/cwi/monetdb/embedded/tables/MonetDBTable.java
--- a/src/main/java/nl/cwi/monetdb/embedded/tables/MonetDBTable.java
+++ b/src/main/java/nl/cwi/monetdb/embedded/tables/MonetDBTable.java
@@ -22,7 +22,7 @@ import nl.cwi.monetdb.embedded.resultset
  *
  * @author <a href="mailto:pedro.ferre...@monetdbsolutions.com";>Pedro 
Ferreira</a>
  */
-public class MonetDBTable extends AbstractResultTable {
+public final class MonetDBTable extends AbstractResultTable {
 
     private final String tableSchema;
 
diff --git a/src/main/java/nl/cwi/monetdb/embedded/tables/RowIterator.java 
b/src/main/java/nl/cwi/monetdb/embedded/tables/RowIterator.java
--- a/src/main/java/nl/cwi/monetdb/embedded/tables/RowIterator.java
+++ b/src/main/java/nl/cwi/monetdb/embedded/tables/RowIterator.java
@@ -154,5 +154,5 @@ public class RowIterator extends Abstrac
     /**
      * Sets the next value to iterate.
      */
-    protected void setNextIteration() { this.currentIterationNumber++; }
+    void setNextIteration() { this.currentIterationNumber++; }
 }
diff --git a/src/main/java/nl/cwi/monetdb/jdbc/MonetBlob.java 
b/src/main/java/nl/cwi/monetdb/jdbc/MonetBlob.java
--- a/src/main/java/nl/cwi/monetdb/jdbc/MonetBlob.java
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetBlob.java
@@ -268,8 +268,7 @@ public class MonetBlob implements Blob {
                        throw new SQLException("This Blob object has been 
freed", "M1M20");
                try {
                        /* transactions? what are you talking about? */
-                       for (int i = (int)pos; i < len; i++)
-                               buf[i] = bytes[offset - 1 + i];
+                       System.arraycopy(bytes, offset - 1 + (int) pos, buf, 
(int) pos, len - (int) pos);
                } catch (IndexOutOfBoundsException e) {
                        throw new SQLException(e.getMessage(), "M0M10");
                }
@@ -291,8 +290,7 @@ public class MonetBlob implements Blob {
                        throw new SQLException("This Blob object has been 
freed", "M1M20");
                if (buf.length > len) {
                        byte[] newbuf = new byte[(int)len];
-                       for (int i = 0; i < len; i++)
-                               newbuf[i] = buf[i];
+                       System.arraycopy(buf, 0, newbuf, 0, (int) len);
                        buf = newbuf;
                }
        }
diff --git a/src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java 
b/src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java
--- a/src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java
@@ -46,9 +46,9 @@ import nl.cwi.monetdb.jdbc.types.URL;
 import nl.cwi.monetdb.mcl.MCLException;
 import nl.cwi.monetdb.mcl.io.AbstractMCLReader;
 import nl.cwi.monetdb.mcl.io.AbstractMCLWriter;
-import nl.cwi.monetdb.mcl.net.EmbeddedMonetDB;
-import nl.cwi.monetdb.mcl.net.MapiSocket;
-import nl.cwi.monetdb.mcl.net.AbstractMCLConnection;
+import nl.cwi.monetdb.mcl.connection.EmbeddedMonetDB;
+import nl.cwi.monetdb.mcl.connection.DeleteMe;
+import nl.cwi.monetdb.mcl.connection.AbstractMonetDBConnection;
 import nl.cwi.monetdb.mcl.parser.HeaderLineParser;
 import nl.cwi.monetdb.mcl.parser.StartOfHeaderParser;
 import nl.cwi.monetdb.mcl.parser.MCLParseException;
@@ -81,7 +81,7 @@ import nl.cwi.monetdb.mcl.parser.MCLPars
 public class MonetConnection extends MonetWrapper implements Connection {
 
        /** A connection to mserver5 either through MAPI with TCP or embedded */
-       private final AbstractMCLConnection server;
+       private final AbstractMonetDBConnection server;
        /** The Reader from the server */
        private final AbstractMCLReader in;
        /** The Writer to the server */
@@ -179,7 +179,7 @@ public class MonetConnection extends Mon
                                language = "sql";
                                addWarning("No language given, defaulting to 
'sql'", "M1M05");
                        }
-                       server = new MapiSocket(hostname, port, database, 
username, debug, language, hash);
+                       server = new DeleteMe(hostname, port, database, 
username, debug, language, hash);
                        try {
                                server.setSoTimeout(sockTimeout);
                        } catch (SocketException e) {
@@ -239,7 +239,7 @@ public class MonetConnection extends Mon
 
                // the following initialisers are only valid when the language
                // is SQL...
-               if (server.getLang() == AbstractMCLConnection.LANG_SQL) {
+               if (server.getLang() == AbstractMonetDBConnection.LANG_SQL) {
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to