public String getExecutionProperty(String key) { return this.getExecutionProperties().getProperty(JDBCURL.getValidKey(key)); }
public void setExecutionProperty(String key, String value) { JDBCURL.addNormalizedProperty(key, value, getExecutionProperties()); }
public String getExecutionProperty(String key) { return this.getExecutionProperties().getProperty(JDBCURL.getValidKey(key)); }
public void setExecutionProperty(String key, String value) { JDBCURL.addNormalizedProperty(key, value, getExecutionProperties()); }
/** * MMStatement Constructor. * @param driverConnection * @param resultSetType * @param resultSetConcurrency */ StatementImpl(ConnectionImpl driverConnection, int resultSetType, int resultSetConcurrency) { this.driverConnection = driverConnection; this.resultSetType = resultSetType; this.resultSetConcurrency = resultSetConcurrency; this.execProps = new Properties(this.driverConnection.getExecutionProperties()); // Set initial fetch size String fetchSizeStr = this.execProps.getProperty(ExecutionProperties.PROP_FETCH_SIZE); if(fetchSizeStr != null) { try { this.fetchSize = Integer.parseInt(fetchSizeStr); } catch(Exception e) { // silently failover to default } } setTimeoutFromProperties(); }
/** * MMStatement Constructor. * @param driverConnection * @param resultSetType * @param resultSetConcurrency */ StatementImpl(ConnectionImpl driverConnection, int resultSetType, int resultSetConcurrency) { this.driverConnection = driverConnection; this.resultSetType = resultSetType; this.resultSetConcurrency = resultSetConcurrency; this.execProps = new Properties(this.driverConnection.getExecutionProperties()); // Set initial fetch size String fetchSizeStr = this.execProps.getProperty(ExecutionProperties.PROP_FETCH_SIZE); if(fetchSizeStr != null) { try { this.fetchSize = Integer.parseInt(fetchSizeStr); } catch(Exception e) { // silently failover to default } } setTimeoutFromProperties(); }
for (String key : driverConnection.getExecutionProperties().stringPropertyNames()) { ArrayList<Object> row = new ArrayList<Object>(4); row.add(key); row.add(driverConnection.getExecutionProperties().get(key)); records.add(row);
for (String key : driverConnection.getExecutionProperties().stringPropertyNames()) { ArrayList<Object> row = new ArrayList<Object>(4); row.add(key); row.add(driverConnection.getExecutionProperties().get(key)); records.add(row);
/** * Test the default of the JDBC4 spec semantics is true */ @Test public void testDefaultSpec() throws Exception { assertEquals("true", (getMMConnection().getExecutionProperties().getProperty(ExecutionProperties.JDBC4COLUMNNAMEANDLABELSEMANTICS) == null ? "true" : "false")); }
/** * Test turning off the JDBC 4 semantics */ @Test public void testTurnOnSpec() throws Exception { assertEquals("true", getMMConnection(serverUrl + ";useJDBC4ColumnNameAndLabelSemantics=true").getExecutionProperties().getProperty(ExecutionProperties.JDBC4COLUMNNAMEANDLABELSEMANTICS)); }
/** * Test turning off the JDBC 4 semantics */ @Test public void testTurnOffSpec() throws Exception { assertEquals("false", getMMConnection(serverUrl + ";useJDBC4ColumnNameAndLabelSemantics=false").getExecutionProperties().getProperty(ExecutionProperties.JDBC4COLUMNNAMEANDLABELSEMANTICS)); }
@Test public void testPropertiesOverride() throws Exception { ConnectionImpl conn = Mockito.mock(ConnectionImpl.class); Properties p = new Properties(); p.setProperty(ExecutionProperties.ANSI_QUOTED_IDENTIFIERS, Boolean.TRUE.toString()); Mockito.stub(conn.getExecutionProperties()).toReturn(p); StatementImpl statement = new StatementImpl(conn, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); assertEquals(Boolean.TRUE.toString(), statement.getExecutionProperty(ExecutionProperties.ANSI_QUOTED_IDENTIFIERS)); statement.setExecutionProperty(ExecutionProperties.ANSI_QUOTED_IDENTIFIERS, Boolean.FALSE.toString()); assertEquals(Boolean.FALSE.toString(), statement.getExecutionProperty(ExecutionProperties.ANSI_QUOTED_IDENTIFIERS)); assertEquals(Boolean.TRUE.toString(), p.getProperty(ExecutionProperties.ANSI_QUOTED_IDENTIFIERS)); }
@Test public void testUseJDBC4ColumnNameAndLabelSemantics() throws Exception { ConnectionImpl conn = Mockito.mock(ConnectionImpl.class); Properties p = new Properties(); p.setProperty(ExecutionProperties.JDBC4COLUMNNAMEANDLABELSEMANTICS, "false"); Mockito.stub(conn.getExecutionProperties()).toReturn(p); StatementImpl statement = new StatementImpl(conn, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); assertEquals(Boolean.FALSE.toString(), statement.getExecutionProperty(ExecutionProperties.JDBC4COLUMNNAMEANDLABELSEMANTICS)); }
@Test public void testTimeoutProperty() throws Exception { ConnectionImpl conn = Mockito.mock(ConnectionImpl.class); Properties p = new Properties(); p.setProperty(ExecutionProperties.QUERYTIMEOUT, "2"); Mockito.stub(conn.getExecutionProperties()).toReturn(p); StatementImpl statement = new StatementImpl(conn, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); assertEquals(2, statement.getQueryTimeout()); }
@Test public void testSetPayloadStatement() throws Exception { ConnectionImpl conn = Mockito.mock(ConnectionImpl.class); Properties p = new Properties(); Mockito.stub(conn.getExecutionProperties()).toReturn(p); StatementImpl statement = new StatementImpl(conn, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); assertFalse(statement.execute("set payload foo bar")); //$NON-NLS-1$ }
@Test public void testSetAuthorizationStatement() throws Exception { ConnectionImpl conn = Mockito.mock(ConnectionImpl.class); Properties p = new Properties(); Mockito.stub(conn.getExecutionProperties()).toReturn(p); StatementImpl statement = new StatementImpl(conn, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); assertFalse(statement.execute("set session authorization bar")); //$NON-NLS-1$ Mockito.verify(conn).changeUser("bar", null); }
@SuppressWarnings("unchecked") @Test public void testTransactionStatementsAsynch() throws Exception { ConnectionImpl conn = Mockito.mock(ConnectionImpl.class); Mockito.stub(conn.submitSetAutoCommitTrue(Mockito.anyBoolean())).toReturn((ResultsFuture)ResultsFuture.NULL_FUTURE); Properties p = new Properties(); Mockito.stub(conn.getExecutionProperties()).toReturn(p); StatementImpl statement = new StatementImpl(conn, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); statement.submitExecute("start transaction", null); //$NON-NLS-1$ Mockito.verify(conn).setAutoCommit(false); statement.submitExecute("commit", null); //$NON-NLS-1$ Mockito.verify(conn).submitSetAutoCommitTrue(true); statement.submitExecute("start transaction", null); //$NON-NLS-1$ statement.submitExecute("rollback", null); //$NON-NLS-1$ Mockito.verify(conn).submitSetAutoCommitTrue(false); }
@Test public void testTransactionStatements() throws Exception { ConnectionImpl conn = Mockito.mock(ConnectionImpl.class); Properties p = new Properties(); Mockito.stub(conn.getExecutionProperties()).toReturn(p); StatementImpl statement = new StatementImpl(conn, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); assertFalse(statement.execute("start transaction")); //$NON-NLS-1$ Mockito.verify(conn).setAutoCommit(false); assertFalse(statement.execute("commit")); //$NON-NLS-1$ Mockito.verify(conn).setAutoCommit(true); assertFalse(statement.execute("start transaction")); //$NON-NLS-1$ assertFalse(statement.execute("rollback")); //$NON-NLS-1$ Mockito.verify(conn).rollback(false); assertFalse(statement.execute("abort transaction")); //$NON-NLS-1$ Mockito.verify(conn, Mockito.times(2)).rollback(false); assertFalse(statement.execute("rollback work")); //$NON-NLS-1$ Mockito.verify(conn, Mockito.times(3)).rollback(false); assertFalse(statement.execute("start transaction isolation level repeatable read")); //$NON-NLS-1$ Mockito.verify(conn).setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ); }