Repository: phoenix Updated Branches: refs/heads/4.x-cdh5.11 fc72ea3a6 -> b2829828e
PHOENIX-4726 save sync index build start timestamp Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/88cbbebf Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/88cbbebf Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/88cbbebf Branch: refs/heads/4.x-cdh5.11 Commit: 88cbbebfea27d094c39a7efb5e1bcdce7cd35069 Parents: fc72ea3 Author: Xu Cang <xc...@salesforce.com> Authored: Mon May 7 14:25:42 2018 -0700 Committer: James Taylor <jtay...@salesforce.com> Committed: Wed May 16 21:47:36 2018 -0700 ---------------------------------------------------------------------- .../phoenix/jdbc/PhoenixDatabaseMetaData.java | 1 + .../org/apache/phoenix/schema/MetaDataClient.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/88cbbebf/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java index 55de772..2e12ca2 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java @@ -316,6 +316,7 @@ public class PhoenixDatabaseMetaData implements DatabaseMetaData { public static final String ASYNC_CREATED_DATE = "ASYNC_CREATED_DATE"; public static final String SEQUENCE_TABLE_TYPE = SYSTEM_SEQUENCE_TABLE; + public static final String SYNC_INDEX_CREATED_DATE = "SYNC_INDEX_CREATED_DATE"; public static final String SYSTEM_MUTEX_TABLE_NAME = "MUTEX"; public static final String SYSTEM_MUTEX_NAME = SchemaUtil.getTableName(QueryConstants.SYSTEM_SCHEMA_NAME, SYSTEM_MUTEX_TABLE_NAME); public static final TableName SYSTEM_MUTEX_HBASE_TABLE_NAME = TableName.valueOf(SYSTEM_MUTEX_NAME); http://git-wip-us.apache.org/repos/asf/phoenix/blob/88cbbebf/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 efbb939..56c41d8 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 @@ -74,6 +74,7 @@ import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.RETURN_TYPE; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SALT_BUCKETS; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SORT_ORDER; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.STORE_NULLS; +import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYNC_INDEX_CREATED_DATE; 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.SYSTEM_FUNCTION_TABLE; @@ -264,6 +265,14 @@ public class MetaDataClient { TABLE_NAME + "," + ASYNC_CREATED_DATE + " " + PDate.INSTANCE.getSqlTypeName() + ") VALUES (?, ?, ?, ?)"; + + private static final String SET_INDEX_SYNC_CREATED_DATE = + "UPSERT INTO " + SYSTEM_CATALOG_SCHEMA + ".\"" + SYSTEM_CATALOG_TABLE + "\"( " + + TENANT_ID + "," + + TABLE_SCHEM + "," + + TABLE_NAME + "," + + SYNC_INDEX_CREATED_DATE + " " + PDate.INSTANCE.getSqlTypeName() + + ") VALUES (?, ?, ?, ?)"; private static final String CREATE_TABLE = "UPSERT INTO " + SYSTEM_CATALOG_SCHEMA + ".\"" + SYSTEM_CATALOG_TABLE + "\"( " + TENANT_ID + "," + @@ -2681,6 +2690,14 @@ public class MetaDataClient { setAsync.setString(3, tableName); setAsync.setDate(4, asyncCreatedDate); setAsync.execute(); + } else { + Date syncCreatedDate = new Date(EnvironmentEdgeManager.currentTimeMillis()); + PreparedStatement setSync = connection.prepareStatement(SET_INDEX_SYNC_CREATED_DATE); + setSync.setString(1, tenantIdStr); + setSync.setString(2, schemaName); + setSync.setString(3, tableName); + setSync.setDate(4, syncCreatedDate); + setSync.execute(); } tableMetaData.addAll(connection.getMutationState().toMutations(timestamp).next().getSecond()); connection.rollback();