[06/15] git commit: PHOENIX-1366 ORDINAL_POSITION incorrect for multi-tenant table over tenant-specific connection (Bruno Dumon)

2014-10-28 Thread jamestaylor
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)

2014-10-28 Thread jamestaylor
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)

2014-10-26 Thread jamestaylor
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)

2014-10-26 Thread jamestaylor
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)

2014-10-26 Thread jamestaylor
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