You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ka...@apache.org on 2019/02/07 01:55:09 UTC
[phoenix] branch 4.x-HBase-1.3 updated: PHOENIX-5121 Move
unnecessary sorting and fetching out of loop
This is an automated email from the ASF dual-hosted git repository.
karanmehta93 pushed a commit to branch 4.x-HBase-1.3
in repository https://gitbox.apache.org/repos/asf/phoenix.git
The following commit(s) were added to refs/heads/4.x-HBase-1.3 by this push:
new 6c4edee PHOENIX-5121 Move unnecessary sorting and fetching out of loop
6c4edee is described below
commit 6c4edeec27365f7ff99af41cd809b0651ec54864
Author: Aman Poonia <am...@gmail.com>
AuthorDate: Tue Feb 5 05:53:26 2019 +0530
PHOENIX-5121 Move unnecessary sorting and fetching out of loop
---
.../phoenix/jdbc/PhoenixDatabaseMetaData.java | 56 +++++++++++-----------
1 file changed, 28 insertions(+), 28 deletions(-)
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 61ba0fc..f747b90 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
@@ -721,23 +721,23 @@ public class PhoenixDatabaseMetaData implements DatabaseMetaData {
try {
boolean isTenantSpecificConnection = connection.getTenantId() != null;
List<Tuple> tuples = Lists.newArrayListWithExpectedSize(10);
+ // Allow a "." in columnNamePattern for column family match
+ String colPattern = null;
+ String cfPattern = null;
+ if (columnNamePattern != null && columnNamePattern.length() > 0) {
+ int index = columnNamePattern.indexOf('.');
+ if (index <= 0) {
+ colPattern = columnNamePattern;
+ } else {
+ cfPattern = columnNamePattern.substring(0, index);
+ if (columnNamePattern.length() > index+1) {
+ colPattern = columnNamePattern.substring(index+1);
+ }
+ }
+ }
ResultSet rs = getTables(catalog, schemaPattern, tableNamePattern, null);
while (rs.next()) {
String schemaName = rs.getString(TABLE_SCHEM);
- // Allow a "." in columnNamePattern for column family match
- String colPattern = null;
- String cfPattern = null;
- if (columnNamePattern != null && columnNamePattern.length() > 0) {
- int index = columnNamePattern.indexOf('.');
- if (index <= 0) {
- colPattern = columnNamePattern;
- } else {
- cfPattern = columnNamePattern.substring(0, index);
- if (columnNamePattern.length() > index+1) {
- colPattern = columnNamePattern.substring(index+1);
- }
- }
- }
String tableName = rs.getString(TABLE_NAME);
String tenantId = rs.getString(TABLE_CAT);
String fullTableName = SchemaUtil.getTableName(schemaName, tableName);
@@ -1148,25 +1148,25 @@ public class PhoenixDatabaseMetaData implements DatabaseMetaData {
if (tableName == null || tableName.length() == 0) {
return emptyResultSet;
}
+ String fullTableName = SchemaUtil.getTableName(schemaName, tableName);
+ PTable table = PhoenixRuntime.getTableNoCache(connection, fullTableName);
+ boolean isSalted = table.getBucketNum() != null;
+ boolean tenantColSkipped = false;
+ List<PColumn> pkColumns = table.getPKColumns();
+ List<PColumn> sorderPkColumns =
+ Lists.newArrayList(pkColumns.subList(isSalted ? 1 : 0, pkColumns.size()));
+ // sort the columns by name
+ Collections.sort(sorderPkColumns, new Comparator<PColumn>(){
+ @Override public int compare(PColumn c1, PColumn c2) {
+ return c1.getName().getString().compareTo(c2.getName().getString());
+ }
+ });
+
try {
List<Tuple> tuples = Lists.newArrayListWithExpectedSize(10);
ResultSet rs = getTables(catalog, schemaName, tableName, null);
while (rs.next()) {
String tenantId = rs.getString(TABLE_CAT);
- String fullTableName = SchemaUtil.getTableName(schemaName, tableName);
- PTable table = PhoenixRuntime.getTableNoCache(connection, fullTableName);
- boolean isSalted = table.getBucketNum() != null;
- boolean tenantColSkipped = false;
- List<PColumn> pkColumns = table.getPKColumns();
- List<PColumn> sorderPkColumns =
- Lists.newArrayList(pkColumns.subList(isSalted ? 1 : 0, pkColumns.size()));
- // sort the columns by name
- Collections.sort(sorderPkColumns, new Comparator<PColumn>(){
- @Override public int compare(PColumn c1, PColumn c2) {
- return c1.getName().getString().compareTo(c2.getName().getString());
- }
- });
-
for (PColumn column : sorderPkColumns) {
String columnName = column.getName().getString();
// generate row key