zeroshade commented on issue #2102: URL: https://github.com/apache/iceberg-go/issues/2102#issuecomment-6021058827
> An explicit option that conflicts with the directive. Java has no per-scan option to compare against. Its client setting is catalog-wide and loses to the server with a warning. I propose an error for an explicit per-scan conflict, as the ScanPlanningMode doc comment already describes. The alternative is to follow Java: warn, and let the server win. I agree with you here and that we should error in this scenario. > Telling an explicit local apart from the default. Table.Scan currently defaults to ScanPlanningLocal. That would need an unexported "unset" default, so an explicit local can be detected without changing the public constants. Agreed, we need to be able to tell an explicitly set one from the default > Where the directive comes from. The current scanPlanningConfig merges catalog properties, table-metadata properties and the server's config. That matches Java's precedence, but it also lets a table property act as the directive, and it can't produce Java's mismatch warning. I propose resolving catalog properties and the server config separately, ignoring table properties, and logging the warning. Good proposal, I agree with you there. > Failing at LoadTable when the plan endpoint is missing. This matches Java, but it also blocks metadata-only use of that table, such as reading the schema or committing. Is that acceptable? My opinion is that we should only error when attempting to plan in this scenario. metadata-only use should work -- 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]
