Package org.monetdb.monetdbe
Class MonetDriver
java.lang.Object
org.monetdb.monetdbe.MonetDriver
- All Implemented Interfaces:
Driver
public final class MonetDriver extends Object implements Driver
A JDBC Driver for the embedded version of the MonetDB RDBMS.
This driver will be used by the DriverManager to determine if an URL
is to be handled by this driver, and if it does, then this driver
will supply a Connection suitable for MonetDB-embedded.
This Driver supports in-memory databases, local file databases and connection to another MonetDB instance through its MAPI URL. Valid MonetDBe-Java URLs:
- In-memory database:
jdbc:monetdb:memory: - Local file database:
jdbc:monetdb:file:/path/to/directory/ - Remote database:
mapi:monetdb://<host>[:<port>]/<database>
Additional connection properties can be set in the URL query, with the following format:
jdbc:monetdb:memory:?property=propertyValue
Or they can be set through the Properties object passed as an argument to DriverManager.getConnection():
Properties props = new Properties();
props.setProperty("autocommit","false");
Connection c = DriverManager.getConnection("jdbc:monetdb:memory:", props);
Available properties:
- user - Username for remote connections
- password - Password for remote connections
- autocommit - Autocommit mode
- session_timeout - Session timeout, time in seconds to terminate session
- query_timeout - Query timeout, time in seconds to terminate single query
- memory_limit - Memory limit in MBs
- nr_threads - Maximum number of worker treads
-
Constructor Summary
Constructors Constructor Description MonetDriver() -
Method Summary
Modifier and Type Method Description booleanacceptsURL(String url)Retrieves whether the driver thinks that it can open a connection to the given URL.Connectionconnect(String url, Properties info)Attempts to make a database connection to the given URL.static StringgetDatabaseVersion()Gets the database's full version number as a String.static StringgetDriverVersion()Gets the driver's full version number as a String.intgetMajorVersion()Retrieves the driver's major version number.intgetMinorVersion()Gets the driver's minor version number.LoggergetParentLogger()Return the parent Logger of all the Loggers used by this data source (not supported).DriverPropertyInfo[]getPropertyInfo(String url, Properties info)Gets information about the possible properties for this driver.booleanjdbcCompliant()Reports whether this driver is a genuine JDBC Compliant™ driver.
-
Constructor Details
-
MonetDriver
public MonetDriver()
-
-
Method Details
-
connect
Attempts to make a database connection to the given URL. The driver should return "null" if it realizes it is the wrong kind of driver to connect to the given URL. This will be common, as when the JDBC driver manager is asked to connect to a given URL it passes the URL to each loaded driver in turn. The driver should throw an SQLException if it is the right driver to connect to the given URL but has trouble connecting to the database. The java.util.Properties argument can be used to pass arbitrary string tag/value pairs as connection arguments. Normally at least "user" and "password" properties should be included in the Properties object.- Specified by:
connectin interfaceDriver- Parameters:
url- the URL of the database to which to connectinfo- a list of arbitrary string tag/value pairs as connection arguments. Normally at least a "user" and "password" property should be included- Returns:
- a Connection object that represents a connection to the URL
- Throws:
SQLException- if a database access error occurs
-
acceptsURL
Retrieves whether the driver thinks that it can open a connection to the given URL. Typically drivers will return true if they understand the subprotocol specified in the URL and false if they do not.- Specified by:
acceptsURLin interfaceDriver- Parameters:
url- the URL of the database- Returns:
- true if this driver understands the given URL; false otherwise
-
getPropertyInfo
Gets information about the possible properties for this driver. The getPropertyInfo method is intended to allow a generic GUI tool to discover what properties it should prompt a human for in order to get enough information to connect to a database. Note that depending on the values the human has supplied so far, additional values may become necessary, so it may be necessary to iterate though several calls to the getPropertyInfo method.- Specified by:
getPropertyInfoin interfaceDriver- Parameters:
url- the URL of the database to which to connectinfo- a proposed list of tag/value pairs that will be sent on connect open- Returns:
- an array of DriverPropertyInfo objects describing possible properties. This array may be an empty array if no properties are required.
-
getMajorVersion
public int getMajorVersion()Retrieves the driver's major version number. Initially this should be 1.- Specified by:
getMajorVersionin interfaceDriver- Returns:
- this driver's major version number
-
getMinorVersion
public int getMinorVersion()Gets the driver's minor version number. Initially this should be 0.- Specified by:
getMinorVersionin interfaceDriver- Returns:
- this driver's minor version number
-
getDriverVersion
Gets the driver's full version number as a String.- Returns:
- this driver's full version number
-
getDatabaseVersion
Gets the database's full version number as a String.- Returns:
- this database's full version number
-
jdbcCompliant
public boolean jdbcCompliant()Reports whether this driver is a genuine JDBC Compliant™ driver. A driver may only report true here if it passes the JDBC compliance tests; otherwise it is required to return false.- Specified by:
jdbcCompliantin interfaceDriver- Returns:
- true if this driver is JDBC Compliant; false otherwise
-
getParentLogger
Return the parent Logger of all the Loggers used by this data source (not supported).- Specified by:
getParentLoggerin interfaceDriver- Returns:
- the parent Logger for this data source
- Throws:
SQLFeatureNotSupportedException- if the data source does not use java.util.logging
-