Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo into
index_support
Conflicts:
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java
Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/1dcc1b05
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/1dcc1b05
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/1dcc1b05
Branch: refs/heads/index_support
Commit: 1dcc1b058424330281e566626bc17c9a061e8cd8
Parents: 30315e8 d769d78
Author: Jihoon Son <[email protected]>
Authored: Wed Feb 25 14:30:35 2015 +0900
Committer: Jihoon Son <[email protected]>
Committed: Wed Feb 25 14:30:35 2015 +0900
----------------------------------------------------------------------
CHANGES | 2 ++
.../apache/tajo/catalog/store/DerbyStore.java | 2 ++
.../org/apache/tajo/catalog/store/MemStore.java | 25 ++++++++++++++++++
.../catalog/store/XMLCatalogSchemaManager.java | 24 ++++++++++++-----
.../tajo/catalog/store/object/BaseSchema.java | 23 ++++++++++++++++-
.../catalog/store/object/DatabaseObject.java | 27 +++++++++++++++++++-
.../tajo/catalog/store/object/SchemaPatch.java | 23 ++++++++++++++++-
7 files changed, 116 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/1dcc1b05/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java
----------------------------------------------------------------------
diff --cc
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java
index a3ae36d,e37efe6..51eab7d
---
a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java
+++
b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java
@@@ -638,28 -615,34 +638,53 @@@ public class MemStore implements Catalo
}
}
- return protos.toArray(new IndexDescProto[protos.size()]);
+ return indexNames;
}
-
+
@Override
- public List<IndexProto> getAllIndexes() throws CatalogException {
- List<IndexProto> indexList = new ArrayList<CatalogProtos.IndexProto>();
- Set<String> databases = indexes.keySet();
-
- for (String databaseName: databases) {
- Map<String, IndexDescProto> indexMap = indexes.get(databaseName);
-
- for (Map.Entry<String, IndexDescProto> entry: indexMap.entrySet()) {
- IndexDescProto indexDesc = entry.getValue();
- IndexProto.Builder builder = IndexProto.newBuilder();
-
- builder.setColumnName(indexDesc.getColumn().getName());
-
builder.setDataType(indexDesc.getColumn().getDataType().getType().toString());
- builder.setIndexName(entry.getKey());
- builder.setIndexType(indexDesc.getIndexMethod().toString());
- builder.setIsAscending(indexDesc.hasIsAscending() &&
indexDesc.getIsAscending());
- builder.setIsClustered(indexDesc.hasIsClustered() &&
indexDesc.getIsClustered());
- builder.setIsUnique(indexDesc.hasIsUnique() &&
indexDesc.getIsUnique());
-
- indexList.add(builder.build());
+ public boolean existIndexesByTable(String databaseName, String tableName)
throws CatalogException {
+ Map<String, IndexDescProto> indexByColumn =
checkAndGetDatabaseNS(indexesByColumn, databaseName);
+ String simpleTableName = CatalogUtil.extractSimpleName(tableName);
+ for (IndexDescProto proto : indexByColumn.values()) {
+ if (proto.getTableIdentifier().getTableName().equals(simpleTableName)) {
+ return true;
}
}
-
- return indexList;
+ return false;
+ }
+
++// public List<IndexProto> getAllIndexes() throws CatalogException {
++// List<IndexProto> indexList = new ArrayList<CatalogProtos.IndexProto>();
++// Set<String> databases = indexes.keySet();
++//
++// for (String databaseName: databases) {
++// Map<String, IndexDescProto> indexMap = indexes.get(databaseName);
++//
++// for (Map.Entry<String, IndexDescProto> entry: indexMap.entrySet()) {
++// IndexDescProto indexDesc = entry.getValue();
++// IndexProto.Builder builder = IndexProto.newBuilder();
++//
++// builder.setColumnName(indexDesc.getColumn().getName());
++//
builder.setDataType(indexDesc.getColumn().getDataType().getType().toString());
++// builder.setIndexName(entry.getKey());
++// builder.setIndexType(indexDesc.getIndexMethod().toString());
++// builder.setIsAscending(indexDesc.hasIsAscending() &&
indexDesc.getIsAscending());
++// builder.setIsClustered(indexDesc.hasIsClustered() &&
indexDesc.getIsClustered());
++// builder.setIsUnique(indexDesc.hasIsUnique() &&
indexDesc.getIsUnique());
++//
++// indexList.add(builder.build());
++// }
++// }
++// return false;
++// }
++
+ @Override
+ public List<IndexDescProto> getAllIndexes() throws CatalogException {
+ List<IndexDescProto> indexDescProtos = TUtil.newList();
+ for (Map<String,IndexDescProto> indexMap : indexes.values()) {
+ indexDescProtos.addAll(indexMap.values());
+ }
+ return indexDescProtos;
}
@Override