You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by an...@apache.org on 2016/04/19 16:54:22 UTC

[1/2] phoenix git commit: PHOENIX-2838 Support case sensitive identifier for drop schema and use schema constructs

Repository: phoenix
Updated Branches:
  refs/heads/master a31b70179 -> d26b4eb0f


PHOENIX-2838 Support case sensitive identifier for drop schema and use schema constructs


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/12779572
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/12779572
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/12779572

Branch: refs/heads/master
Commit: 12779572c5dcfb1ab610fa6bdd258e4503c7e2ca
Parents: a31b701
Author: Ankit Singhal <an...@gmail.com>
Authored: Tue Apr 19 20:23:22 2016 +0530
Committer: Ankit Singhal <an...@gmail.com>
Committed: Tue Apr 19 20:23:22 2016 +0530

----------------------------------------------------------------------
 .../apache/phoenix/end2end/DropSchemaIT.java    | 37 ++++++++++++++------
 .../end2end/QueryDatabaseMetaDataIT.java        |  3 ++
 .../org/apache/phoenix/end2end/UseSchemaIT.java | 23 ++++++++----
 .../apache/phoenix/jdbc/PhoenixConnection.java  |  7 ++--
 .../apache/phoenix/schema/MetaDataClient.java   |  7 ++--
 5 files changed, 54 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/12779572/phoenix-core/src/it/java/org/apache/phoenix/end2end/DropSchemaIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DropSchemaIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DropSchemaIT.java
index 665c0a8..c3c1d65 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DropSchemaIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DropSchemaIT.java
@@ -24,6 +24,8 @@ import static org.junit.Assert.fail;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.Collection;
 import java.util.Properties;
 
 import org.apache.hadoop.hbase.NamespaceDescriptor;
@@ -34,17 +36,33 @@ import org.apache.phoenix.exception.SQLExceptionCode;
 import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.schema.SchemaNotFoundException;
 import org.apache.phoenix.util.PhoenixRuntime;
+import org.apache.phoenix.util.SchemaUtil;
 import org.apache.phoenix.util.TestUtil;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
 
+@RunWith(Parameterized.class)
 public class DropSchemaIT extends BaseClientManagedTimeIT {
+    private String schema;
+
+    public DropSchemaIT(String schema) {
+        this.schema = schema;
+    }
+
+    @Parameters(name = "schema = {0}")
+    public static Collection<String> data() {
+        return Arrays.asList("TEST_SCHEMA", "\"test_schema\"");
+    }
 
     @Test
     public void testDropSchema() throws Exception {
         long ts = nextTimestamp();
-        String schema = "TEST_SCHEMA";
+
         String tableName = "TEST";
         Properties props = new Properties();
+        String normalizeSchemaIdentifier = SchemaUtil.normalizeIdentifier(schema);
         String ddl = "DROP SCHEMA " + schema;
         props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));
         props.setProperty(QueryServices.IS_NAMESPACE_MAPPING_ENABLED, Boolean.toString(true));
@@ -66,7 +84,7 @@ public class DropSchemaIT extends BaseClientManagedTimeIT {
                 e.printStackTrace();
                 assertEquals(e.getErrorCode(), SQLExceptionCode.CANNOT_MUTATE_SCHEMA.getErrorCode());
             }
-            assertNotNull(admin.getNamespaceDescriptor(schema));
+            assertNotNull(admin.getNamespaceDescriptor(normalizeSchemaIdentifier));
         }
         props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts - 20));
         try (Connection conn = DriverManager.getConnection(getUrl(), props);) {
@@ -75,20 +93,20 @@ public class DropSchemaIT extends BaseClientManagedTimeIT {
         } catch (SchemaNotFoundException e) {
             // expected
         }
-        assertNotNull(admin.getNamespaceDescriptor(schema));
+        assertNotNull(admin.getNamespaceDescriptor(normalizeSchemaIdentifier));
 
         props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 40));
         try (Connection conn = DriverManager.getConnection(getUrl(), props);) {
             conn.createStatement().execute("DROP TABLE " + schema + "." + tableName);
-            //Dropping table manually because Drop_meta_attrib is not working
-            admin.disableTable(TableName.valueOf(schema, tableName));
-            admin.deleteTable(TableName.valueOf(schema, tableName));
+            // Dropping table manually because Drop_meta_attrib is not working
+            admin.disableTable(TableName.valueOf(normalizeSchemaIdentifier, tableName));
+            admin.deleteTable(TableName.valueOf(normalizeSchemaIdentifier, tableName));
         }
         props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 50));
         try (Connection conn = DriverManager.getConnection(getUrl(), props);) {
             conn.createStatement().execute(ddl);
             try {
-                admin.getNamespaceDescriptor(schema);
+                admin.getNamespaceDescriptor(normalizeSchemaIdentifier);
                 fail();
             } catch (NamespaceNotFoundException ne) {
                 // expected
@@ -100,11 +118,10 @@ public class DropSchemaIT extends BaseClientManagedTimeIT {
         }
         props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 70));
         try (Connection conn = DriverManager.getConnection(getUrl(), props);) {
-            admin.createNamespace(NamespaceDescriptor.create(schema).build());
+            admin.createNamespace(NamespaceDescriptor.create(normalizeSchemaIdentifier).build());
             conn.createStatement().execute("DROP SCHEMA IF EXISTS " + schema);
-            assertNotNull(admin.getNamespaceDescriptor(schema));
+            assertNotNull(admin.getNamespaceDescriptor(normalizeSchemaIdentifier));
         }
         admin.close();
     }
-
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/12779572/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
index f62bf0f..62b7306 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
@@ -175,9 +175,12 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
     @Test
     public void testSchemaMetadataScan() throws SQLException {
         Properties props = new Properties();
+        props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(1));
         props.setProperty(QueryServices.IS_NAMESPACE_MAPPING_ENABLED, Boolean.toString(true));
         Connection conn = DriverManager.getConnection(getUrl(), props);
         conn.createStatement().execute("CREATE SCHEMA " + CUSTOM_ENTITY_DATA_SCHEMA_NAME);
+        props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(2));
+        conn = DriverManager.getConnection(getUrl(), props);
         DatabaseMetaData dbmd = conn.getMetaData();
         ResultSet rs;
         rs = dbmd.getSchemas(null, CUSTOM_ENTITY_DATA_SCHEMA_NAME);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/12779572/phoenix-core/src/it/java/org/apache/phoenix/end2end/UseSchemaIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UseSchemaIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UseSchemaIT.java
index f202750..cec23ed 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UseSchemaIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UseSchemaIT.java
@@ -44,16 +44,25 @@ import org.junit.Test;
 public class UseSchemaIT extends BaseHBaseManagedTimeIT {
 
     @Test
-    public void testUseSchema() throws Exception {
+    public void testUseSchemaCaseInsensitive() throws Exception {
+        testUseSchema("TEST_SCHEMA");
+    }
+
+    @Test
+    public void testUseSchemaCaseSensitive() throws Exception {
+        testUseSchema("\"test_schema\"");
+    }
+
+    public void testUseSchema(String schema) throws Exception {
         Properties props = new Properties();
         props.setProperty(QueryServices.IS_NAMESPACE_MAPPING_ENABLED, Boolean.toString(true));
         Connection conn = DriverManager.getConnection(getUrl(), props);
-        String ddl = "CREATE SCHEMA IF NOT EXISTS TEST_SCHEMA";
+        String ddl = "CREATE SCHEMA IF NOT EXISTS "+schema;
         conn.createStatement().execute(ddl);
-        ddl = "create table test_schema.test(id varchar primary key)";
+        ddl = "create table "+schema+".TEST(id varchar primary key)";
         conn.createStatement().execute(ddl);
-        conn.createStatement().execute("use test_schema");
-        String query = "select count(*) from test";
+        conn.createStatement().execute("use "+schema);
+        String query = "select count(*) from TEST";
         ResultSet rs = conn.createStatement().executeQuery(query);
         assertTrue(rs.next());
         assertEquals(0, rs.getInt(1));
@@ -64,11 +73,11 @@ public class UseSchemaIT extends BaseHBaseManagedTimeIT {
             assertEquals(SQLExceptionCode.SCHEMA_NOT_FOUND.getErrorCode(), e.getErrorCode());
         }
         conn.createStatement().execute("use default");
-        ddl = "create table IF NOT EXISTS test(schema_name varchar primary key)";
+        ddl = "create table IF NOT EXISTS TEST(schema_name varchar primary key)";
         conn.createStatement().execute(ddl);
         conn.createStatement().executeUpdate("upsert into test values('"+SchemaUtil.SCHEMA_FOR_DEFAULT_NAMESPACE+"')");
         conn.commit();
-        rs = conn.createStatement().executeQuery("select schema_name from test");
+        rs = conn.createStatement().executeQuery("select schema_name from TEST");
         assertTrue(rs.next());
         assertEquals(SchemaUtil.SCHEMA_FOR_DEFAULT_NAMESPACE, rs.getString(1));
         conn.close();

http://git-wip-us.apache.org/repos/asf/phoenix/blob/12779572/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java
index 69ce035..b205da4 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java
@@ -110,8 +110,7 @@ import org.apache.phoenix.util.PropertiesUtil;
 import org.apache.phoenix.util.ReadOnlyProps;
 import org.apache.phoenix.util.SQLCloseable;
 import org.apache.phoenix.util.SQLCloseables;
-
-import co.cask.tephra.TransactionContext;
+import org.apache.phoenix.util.SchemaUtil;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Objects;
@@ -120,6 +119,8 @@ import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableMap.Builder;
 import com.google.common.collect.Lists;
 
+import co.cask.tephra.TransactionContext;
+
 
 /**
  * 
@@ -868,7 +869,7 @@ public class PhoenixConnection implements Connection, MetaDataMutated, SQLClosea
 
     @Override
     public String getSchema() throws SQLException {
-        return this.schema;
+        return SchemaUtil.normalizeIdentifier(this.schema);
     }
 
     public PSchema getSchema(PTableKey key) throws SchemaNotFoundException {

http://git-wip-us.apache.org/repos/asf/phoenix/blob/12779572/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
index ad161fa..ac40554 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
@@ -3464,7 +3464,8 @@ public class MetaDataClient {
         connection.rollback();
         boolean wasAutoCommit = connection.getAutoCommit();
         try {
-            String schemaName = executableDropSchemaStatement.getSchemaName();
+            PSchema schema = new PSchema(executableDropSchemaStatement.getSchemaName());
+            String schemaName = schema.getSchemaName();
             boolean ifExists = executableDropSchemaStatement.ifExists();
             byte[] key = SchemaUtil.getSchemaKey(schemaName);
 
@@ -3475,7 +3476,7 @@ public class MetaDataClient {
             schemaMetaData.add(schemaDelete);
             MetaDataMutationResult result = connection.getQueryServices().dropSchema(schemaMetaData, schemaName);
             MutationCode code = result.getMutationCode();
-            PSchema schema = result.getSchema();
+            schema = result.getSchema();
             switch (code) {
             case SCHEMA_NOT_FOUND:
                 if (!ifExists) { throw new SchemaNotFoundException(schemaName); }
@@ -3503,7 +3504,7 @@ public class MetaDataClient {
         } else {
             PSchema schema = FromCompiler.getResolverForSchema(useSchemaStatement, connection)
                     .resolveSchema(useSchemaStatement.getSchemaName());
-            connection.setSchema(schema.getSchemaName());
+            connection.setSchema(useSchemaStatement.getSchemaName());
         }
         return new MutationState(0, connection);
     }


[2/2] phoenix git commit: PHOENIX-2841 UDF not working with sort merge join

Posted by an...@apache.org.
PHOENIX-2841 UDF not working with sort merge join


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/d26b4eb0
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/d26b4eb0
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/d26b4eb0

Branch: refs/heads/master
Commit: d26b4eb0fd7aa5187a4163c7c21d46cc4c360059
Parents: 1277957
Author: Ankit Singhal <an...@gmail.com>
Authored: Tue Apr 19 20:24:03 2016 +0530
Committer: Ankit Singhal <an...@gmail.com>
Committed: Tue Apr 19 20:24:03 2016 +0530

----------------------------------------------------------------------
 .../phoenix/end2end/UserDefinedFunctionsIT.java | 58 ++++++++++++++++++++
 .../apache/phoenix/compile/QueryCompiler.java   |  4 +-
 .../java/org/apache/phoenix/query/BaseTest.java |  2 +-
 3 files changed, 60 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/d26b4eb0/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
index 4eee422..27c9e47 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
@@ -24,9 +24,12 @@ import static org.apache.phoenix.util.PhoenixRuntime.JDBC_PROTOCOL;
 import static org.apache.phoenix.util.PhoenixRuntime.JDBC_PROTOCOL_SEPARATOR;
 import static org.apache.phoenix.util.PhoenixRuntime.JDBC_PROTOCOL_TERMINATOR;
 import static org.apache.phoenix.util.PhoenixRuntime.PHOENIX_TEST_DRIVER_URL_PARAM;
+import static org.apache.phoenix.util.TestUtil.JOIN_ITEM_TABLE_FULL_NAME;
+import static org.apache.phoenix.util.TestUtil.JOIN_SUPPLIER_TABLE_FULL_NAME;
 import static org.apache.phoenix.util.TestUtil.LOCALHOST;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
@@ -785,6 +788,61 @@ public class UserDefinedFunctionsIT extends BaseOwnClusterIT{
     }
 
     @Test
+    public void testUdfWithJoin() throws Exception {
+        String query = "SELECT /*+ USE_SORT_MERGE_JOIN*/ item.\"item_id\", item.name, supp.\"supplier_id\", myreverse8(supp.name) FROM "
+                + JOIN_SUPPLIER_TABLE_FULL_NAME + " supp RIGHT JOIN " + JOIN_ITEM_TABLE_FULL_NAME
+                + " item ON myreverse8(item.\"supplier_id\") = myreverse8(supp.\"supplier_id\") ORDER BY \"item_id\"";
+        Connection conn = driver.connect(url, EMPTY_PROPS);
+        initJoinTableValues(url, null, null);
+        conn.createStatement().execute(
+                "create function myreverse8(VARCHAR) returns VARCHAR as 'org.apache.phoenix.end2end.MyReverse' using jar "
+                        + "'" + util.getConfiguration().get(DYNAMIC_JARS_DIR_KEY) + "/myjar1.jar" + "'");
+        try {
+            PreparedStatement statement = conn.prepareStatement(query);
+            ResultSet rs = statement.executeQuery();
+            assertTrue(rs.next());
+            assertEquals(rs.getString(1), "0000000001");
+            assertEquals(rs.getString(2), "T1");
+            assertEquals(rs.getString(3), "0000000001");
+            assertEquals(rs.getString(4), "1S");
+            assertTrue(rs.next());
+            assertEquals(rs.getString(1), "0000000002");
+            assertEquals(rs.getString(2), "T2");
+            assertEquals(rs.getString(3), "0000000001");
+            assertEquals(rs.getString(4), "1S");
+            assertTrue(rs.next());
+            assertEquals(rs.getString(1), "0000000003");
+            assertEquals(rs.getString(2), "T3");
+            assertEquals(rs.getString(3), "0000000002");
+            assertEquals(rs.getString(4), "2S");
+            assertTrue(rs.next());
+            assertEquals(rs.getString(1), "0000000004");
+            assertEquals(rs.getString(2), "T4");
+            assertEquals(rs.getString(3), "0000000002");
+            assertEquals(rs.getString(4), "2S");
+            assertTrue(rs.next());
+            assertEquals(rs.getString(1), "0000000005");
+            assertEquals(rs.getString(2), "T5");
+            assertEquals(rs.getString(3), "0000000005");
+            assertEquals(rs.getString(4), "5S");
+            assertTrue(rs.next());
+            assertEquals(rs.getString(1), "0000000006");
+            assertEquals(rs.getString(2), "T6");
+            assertEquals(rs.getString(3), "0000000006");
+            assertEquals(rs.getString(4), "6S");
+            assertTrue(rs.next());
+            assertEquals(rs.getString(1), "invalid001");
+            assertEquals(rs.getString(2), "INVALID-1");
+            assertNull(rs.getString(3));
+            assertNull(rs.getString(4));
+
+            assertFalse(rs.next());
+        } finally {
+            conn.close();
+        }
+    }
+
+    @Test
     public void testReplaceFunction() throws Exception {
         Connection conn = driver.connect(url, EMPTY_PROPS);
         Statement stmt = conn.createStatement();

http://git-wip-us.apache.org/repos/asf/phoenix/blob/d26b4eb0/phoenix-core/src/main/java/org/apache/phoenix/compile/QueryCompiler.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/compile/QueryCompiler.java b/phoenix-core/src/main/java/org/apache/phoenix/compile/QueryCompiler.java
index 1cded94..82c9731 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/QueryCompiler.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/QueryCompiler.java
@@ -21,7 +21,6 @@ import java.sql.SQLException;
 import java.sql.SQLFeatureNotSupportedException;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Set;
 
@@ -64,7 +63,6 @@ import org.apache.phoenix.parse.SQLParser;
 import org.apache.phoenix.parse.SelectStatement;
 import org.apache.phoenix.parse.SubqueryParseNode;
 import org.apache.phoenix.parse.TableNode;
-import org.apache.phoenix.parse.UDFParseNode;
 import org.apache.phoenix.query.QueryConstants;
 import org.apache.phoenix.schema.AmbiguousColumnException;
 import org.apache.phoenix.schema.ColumnNotFoundException;
@@ -435,7 +433,7 @@ public class QueryCompiler {
         int fieldPosition = needsMerge ? lhsProjTable.getColumns().size() - lhsProjTable.getPKColumns().size() : 0;
         PTable projectedTable = needsMerge ? JoinCompiler.joinProjectedTables(lhsProjTable, rhsProjTable, type == JoinType.Right ? JoinType.Left : type) : lhsProjTable;
 
-        ColumnResolver resolver = FromCompiler.getResolverForProjectedTable(projectedTable, context.getConnection(), new HashMap<String,UDFParseNode>(1));
+        ColumnResolver resolver = FromCompiler.getResolverForProjectedTable(projectedTable, context.getConnection(), joinTable.getStatement().getUdfParseNodes());
         TableRef tableRef = resolver.getTables().get(0);
         StatementContext subCtx = new StatementContext(statement, resolver, ScanUtil.newScan(originalScan), new SequenceManager(statement));
         subCtx.setCurrentTable(tableRef);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/d26b4eb0/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java b/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java
index bbe8422..c3e54ea 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java
@@ -1506,7 +1506,7 @@ public abstract class BaseTest {
         if (ts != null) {
             props.setProperty(CURRENT_SCN_ATTRIB, ts.toString());
         }
-        Connection conn = DriverManager.getConnection(getUrl(), props);
+        Connection conn = DriverManager.getConnection(url, props);
         try {
             conn.createStatement().execute("CREATE SEQUENCE my.seq");
             // Insert into customer table