You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ra...@apache.org on 2014/09/25 12:34:01 UTC
git commit: Phoenix-1275 SYSTEM.STATS table is not created when
SYSTEM.CATALOG is already present
Repository: phoenix
Updated Branches:
refs/heads/master 6908c90b5 -> 940b70d65
Phoenix-1275 SYSTEM.STATS table is not created when SYSTEM.CATALOG is
already present
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/940b70d6
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/940b70d6
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/940b70d6
Branch: refs/heads/master
Commit: 940b70d65495e93c67323ef93eca8191fecdfe98
Parents: 6908c90
Author: Ramkrishna <ra...@intel.com>
Authored: Thu Sep 25 16:03:05 2014 +0530
Committer: Ramkrishna <ra...@intel.com>
Committed: Thu Sep 25 16:03:05 2014 +0530
----------------------------------------------------------------------
.../query/ConnectionQueryServicesImpl.java | 26 ++++++++++++++------
1 file changed, 19 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/940b70d6/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index 2512178..dfd56bc 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -17,10 +17,6 @@
*/
package org.apache.phoenix.query;
-import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.CYCLE_FLAG;
-import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.LIMIT_REACHED_FLAG;
-import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.MAX_VALUE;
-import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.MIN_VALUE;
import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME_BYTES;
import static org.apache.phoenix.query.QueryServicesOptions.DEFAULT_DROP_METADATA;
@@ -1518,12 +1514,28 @@ public class ConnectionQueryServicesImpl extends DelegateQueryServices implement
}
try {
metaConnection.createStatement().executeUpdate(QueryConstants.CREATE_SEQUENCE_METADATA);
-
- // TODO : Get this from a configuration
+ } catch (NewerTableAlreadyExistsException ignore) {
+ // Ignore, as this will happen if the SYSTEM.SEQUENCE already exists at this fixed timestamp.
+ // A TableAlreadyExistsException is not thrown, since the table only exists *after* this fixed timestamp.
+
+ } catch (TableAlreadyExistsException ignore) {
+ // This will occur if we have an older SYSTEM.SEQUENCE, so we need to update it to include
+ // any new columns we've added.
+ String newColumns = PhoenixDatabaseMetaData.MIN_VALUE + " " + PDataType.LONG.getSqlTypeName() + ", "
+ + PhoenixDatabaseMetaData.MAX_VALUE + " " + PDataType.LONG.getSqlTypeName() + ", " + PhoenixDatabaseMetaData.CYCLE_FLAG + " "
+ + PDataType.BOOLEAN.getSqlTypeName() + ", " + PhoenixDatabaseMetaData.LIMIT_REACHED_FLAG + " "
+ + PDataType.BOOLEAN.getSqlTypeName();
+ metaConnection = addColumnsIfNotExists(metaConnection,
+ PhoenixDatabaseMetaData.SEQUENCE_TABLE_NAME,
+ MetaDataProtocol.MIN_SYSTEM_TABLE_TIMESTAMP, newColumns);
+ }
+ try {
metaConnection.createStatement().executeUpdate(
QueryConstants.CREATE_STATS_TABLE_METADATA);
} catch (NewerTableAlreadyExistsException ignore) {
- } catch (TableAlreadyExistsException ignore) {
+
+ } catch(TableAlreadyExistsException ignore) {
+
}
} catch (Exception e) {
if (e instanceof SQLException) {