in src/main/java/org/apache/paimon/trino/TrinoTableHandle.java [117:133]
public Table tableWithDynamicOptions(TrinoCatalog catalog, ConnectorSession session) {
Table paimonTable = table(catalog);
// see TrinoConnector.getSessionProperties
Map<String, String> dynamicOptions = new HashMap<>();
Long scanTimestampMills = TrinoSessionProperties.getScanTimestampMillis(session);
if (scanTimestampMills != null) {
dynamicOptions.put(
CoreOptions.SCAN_TIMESTAMP_MILLIS.key(), scanTimestampMills.toString());
}
Long scanSnapshotId = TrinoSessionProperties.getScanSnapshotId(session);
if (scanSnapshotId != null) {
dynamicOptions.put(CoreOptions.SCAN_SNAPSHOT_ID.key(), scanSnapshotId.toString());
}
return dynamicOptions.size() > 0 ? paimonTable.copy(dynamicOptions) : paimonTable;
}