[06/15] git commit: PHOENIX-1366 ORDINAL_POSITION incorrect for multi-tenant table over tenant-specific connection (Bruno Dumon)
PHOENIX-1366 ORDINAL_POSITION incorrect for multi-tenant table over tenant-specific connection (Bruno Dumon) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/60fee11b Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/60fee11b Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/60fee11b Branch: refs/heads/3.2 Commit: 60fee11be5e9968d7922215c24aaeb29cdaf416b Parents: 2bdc33b Author: James Taylor Authored: Sun Oct 26 20:46:03 2014 -0700 Committer: James Taylor Committed: Sun Oct 26 20:51:21 2014 -0700 -- .../end2end/TenantSpecificTablesDDLIT.java | 23 ++- .../phoenix/jdbc/PhoenixDatabaseMetaData.java | 31 2 files changed, 42 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/60fee11b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java index 589e963..42fe5b8 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java @@ -22,6 +22,8 @@ import static org.apache.phoenix.exception.SQLExceptionCode.CANNOT_DROP_PK; import static org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MODIFY_VIEW_PK; import static org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MUTATE_TABLE; import static org.apache.phoenix.exception.SQLExceptionCode.TABLE_UNDEFINED; +import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.KEY_SEQ; +import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.ORDINAL_POSITION; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_TABLE; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.TYPE_SEQUENCE; @@ -554,21 +556,22 @@ public class TenantSpecificTablesDDLIT extends BaseTenantSpecificTablesIT { // make sure tenants see parent table's columns and their own rs = meta.getColumns(null, null, StringUtil.escapeLike(TENANT_TABLE_NAME) + "%", null); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "user"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "user", 1); assertTrue(rs.next()); // (tenant_id column is not visible in tenant-specific connection) -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_type_id"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_type_id", 2); +assertEquals(1, rs.getInt(KEY_SEQ)); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "id"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "id", 3); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_col"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_col", 4); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "user"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "user", 1); assertTrue(rs.next()); // (tenant_id column is not visible in tenant-specific connection) -assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "id"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "id", 2); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "tenant_col"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "tenant_col", 3); assertFalse(rs.next()); } finally { @@ -587,4 +590,10 @@ public class TenantSpecificTablesDDLIT extends BaseTenantSpecificTablesIT { assertEquals(table, rs.getString("TABLE_NAME")); assertEquals(SchemaUtil.normalizeIdentifier(column), rs.getString("COLUMN_NAME")); } + +private void assertColumnMetaData(ResultSet rs, String schema, String table, String column, int ordinalPosition) +throws SQLException { +assertColumnMetaData(rs, schema, table, column); +assertEquals(ordinalPosition, rs.getInt(ORDINAL_POSITION)); +} } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/phoenix/blob/60fee11b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java
[04/24] git commit: PHOENIX-1366 ORDINAL_POSITION incorrect for multi-tenant table over tenant-specific connection (Bruno Dumon)
PHOENIX-1366 ORDINAL_POSITION incorrect for multi-tenant table over tenant-specific connection (Bruno Dumon) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/553fb4b3 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/553fb4b3 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/553fb4b3 Branch: refs/heads/4.2 Commit: 553fb4b33541531045435ed18e8ed5798edd6017 Parents: 4753c4e Author: James Taylor Authored: Sun Oct 26 20:46:03 2014 -0700 Committer: James Taylor Committed: Sun Oct 26 20:46:03 2014 -0700 -- .../end2end/TenantSpecificTablesDDLIT.java | 23 ++- .../phoenix/jdbc/PhoenixDatabaseMetaData.java | 31 2 files changed, 42 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/553fb4b3/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java index 589e963..42fe5b8 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java @@ -22,6 +22,8 @@ import static org.apache.phoenix.exception.SQLExceptionCode.CANNOT_DROP_PK; import static org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MODIFY_VIEW_PK; import static org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MUTATE_TABLE; import static org.apache.phoenix.exception.SQLExceptionCode.TABLE_UNDEFINED; +import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.KEY_SEQ; +import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.ORDINAL_POSITION; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_TABLE; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.TYPE_SEQUENCE; @@ -554,21 +556,22 @@ public class TenantSpecificTablesDDLIT extends BaseTenantSpecificTablesIT { // make sure tenants see parent table's columns and their own rs = meta.getColumns(null, null, StringUtil.escapeLike(TENANT_TABLE_NAME) + "%", null); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "user"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "user", 1); assertTrue(rs.next()); // (tenant_id column is not visible in tenant-specific connection) -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_type_id"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_type_id", 2); +assertEquals(1, rs.getInt(KEY_SEQ)); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "id"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "id", 3); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_col"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_col", 4); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "user"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "user", 1); assertTrue(rs.next()); // (tenant_id column is not visible in tenant-specific connection) -assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "id"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "id", 2); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "tenant_col"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "tenant_col", 3); assertFalse(rs.next()); } finally { @@ -587,4 +590,10 @@ public class TenantSpecificTablesDDLIT extends BaseTenantSpecificTablesIT { assertEquals(table, rs.getString("TABLE_NAME")); assertEquals(SchemaUtil.normalizeIdentifier(column), rs.getString("COLUMN_NAME")); } + +private void assertColumnMetaData(ResultSet rs, String schema, String table, String column, int ordinalPosition) +throws SQLException { +assertColumnMetaData(rs, schema, table, column); +assertEquals(ordinalPosition, rs.getInt(ORDINAL_POSITION)); +} } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/phoenix/blob/553fb4b3/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java
[1/2] git commit: PHOENIX-1366 ORDINAL_POSITION incorrect for multi-tenant table over tenant-specific connection (Bruno Dumon)
Repository: phoenix Updated Branches: refs/heads/3.0 2bdc33bc5 -> 0d90e2fc9 PHOENIX-1366 ORDINAL_POSITION incorrect for multi-tenant table over tenant-specific connection (Bruno Dumon) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/60fee11b Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/60fee11b Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/60fee11b Branch: refs/heads/3.0 Commit: 60fee11be5e9968d7922215c24aaeb29cdaf416b Parents: 2bdc33b Author: James Taylor Authored: Sun Oct 26 20:46:03 2014 -0700 Committer: James Taylor Committed: Sun Oct 26 20:51:21 2014 -0700 -- .../end2end/TenantSpecificTablesDDLIT.java | 23 ++- .../phoenix/jdbc/PhoenixDatabaseMetaData.java | 31 2 files changed, 42 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/60fee11b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java index 589e963..42fe5b8 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java @@ -22,6 +22,8 @@ import static org.apache.phoenix.exception.SQLExceptionCode.CANNOT_DROP_PK; import static org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MODIFY_VIEW_PK; import static org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MUTATE_TABLE; import static org.apache.phoenix.exception.SQLExceptionCode.TABLE_UNDEFINED; +import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.KEY_SEQ; +import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.ORDINAL_POSITION; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_TABLE; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.TYPE_SEQUENCE; @@ -554,21 +556,22 @@ public class TenantSpecificTablesDDLIT extends BaseTenantSpecificTablesIT { // make sure tenants see parent table's columns and their own rs = meta.getColumns(null, null, StringUtil.escapeLike(TENANT_TABLE_NAME) + "%", null); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "user"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "user", 1); assertTrue(rs.next()); // (tenant_id column is not visible in tenant-specific connection) -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_type_id"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_type_id", 2); +assertEquals(1, rs.getInt(KEY_SEQ)); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "id"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "id", 3); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_col"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_col", 4); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "user"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "user", 1); assertTrue(rs.next()); // (tenant_id column is not visible in tenant-specific connection) -assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "id"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "id", 2); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "tenant_col"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "tenant_col", 3); assertFalse(rs.next()); } finally { @@ -587,4 +590,10 @@ public class TenantSpecificTablesDDLIT extends BaseTenantSpecificTablesIT { assertEquals(table, rs.getString("TABLE_NAME")); assertEquals(SchemaUtil.normalizeIdentifier(column), rs.getString("COLUMN_NAME")); } + +private void assertColumnMetaData(ResultSet rs, String schema, String table, String column, int ordinalPosition) +throws SQLException { +assertColumnMetaData(rs, schema, table, column); +assertEquals(ordinalPosition, rs.getInt(ORDINAL_POSITION)); +} } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/phoenix/blob/60fee11b
git commit: PHOENIX-1366 ORDINAL_POSITION incorrect for multi-tenant table over tenant-specific connection (Bruno Dumon)
Repository: phoenix Updated Branches: refs/heads/master 06a511cff -> 53c1fd788 PHOENIX-1366 ORDINAL_POSITION incorrect for multi-tenant table over tenant-specific connection (Bruno Dumon) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/53c1fd78 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/53c1fd78 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/53c1fd78 Branch: refs/heads/master Commit: 53c1fd7884a5eeaecf882cb199f7a25acb2d8212 Parents: 06a511c Author: James Taylor Authored: Sun Oct 26 20:46:03 2014 -0700 Committer: James Taylor Committed: Sun Oct 26 20:47:31 2014 -0700 -- .../end2end/TenantSpecificTablesDDLIT.java | 23 ++- .../phoenix/jdbc/PhoenixDatabaseMetaData.java | 31 2 files changed, 42 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/53c1fd78/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java index 589e963..42fe5b8 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java @@ -22,6 +22,8 @@ import static org.apache.phoenix.exception.SQLExceptionCode.CANNOT_DROP_PK; import static org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MODIFY_VIEW_PK; import static org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MUTATE_TABLE; import static org.apache.phoenix.exception.SQLExceptionCode.TABLE_UNDEFINED; +import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.KEY_SEQ; +import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.ORDINAL_POSITION; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_TABLE; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.TYPE_SEQUENCE; @@ -554,21 +556,22 @@ public class TenantSpecificTablesDDLIT extends BaseTenantSpecificTablesIT { // make sure tenants see parent table's columns and their own rs = meta.getColumns(null, null, StringUtil.escapeLike(TENANT_TABLE_NAME) + "%", null); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "user"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "user", 1); assertTrue(rs.next()); // (tenant_id column is not visible in tenant-specific connection) -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_type_id"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_type_id", 2); +assertEquals(1, rs.getInt(KEY_SEQ)); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "id"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "id", 3); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_col"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_col", 4); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "user"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "user", 1); assertTrue(rs.next()); // (tenant_id column is not visible in tenant-specific connection) -assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "id"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "id", 2); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "tenant_col"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "tenant_col", 3); assertFalse(rs.next()); } finally { @@ -587,4 +590,10 @@ public class TenantSpecificTablesDDLIT extends BaseTenantSpecificTablesIT { assertEquals(table, rs.getString("TABLE_NAME")); assertEquals(SchemaUtil.normalizeIdentifier(column), rs.getString("COLUMN_NAME")); } + +private void assertColumnMetaData(ResultSet rs, String schema, String table, String column, int ordinalPosition) +throws SQLException { +assertColumnMetaData(rs, schema, table, column); +assertEquals(ordinalPosition, rs.getInt(ORDINAL_POSITION)); +} } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/phoenix/blob/53
git commit: PHOENIX-1366 ORDINAL_POSITION incorrect for multi-tenant table over tenant-specific connection (Bruno Dumon)
Repository: phoenix Updated Branches: refs/heads/4.0 4753c4efe -> 553fb4b33 PHOENIX-1366 ORDINAL_POSITION incorrect for multi-tenant table over tenant-specific connection (Bruno Dumon) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/553fb4b3 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/553fb4b3 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/553fb4b3 Branch: refs/heads/4.0 Commit: 553fb4b33541531045435ed18e8ed5798edd6017 Parents: 4753c4e Author: James Taylor Authored: Sun Oct 26 20:46:03 2014 -0700 Committer: James Taylor Committed: Sun Oct 26 20:46:03 2014 -0700 -- .../end2end/TenantSpecificTablesDDLIT.java | 23 ++- .../phoenix/jdbc/PhoenixDatabaseMetaData.java | 31 2 files changed, 42 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/553fb4b3/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java index 589e963..42fe5b8 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java @@ -22,6 +22,8 @@ import static org.apache.phoenix.exception.SQLExceptionCode.CANNOT_DROP_PK; import static org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MODIFY_VIEW_PK; import static org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MUTATE_TABLE; import static org.apache.phoenix.exception.SQLExceptionCode.TABLE_UNDEFINED; +import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.KEY_SEQ; +import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.ORDINAL_POSITION; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_TABLE; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.TYPE_SEQUENCE; @@ -554,21 +556,22 @@ public class TenantSpecificTablesDDLIT extends BaseTenantSpecificTablesIT { // make sure tenants see parent table's columns and their own rs = meta.getColumns(null, null, StringUtil.escapeLike(TENANT_TABLE_NAME) + "%", null); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "user"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "user", 1); assertTrue(rs.next()); // (tenant_id column is not visible in tenant-specific connection) -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_type_id"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_type_id", 2); +assertEquals(1, rs.getInt(KEY_SEQ)); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "id"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "id", 3); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_col"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME, "tenant_col", 4); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "user"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "user", 1); assertTrue(rs.next()); // (tenant_id column is not visible in tenant-specific connection) -assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "id"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "id", 2); assertTrue(rs.next()); -assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "tenant_col"); +assertColumnMetaData(rs, null, TENANT_TABLE_NAME_NO_TENANT_TYPE_ID, "tenant_col", 3); assertFalse(rs.next()); } finally { @@ -587,4 +590,10 @@ public class TenantSpecificTablesDDLIT extends BaseTenantSpecificTablesIT { assertEquals(table, rs.getString("TABLE_NAME")); assertEquals(SchemaUtil.normalizeIdentifier(column), rs.getString("COLUMN_NAME")); } + +private void assertColumnMetaData(ResultSet rs, String schema, String table, String column, int ordinalPosition) +throws SQLException { +assertColumnMetaData(rs, schema, table, column); +assertEquals(ordinalPosition, rs.getInt(ORDINAL_POSITION)); +} } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/phoenix/blob/553fb4b3