[
https://issues.apache.org/jira/browse/PHOENIX-1259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14138659#comment-14138659
]
ASF GitHub Bot commented on PHOENIX-1259:
-----------------------------------------
Github user JamesRTaylor commented on a diff in the pull request:
https://github.com/apache/phoenix/pull/12#discussion_r17713508
--- Diff:
phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java ---
@@ -462,6 +471,59 @@ public MutationState createTable(CreateTableStatement
statement, byte[][] splits
return connection.getQueryServices().updateData(plan);
}
+ public MutationState updateStatistics(UpdateStatisticsStatement
updateStatisticsStmt) throws SQLException {
+ TableName tableNameNode =
updateStatisticsStmt.getTable().getName();
+ String tableName = tableNameNode.getTableName();
+ // Check before updating the stats if we have reached the
configured time to reupdate the stats once again
+ long minTimeForStatsUpdate =
connection.getQueryServices().getProps()
+ .getLong(StatisticsConstants.MIN_STATS_FREQ_UPDATION,
StatisticsConstants.DEFAULT_STATS_FREQ_UPDATION);
+ ColumnResolver resolver =
FromCompiler.getResolver(updateStatisticsStmt, connection);
+ PTable table = resolver.getTables().get(0).getTable();
+ PName physicalName = table.getPhysicalName();
+ byte[] tenantIdBytes = ByteUtil.EMPTY_BYTE_ARRAY;
+ KeyRange analyzeRange = KeyRange.EVERYTHING_RANGE;
+ if (connection.getTenantId() != null && table.getBucketNum() ==
null) {
+ tenantIdBytes = connection.getTenantId().getBytes();
--- End diff --
Then here if (table.getBucketNum() == null && table.getIndexType() !=
IndexType.LOCAL)
We need to set tenantIdBytes correctly, even if salted or local. We just
don't want to setup a start/stop range.
Once PHOENIX-1259 is fixed, we can remove this special case.
> Perform partial scan for ANALYZE when table salted or local index
> -----------------------------------------------------------------
>
> Key: PHOENIX-1259
> URL: https://issues.apache.org/jira/browse/PHOENIX-1259
> Project: Phoenix
> Issue Type: Bug
> Reporter: James Taylor
> Assignee: ramkrishna.s.vasudevan
>
> If the table is salted or a local index, we can tweak our logic slightly for
> the start/stop range of the scan we're doing to analyze the table. We should
> pass three new parameters over:
> - the start key/stop key for the scan
> - a boolean for isSalted (table.getBucketNum() != null)
> - a boolean for isLocalIndex (table.getIndexType() == IndexType.LOCAL)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)