Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -291,9 +291,8 @@ private static void fixDecimalColumnTypeName(List<FieldSchema> cols) {

private void setConstraintsAndStorageHandlerInfo(Table table) throws HiveException {
if (desc.isExtended() || desc.isFormatted()) {
TableConstraintsInfo tableConstraintsInfo = context.getDb()
.getTableConstraints(table.getDbName(), table.getTableName(), false, false,
table.getTTable() != null ? table.getTTable().getId() : -1);
TableConstraintsInfo tableConstraintsInfo = context.getDb().getTableConstraints(
table.getDbName(), table.getTableName(), false, false);
table.setTableConstraintsInfo(tableConstraintsInfo);
table.setStorageHandlerInfo(context.getDb().getStorageHandlerInfo(table));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1449,7 +1449,7 @@ Long bootStrapDump(Path dumpRoot, DumpMetaData dmd, Path cmRoot, Hive hiveDb)
// Just log a debug message and skip it.
LOG.debug(te.getMessage());
}
dumpConstraintMetadata(dbName, tblName, dbRoot, hiveDb, table != null ? table.getTTable().getId() : -1);
dumpConstraintMetadata(dbName, tblName, dbRoot, hiveDb);
if (tableList != null && doesTableSatisfyConfig(table)) {
tableList.add(tblName);
}
Expand Down Expand Up @@ -1789,12 +1789,12 @@ List<EximUtil.DataCopyPath> dumpFunctionMetadata(String dbName, Path dbMetadataR
return functionsBinaryCopyPaths;
}

void dumpConstraintMetadata(String dbName, String tblName, Path dbRoot, Hive hiveDb, long tableId) throws Exception {
void dumpConstraintMetadata(String dbName, String tblName, Path dbRoot, Hive hiveDb) throws Exception {
try {
Path constraintsRoot = new Path(dbRoot, ReplUtils.CONSTRAINTS_ROOT_DIR_NAME);
Path commonConstraintsFile = new Path(constraintsRoot, ConstraintFileType.COMMON.getPrefix() + tblName);
Path fkConstraintsFile = new Path(constraintsRoot, ConstraintFileType.FOREIGNKEY.getPrefix() + tblName);
SQLAllTableConstraints tableConstraints = hiveDb.getTableConstraints(dbName, tblName, tableId);
SQLAllTableConstraints tableConstraints = hiveDb.getTableConstraints(dbName, tblName);
if (CollectionUtils.isNotEmpty(tableConstraints.getPrimaryKeys())
|| CollectionUtils.isNotEmpty(tableConstraints.getUniqueConstraints())
|| CollectionUtils.isNotEmpty(tableConstraints.getNotNullConstraints())
Expand Down
21 changes: 6 additions & 15 deletions ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
Original file line number Diff line number Diff line change
Expand Up @@ -6637,14 +6637,11 @@ public List<SQLCheckConstraint> getCheckConstraintList(String dbName, String tbl
}
}

public SQLAllTableConstraints getTableConstraints(String dbName, String tblName, long tableId)
public SQLAllTableConstraints getTableConstraints(String dbName, String tblName)
throws HiveException, NoSuchObjectException {
try {
ValidWriteIdList validWriteIdList = getValidWriteIdList(dbName, tblName);
AllTableConstraintsRequest request = new AllTableConstraintsRequest(dbName, tblName, getDefaultCatalog(conf));
request.setTableId(tableId);
request.setValidWriteIdList(validWriteIdList != null ? validWriteIdList.writeToString() : null);
return getMSC().getAllTableConstraints(request);
return getMSC().getAllTableConstraints(
new AllTableConstraintsRequest(dbName, tblName, getDefaultCatalog(conf)));
} catch (NoSuchObjectException e) {
throw e;
} catch (Exception e) {
Expand All @@ -6653,18 +6650,12 @@ public SQLAllTableConstraints getTableConstraints(String dbName, String tblName,
}

public TableConstraintsInfo getTableConstraints(String dbName, String tblName, boolean fetchReliable,
boolean fetchEnabled, long tableId) throws HiveException {
boolean fetchEnabled) throws HiveException {
PerfLogger perfLogger = SessionState.getPerfLogger();
perfLogger.perfLogBegin(CLASS_NAME, PerfLogger.HIVE_GET_TABLE_CONSTRAINTS);

try {

ValidWriteIdList validWriteIdList = getValidWriteIdList(dbName,tblName);
AllTableConstraintsRequest request = new AllTableConstraintsRequest(dbName, tblName, getDefaultCatalog(conf));
request.setValidWriteIdList(validWriteIdList != null ? validWriteIdList.writeToString() : null);
request.setTableId(tableId);

SQLAllTableConstraints tableConstraints = getMSC().getAllTableConstraints(request);
SQLAllTableConstraints tableConstraints = getMSC().getAllTableConstraints(
new AllTableConstraintsRequest(dbName, tblName, getDefaultCatalog(conf)));
if (fetchReliable && tableConstraints != null) {
if (CollectionUtils.isNotEmpty(tableConstraints.getPrimaryKeys())) {
tableConstraints.setPrimaryKeys(
Expand Down
3 changes: 1 addition & 2 deletions ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
Original file line number Diff line number Diff line change
Expand Up @@ -1235,8 +1235,7 @@ public TableConstraintsInfo getTableConstraintsInfo() {

if (!isTableConstraintsFetched) {
try {
tableConstraintsInfo = Hive.get().getTableConstraints(this.getDbName(), this.getTableName(), true, true,
this.getTTable() != null ? this.getTTable().getId() : -1);
tableConstraintsInfo = Hive.get().getTableConstraints(this.getDbName(), this.getTableName(), true, true);
this.isTableConstraintsFetched = true;
} catch (HiveException e) {
LOG.warn("Cannot retrieve Table Constraints info for table : " + this.getTableName() + " ignoring exception: " + e);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Path dumpDbMetadata(String dbName, Path metadataRoot, long lastReplId, Hive hive
}

@Override
void dumpConstraintMetadata(String dbName, String tblName, Path dbRoot, Hive hiveDb, long tableId) {
void dumpConstraintMetadata(String dbName, String tblName, Path dbRoot, Hive hiveDb) {
}
}

Expand Down
Loading