@@ -156,21 +156,15 @@ Result<ArrowArrayStream> MakeArrowArrayStream(std::unique_ptr<Reader> reader) {
156156namespace internal {
157157
158158Status TableScanContext::Validate () const {
159- if (!columns_to_keep_stats.empty () && !return_column_stats) {
160- return InvalidArgument (
161- " Cannot select columns to keep stats when column stats are not returned" );
162- }
163- if (projected_schema != nullptr && !selected_columns.empty ()) {
164- return InvalidArgument (
165- " Cannot set projection schema and selected columns at the same time" );
166- }
167- if (snapshot_id.has_value () &&
168- (from_snapshot_id.has_value () || to_snapshot_id.has_value ())) {
169- return InvalidArgument (" Cannot mix snapshot scan and incremental scan" );
170- }
171- if (min_rows_requested.has_value () && min_rows_requested.value () < 0 ) {
172- return InvalidArgument (" Min rows requested cannot be negative" );
173- }
159+ ICEBERG_CHECK (columns_to_keep_stats.empty () || return_column_stats,
160+ " Cannot select columns to keep stats when column stats are not returned" );
161+ ICEBERG_CHECK (projected_schema == nullptr || selected_columns.empty (),
162+ " Cannot set projection schema and selected columns at the same time" );
163+ ICEBERG_CHECK (!snapshot_id.has_value () ||
164+ (!from_snapshot_id.has_value () && !to_snapshot_id.has_value ()),
165+ " Cannot mix snapshot scan and incremental scan" );
166+ ICEBERG_CHECK (!min_rows_requested.has_value () || min_rows_requested.value () >= 0 ,
167+ " Min rows requested cannot be negative" );
174168 return {};
175169}
176170
@@ -320,23 +314,13 @@ TableScanBuilder& TableScanBuilder::AsOfTime(int64_t timestamp_millis) {
320314 return UseSnapshot (snapshot_id);
321315}
322316
323- TableScanBuilder& TableScanBuilder::FromSnapshotInclusive (
324- [[maybe_unused]] int64_t from_snapshot_id) {
325- return AddError (NotImplemented (" Incremental scan is not implemented" ));
326- }
327-
328- TableScanBuilder& TableScanBuilder::FromSnapshotInclusive (
329- [[maybe_unused]] const std::string& ref) {
330- return AddError (NotImplemented (" Incremental scan is not implemented" ));
331- }
332-
333- TableScanBuilder& TableScanBuilder::FromSnapshotExclusive (
334- [[maybe_unused]] int64_t from_snapshot_id) {
317+ TableScanBuilder& TableScanBuilder::FromSnapshot (
318+ [[maybe_unused]] int64_t from_snapshot_id, [[maybe_unused]] bool inclusive) {
335319 return AddError (NotImplemented (" Incremental scan is not implemented" ));
336320}
337321
338- TableScanBuilder& TableScanBuilder::FromSnapshotExclusive (
339- [[maybe_unused]] const std::string& ref ) {
322+ TableScanBuilder& TableScanBuilder::FromSnapshot ([[maybe_unused]] const std::string& ref,
323+ [[maybe_unused]] bool inclusive ) {
340324 return AddError (NotImplemented (" Incremental scan is not implemented" ));
341325}
342326
0 commit comments