@Override
  public ConnectorPageSource createPageSource(
      ConnectorTransactionHandle transaction,
      ConnectorSession session,
      ConnectorSplit connectorSplit,
      ConnectorTableHandle connectorTable,
      List<ColumnHandle> columns,
      DynamicFilter dynamicFilter) {
    Map<Integer, Optional<String>> idToConstant = new HashMap<>();
    IcebergSplit icebergSplit = (IcebergSplit) connectorSplit;
    idToConstant.put(
        MetadataColumns.TRANSACTION_ID_FILED_ID,
        Optional.ofNullable(icebergSplit.getTransactionId()).map(s -> s.toString()));
    idToConstant.put(
        MetadataColumns.CHANGE_ACTION_ID,
        Optional.ofNullable(icebergSplit.getFileType())
            .map(
                s ->
                    s == DataFileType.EQ_DELETE_FILE
                        ? ChangeAction.DELETE.name()
                        : ChangeAction.INSERT.name()));
    DateTimeZone dateTimeZone = UTC;
    if (connectorTable instanceof AdaptHiveIcebergTableHandle) {
      dateTimeZone = DateTimeZone.forID(TimeZone.getDefault().getID());
    }
    return createPageSource(
        transaction,
        session,
        connectorSplit,
        connectorTable,
        columns,
        dynamicFilter,
        idToConstant,
        true,
        dateTimeZone);
  }
Extend IcebergPageSourceProvider to provider idToConstant that the map of columns id to constant
value
amoro-format-mixed/amoro-mixed-trino/src/main/java/org/apache/amoro/trino/unkeyed/IcebergPageSourceProvider.java