@@ -344,23 +344,33 @@ private boolean checkJoinConditionOnPk(LogicalJoin joinRoot, LogicalCatalogRelat
344
344
}
345
345
346
346
private Set <String > getPkInfoFromConstraint (LogicalCatalogRelation table ) {
347
- for (Map .Entry <String , Constraint > constraintMap : table .getTable ().getConstraintsMap ().entrySet ()) {
348
- Constraint constraint = constraintMap .getValue ();
349
- if (constraint instanceof PrimaryKeyConstraint ) {
350
- return ((PrimaryKeyConstraint ) constraint ).getPrimaryKeyNames ();
347
+ table .getTable ().readLock ();
348
+ try {
349
+ for (Map .Entry <String , Constraint > constraintMap : table .getTable ().getConstraintsMap ().entrySet ()) {
350
+ Constraint constraint = constraintMap .getValue ();
351
+ if (constraint instanceof PrimaryKeyConstraint ) {
352
+ return ((PrimaryKeyConstraint ) constraint ).getPrimaryKeyNames ();
353
+ }
351
354
}
355
+ return null ;
356
+ } finally {
357
+ table .getTable ().readUnlock ();
352
358
}
353
- return null ;
354
359
}
355
360
356
361
private Set <String > getUkInfoFromConstraint (LogicalCatalogRelation table ) {
357
- for (Map .Entry <String , Constraint > constraintMap : table .getTable ().getConstraintsMap ().entrySet ()) {
358
- Constraint constraint = constraintMap .getValue ();
359
- if (constraint instanceof UniqueConstraint ) {
360
- return ((UniqueConstraint ) constraint ).getUniqueColumnNames ();
362
+ table .getTable ().readLock ();
363
+ try {
364
+ for (Map .Entry <String , Constraint > constraintMap : table .getTable ().getConstraintsMap ().entrySet ()) {
365
+ Constraint constraint = constraintMap .getValue ();
366
+ if (constraint instanceof UniqueConstraint ) {
367
+ return ((UniqueConstraint ) constraint ).getUniqueColumnNames ();
368
+ }
361
369
}
370
+ return null ;
371
+ } finally {
372
+ table .getTable ().readUnlock ();
362
373
}
363
- return null ;
364
374
}
365
375
366
376
private boolean checkJoinRoot (LogicalJoin joinRoot ) {
0 commit comments