Gabriel39 commented on code in PR #66247:
URL: https://github.com/apache/doris/pull/66247#discussion_r3679651544
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonScanNode.java:
##########
@@ -995,18 +996,27 @@ private Table getProcessedTable() throws UserException {
throw new UserException("Can not specify scan params and table
snapshot at same time.");
}
+ Table finalTable;
if (theScanParams != null && theScanParams.incrementalRead()) {
// System table handles are cached, so preserve query isolation by
applying dynamic
// options to a copied Paimon table instead of changing the shared
handle.
- return baseTable.copy(getIncrReadParams());
- }
- if (theScanParams != null && theScanParams.isOptions()) {
+ finalTable = baseTable.copy(getIncrReadParams());
+ } else if (theScanParams != null && theScanParams.isOptions()) {
try {
- return source.getPaimonTable(theScanParams);
+ finalTable = source.getPaimonTable(theScanParams);
} catch (IllegalArgumentException e) {
throw new UserException(e.getMessage(), e);
}
+ } else {
+ finalTable = baseTable;
+ }
+ try {
+ // This is the last common boundary before planning and
serialization, including scans
+ // with no relation copy and incremental/system-table paths that
bypass applyOptions.
+
PaimonReaderOptions.validateEffectiveTableOptions(finalTable.options());
Review Comment:
Fixed in 8ea52152291. now recursively validates after the applicable , so
both independently planned children must be safe. The tests construct real
Paimon main/fallback file-store tables and cover both hidden unsafe rejection
and a safe relation override.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]