Mercurial > hg > monetdb-java
changeset 31:787a4fdba56e embedded
More cleaning
author | Pedro Ferreira <pedro.ferreira@monetdbsolutions.com> |
---|---|
date | Thu, 27 Oct 2016 18:33:42 +0200 (2016-10-27) |
parents | 7e0d71a22677 |
children | 57978db4ee57 |
files | src/main/java/nl/cwi/monetdb/embedded/EmbeddedQueryResult.java src/main/java/nl/cwi/monetdb/embedded/MonetDBEmbeddedConnection.java src/main/java/nl/cwi/monetdb/embedded/MonetDBEmbeddedDatabase.java src/main/java/nl/cwi/monetdb/embedded/MonetDBEmbeddedInstance.java src/main/java/nl/cwi/monetdb/embedded/column/BigintColumn.java src/main/java/nl/cwi/monetdb/embedded/column/BlobColumn.java src/main/java/nl/cwi/monetdb/embedded/column/BooleanColumn.java src/main/java/nl/cwi/monetdb/embedded/column/CharColumn.java src/main/java/nl/cwi/monetdb/embedded/column/ClobColumn.java src/main/java/nl/cwi/monetdb/embedded/column/Column.java src/main/java/nl/cwi/monetdb/embedded/column/DateColumn.java src/main/java/nl/cwi/monetdb/embedded/column/DecimalColumn.java src/main/java/nl/cwi/monetdb/embedded/column/DoubleColumn.java src/main/java/nl/cwi/monetdb/embedded/column/GeometryColumn.java src/main/java/nl/cwi/monetdb/embedded/column/HugeintColumn.java src/main/java/nl/cwi/monetdb/embedded/column/InetColumn.java src/main/java/nl/cwi/monetdb/embedded/column/IntColumn.java src/main/java/nl/cwi/monetdb/embedded/column/JSONColumn.java src/main/java/nl/cwi/monetdb/embedded/column/MonthIntervalColumn.java src/main/java/nl/cwi/monetdb/embedded/column/RealColumn.java src/main/java/nl/cwi/monetdb/embedded/column/SecondIntervalColumn.java src/main/java/nl/cwi/monetdb/embedded/column/SmallintColumn.java src/main/java/nl/cwi/monetdb/embedded/column/TimeColumn.java src/main/java/nl/cwi/monetdb/embedded/column/TimestampColumn.java src/main/java/nl/cwi/monetdb/embedded/column/TinyintColumn.java src/main/java/nl/cwi/monetdb/embedded/column/URLColumn.java src/main/java/nl/cwi/monetdb/embedded/column/UUIDColumn.java src/main/java/nl/cwi/monetdb/embedded/column/VarcharColumn.java src/main/java/nl/cwi/monetdb/embedded/types/MonetDBEmbeddedBlob.java src/main/java/nl/cwi/monetdb/mcl/embedded/MonetDBEmbeddedConnection.java src/main/java/nl/cwi/monetdb/mcl/embedded/MonetDBEmbeddedInstance.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/EmbeddedQueryResult.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/BigintColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/BlobColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/BooleanColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/CharColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/ClobColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/Column.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/DateColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/DecimalColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/DoubleColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/GeometryColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/HugeintColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/InetColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/IntColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/JSONColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/MonthIntervalColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/RealColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/SecondIntervalColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/SmallintColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/TimeColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/TimestampColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/TinyintColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/URLColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/UUIDColumn.java src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/VarcharColumn.java |
diffstat | 56 files changed, 1555 insertions(+), 1453 deletions(-) [+] |
line wrap: on
line diff
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/EmbeddedQueryResult.java rename to src/main/java/nl/cwi/monetdb/embedded/EmbeddedQueryResult.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/EmbeddedQueryResult.java +++ b/src/main/java/nl/cwi/monetdb/embedded/EmbeddedQueryResult.java @@ -6,13 +6,13 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result; +package nl.cwi.monetdb.embedded; import java.io.Closeable; import java.sql.SQLException; import java.util.Iterator; -import nl.cwi.monetdb.mcl.embedded.result.column.Column; +import nl.cwi.monetdb.embedded.column.Column; /** * Embedded MonetDB query result.
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/MonetDBEmbeddedConnection.java rename to src/main/java/nl/cwi/monetdb/embedded/MonetDBEmbeddedConnection.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/MonetDBEmbeddedConnection.java +++ b/src/main/java/nl/cwi/monetdb/embedded/MonetDBEmbeddedConnection.java @@ -6,13 +6,13 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded; +package nl.cwi.monetdb.embedded; + +import nl.cwi.monetdb.embedded.column.Column; import java.io.*; import java.sql.SQLException; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; - /** * A single connection to a MonetDB database instance * Communication between Java and native C is done via JNI. @@ -38,7 +38,7 @@ public class MonetDBEmbeddedConnection { * @return The query result object, {@code null} if the database is not running * @throws SQLException */ - public EmbeddedQueryResult createQuery(String query) throws SQLException, IOException { + public EmbeddedQueryResult createQuery(String query) throws SQLException { String queryString = query; if (!queryString.endsWith(";")) { queryString += ";"; @@ -46,6 +46,96 @@ public class MonetDBEmbeddedConnection { return queryWrapper(queryString, true, this.connectionPointer); } + /** + * Begins a transaction in nl.cwi.monetdb.embedded database. + * + * @throws SQLException + */ + public void startTransaction() throws SQLException { + this.createQuery("START TRANSACTION;").close(); + } + + /** + * Commits a transaction in nl.cwi.monetdb.embedded database. + * + * @throws SQLException + */ + public void commit() throws SQLException { + this.createQuery("COMMIT;").close(); + } + + /** + * Rollbacks a transaction in nl.cwi.monetdb.embedded database. + * + * @throws SQLException + */ + public void rollback() throws SQLException { + this.createQuery("ROLLBACK;").close(); + } + + /** + * Performs a Lists the the existing tables with schemas on the system + * + * @param listSystemTables List system's tables as well (default true) + * @return The query result object, {@code null} if the database is not running + * @throws SQLException + */ + public EmbeddedQueryResult listTables(boolean listSystemTables) throws SQLException { + String query = "select schemas.name as sn, tables.name as tn from sys.tables join sys.schemas on tables.schema_id=schemas.id"; + if (!listSystemTables) { + query += " where tables.system=false order by sn, tn"; + } + return this.createQuery(query + ";"); + } + + /** + * Performs a SELECT * FROM a table in nl.cwi.monetdb.embedded database. + * + * @param tableName The name of the table + * @return The query result object, {@code null} if the database is not running + * @throws SQLException + */ + public EmbeddedQueryResult readTable(String tableName) throws SQLException { + return this.createQuery("SELECT * FROM " + tableName + ";"); + } + + /** + * Check if a table exists in nl.cwi.monetdb.embedded database. + * + * @param tableName The name of the table + * @return If a the table exists or not + * @throws SQLException + */ + public boolean checkTableExists(String tableName) throws SQLException { + EmbeddedQueryResult eqr = this.listTables(true); + Column<String> tablenames = (Column<String>) eqr.getColumn(0); + boolean res = false; + for (String str: tablenames.getAllValues()) { + if(str.equals(tableName)) { + res = true; + } + } + eqr.close(); + return res; + } + + /** + * Lists the table fields and types in nl.cwi.monetdb.embedded database. + * + * @param tableName The name of the table + * @return + * @throws SQLException + */ + public String[] listFields(String tableName) throws SQLException { + if(!this.checkTableExists(tableName)) { + throw new SQLException("The table " + tableName + " doesn't exist!!"); + } + EmbeddedQueryResult eqr = this.createQuery("select columns.name as name from sys.columns join sys.tables on columns.table_id=tables.id where tables.name='" + tableName + "';"); + String[] res = (String[]) eqr.getColumn(0).getAllValues(); + eqr.close(); + return res; + } + /** * Execute an SQL query in an nl.cwi.monetdb.embedded database. * @@ -53,6 +143,6 @@ public class MonetDBEmbeddedConnection { * @return The query result object, {@code null} if the database is not running * @throws SQLException */ - private native EmbeddedQueryResult queryWrapper(String query, boolean execute, long connectionPointer) throws SQLException, IOException; + private native EmbeddedQueryResult queryWrapper(String query, boolean execute, long connectionPointer) throws SQLException; }
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/MonetDBEmbeddedInstance.java rename to src/main/java/nl/cwi/monetdb/embedded/MonetDBEmbeddedDatabase.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/MonetDBEmbeddedInstance.java +++ b/src/main/java/nl/cwi/monetdb/embedded/MonetDBEmbeddedDatabase.java @@ -6,7 +6,7 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded; +package nl.cwi.monetdb.embedded; import java.io.*; import java.nio.file.Files; @@ -22,54 +22,17 @@ import java.util.concurrent.locks.Reentr * <br/> * <strong>Note</strong>: You can have only one nl.cwi.monetdb.embedded MonetDB database running per JVM process. */ -public class MonetDBEmbeddedInstance { - - private final static String NATIVE_LIB_PATH_IN_JAR = "src" + File.separatorChar + "main" + - File.separatorChar + "resources"; - private final static String NATIVE_LIB_NAME = "libmonetdb5.so"; +public class MonetDBEmbeddedDatabase { - /** - * The native nl.cwi.monetdb.embedded MonetDB library. - */ - static { - try { - // Try load the nl.cwi.monetdb.embedded library - System.loadLibrary("monetdb5"); - } catch (UnsatisfiedLinkError e) { - // Still no, then get the resources.lib bundled in the jar - loadLibFromJar(NATIVE_LIB_NAME); + public static MonetDBEmbeddedDatabase StartDatabase(String dbDirectory, boolean silentFlag, boolean sequentialFlag) throws SQLException { + if(MonetDBEmbeddedInstance.IsEmbeddedInstanceInitialized() == false) { + throw new SQLException("The embedded instance has not been loaded yet!"); + } else { + return StartDatabaseInternal(dbDirectory, silentFlag, sequentialFlag); } } - private static void loadLibFromJar(String fileName) { - String pathToLib = NATIVE_LIB_PATH_IN_JAR + File.separatorChar + fileName; - try { - InputStream in = MonetDBEmbeddedInstance.class.getResourceAsStream(File.separatorChar + pathToLib); - if (in == null) { - // OK, the input stream is null, hence no .jar - // This was probably a test and/or in an IDE - // Just read the files from the src/main/resources dir - in = new FileInputStream(new File(pathToLib)); - } - // Set a temp location to extract (and load from later) - final Path tempLibsDir = Files.createTempDirectory("nl.cwi.monetdb.embedded"); - File fileOut = new File(tempLibsDir.toString() + File.separatorChar + fileName); - try (OutputStream out = new FileOutputStream(fileOut)) { - byte[] buffer = new byte[in.available()]; - while (in.read(buffer) != -1) { - out.write(buffer); - } - out.flush(); - in.close(); - // Load the resources.lib from the extracted file - System.load(fileOut.toString()); - } - } catch (IOException e) { - throw new UnsatisfiedLinkError("Unable to extract native library from JAR:" + e.getMessage()); - } - } - - public static native MonetDBEmbeddedInstance StartDatabase(String dbDirectory, boolean silentFlag, boolean sequentialFlag) throws SQLException; + private static native MonetDBEmbeddedDatabase StartDatabaseInternal(String dbDirectory, boolean silentFlag, boolean sequentialFlag) throws SQLException; private final File databaseDirectory; @@ -83,7 +46,7 @@ public class MonetDBEmbeddedInstance { private final ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); - public MonetDBEmbeddedInstance(String dbDirectory, boolean silentFlag, boolean sequentialFlag, boolean isRunning) { + public MonetDBEmbeddedDatabase(String dbDirectory, boolean silentFlag, boolean sequentialFlag, boolean isRunning) { this.databaseDirectory = new File(dbDirectory); this.silentFlag = silentFlag; this.sequentialFlag = sequentialFlag;
new file mode 100644 --- /dev/null +++ b/src/main/java/nl/cwi/monetdb/embedded/MonetDBEmbeddedInstance.java @@ -0,0 +1,37 @@ +package nl.cwi.monetdb.embedded; + +/** + * Created by ferreira on 10/27/16. + */ +public class MonetDBEmbeddedInstance { + + private static boolean isEmbeddedInstanceInitialized = false; + + private static final String NATIVE_LIB_NAME = "monetdb5"; + + public static boolean TryLoadEmbeddedInstanceFromName(String libraryName) { + if(isEmbeddedInstanceInitialized == false) { + if(libraryName == null) { + libraryName = NATIVE_LIB_NAME; + } + System.loadLibrary(libraryName); + isEmbeddedInstanceInitialized = true; + } + return true; + } + + public static boolean TryLoadEmbeddedInstanceFromPath(String libraryPath) { + if(isEmbeddedInstanceInitialized == false) { + if(libraryPath == null) { + return false; + } + System.load(libraryPath); + isEmbeddedInstanceInitialized = true; + } + return true; + } + + public static boolean IsEmbeddedInstanceInitialized() { + return isEmbeddedInstanceInitialized; + } +}
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/BigintColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/BigintColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/BigintColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/BigintColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; /** * Mapping for MonetDB BIGINT data type
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/BlobColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/BlobColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/BlobColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/BlobColumn.java @@ -6,30 +6,30 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.jdbc.MonetBlob; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.types.MonetDBEmbeddedBlob; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; /** * Mapping for MonetDB BLOB data type */ -public class BlobColumn extends Column<MonetBlob> { +public class BlobColumn extends Column<MonetDBEmbeddedBlob> { - private final MonetBlob[] values; + private final MonetDBEmbeddedBlob[] values; - public BlobColumn(EmbeddedQueryResult result, int index, MonetBlob[] values, boolean[] nullIndex) { + public BlobColumn(EmbeddedQueryResult result, int index, MonetDBEmbeddedBlob[] values, boolean[] nullIndex) { super(result, index, nullIndex); this.values = values; } @Override - public MonetBlob[] getAllValues() { + public MonetDBEmbeddedBlob[] getAllValues() { return this.values; } @Override - protected MonetBlob getValueImplementation(int index) { + protected MonetDBEmbeddedBlob getValueImplementation(int index) { return this.values[index]; } }
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/BooleanColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/BooleanColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/BooleanColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/BooleanColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; /** * Mapping for MonetDB BOOLEAN data type
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/CharColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/CharColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/CharColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/CharColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; /** * Mapping for MonetDB CHAR data type
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/ClobColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/ClobColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/ClobColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/ClobColumn.java @@ -6,30 +6,30 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; import nl.cwi.monetdb.jdbc.MonetClob; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; /** * Mapping for MonetDB CLOB data type */ -public class ClobColumn extends Column<MonetClob> { +public class ClobColumn extends Column<String> { - private final MonetClob[] values; + private final String[] values; - public ClobColumn(EmbeddedQueryResult result, int index, MonetClob[] values, boolean[] nullIndex) { + public ClobColumn(EmbeddedQueryResult result, int index, String[] values, boolean[] nullIndex) { super(result, index, nullIndex); this.values = values; } @Override - public MonetClob[] getAllValues() { + public String[] getAllValues() { return this.values; } @Override - protected MonetClob getValueImplementation(int index) { + protected String getValueImplementation(int index) { return this.values[index]; } }
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/Column.java rename to src/main/java/nl/cwi/monetdb/embedded/column/Column.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/Column.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/Column.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; import java.util.Iterator;
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/DateColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/DateColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/DateColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/DateColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; import java.sql.Date;
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/DecimalColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/DecimalColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/DecimalColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/DecimalColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; import java.math.BigDecimal;
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/DoubleColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/DoubleColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/DoubleColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/DoubleColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; /** * Mapping for MonetDB FLOAT data type
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/GeometryColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/GeometryColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/GeometryColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/GeometryColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; /** * Mapping for MonetDB GEOMETRY data type
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/HugeintColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/HugeintColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/HugeintColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/HugeintColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; import java.math.BigInteger;
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/InetColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/InetColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/InetColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/InetColumn.java @@ -6,32 +6,31 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.jdbc.types.INET; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; import java.net.InetAddress; /** * Mapping for MonetDB INET data type */ -public class InetColumn extends Column<INET> { +public class InetColumn extends Column<InetAddress> { - private final INET[] values; + private final InetAddress[] values; - public InetColumn(EmbeddedQueryResult result, int index, INET[] values, boolean[] nullIndex) { + public InetColumn(EmbeddedQueryResult result, int index, InetAddress[] values, boolean[] nullIndex) { super(result, index, nullIndex); this.values = values; } @Override - public INET[] getAllValues() { + public InetAddress[] getAllValues() { return this.values; } @Override - protected INET getValueImplementation(int index) { + protected InetAddress getValueImplementation(int index) { return this.values[index]; } }
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/IntColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/IntColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/IntColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/IntColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; /** * Mapping for MonetDB Integer data type
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/JSONColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/JSONColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/JSONColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/JSONColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; /** * Mapping for MonetDB JSON data type
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/MonthIntervalColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/MonthIntervalColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/MonthIntervalColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/MonthIntervalColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; /** * Mapping for MonetDB MONTH_INTERVAL data type
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/RealColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/RealColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/RealColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/RealColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; /** * Mapping for MonetDB REAL data type
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/SecondIntervalColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/SecondIntervalColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/SecondIntervalColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/SecondIntervalColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; /** * Mapping for MonetDB SECOND_INTERVAL data type
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/SmallintColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/SmallintColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/SmallintColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/SmallintColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; /** * Mapping for MonetDB SMALLINT data type
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/TimeColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/TimeColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/TimeColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/TimeColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; import java.sql.Time;
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/TimestampColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/TimestampColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/TimestampColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/TimestampColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; import java.sql.Timestamp;
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/TinyintColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/TinyintColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/TinyintColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/TinyintColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; /** * Mapping for MonetDB TINYINT data type
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/URLColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/URLColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/URLColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/URLColumn.java @@ -6,11 +6,10 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; - +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.jdbc.types.URL; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; +import java.net.URL; /** * Mapping for MonetDB URL data type
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/UUIDColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/UUIDColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/UUIDColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/UUIDColumn.java @@ -6,9 +6,9 @@ * Copyright 2008-2015 MonetDB B.V. */ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; import java.util.UUID;
rename from src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/VarcharColumn.java rename to src/main/java/nl/cwi/monetdb/embedded/column/VarcharColumn.java --- a/src/main/java/nl/cwi/monetdb/mcl/embedded/result/column/VarcharColumn.java +++ b/src/main/java/nl/cwi/monetdb/embedded/column/VarcharColumn.java @@ -1,6 +1,6 @@ -package nl.cwi.monetdb.mcl.embedded.result.column; +package nl.cwi.monetdb.embedded.column; -import nl.cwi.monetdb.mcl.embedded.result.EmbeddedQueryResult; +import nl.cwi.monetdb.embedded.EmbeddedQueryResult; /** * Mapping for MonetDB VARCHAR data type
new file mode 100644 --- /dev/null +++ b/src/main/java/nl/cwi/monetdb/embedded/types/MonetDBEmbeddedBlob.java @@ -0,0 +1,14 @@ +package nl.cwi.monetdb.embedded.types; + +/** + * Created by ferreira on 10/27/16. + */ +public class MonetDBEmbeddedBlob { + protected final byte[] blob; + + public MonetDBEmbeddedBlob(byte[] blob) { + this.blob = blob; + } + + public byte[] getBlob() { return blob; } +}