Skip to content

Commit 1ac1302

Browse files
committed
deploy: 3aa7ade
1 parent 22acc9b commit 1ac1302

File tree

1 file changed

+70
-67
lines changed

1 file changed

+70
-67
lines changed

api/src/iceberg/transaction/snapshot.rs.html

Lines changed: 70 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -380,71 +380,74 @@
380380
<a href=#380 id=380 data-nosnippet>380</a> snapshot_produce_operation: OP,
381381
<a href=#381 id=381 data-nosnippet>381</a> process: MP,
382382
<a href=#382 id=382 data-nosnippet>382</a> ) -&gt; <span class="prelude-ty">Result</span>&lt;ActionCommit&gt; {
383-
<a href=#383 id=383 data-nosnippet>383</a> <span class="kw">let </span>new_manifests = <span class="self">self
384-
<a href=#384 id=384 data-nosnippet>384</a> </span>.manifest_file(<span class="kw-2">&amp;</span>snapshot_produce_operation, <span class="kw-2">&amp;</span>process)
385-
<a href=#385 id=385 data-nosnippet>385</a> .<span class="kw">await</span><span class="question-mark">?</span>;
386-
<a href=#386 id=386 data-nosnippet>386</a> <span class="kw">let </span>next_seq_num = <span class="self">self</span>.table.metadata().next_sequence_number();
387-
<a href=#387 id=387 data-nosnippet>387</a>
388-
<a href=#388 id=388 data-nosnippet>388</a> <span class="kw">let </span>summary = <span class="self">self</span>.summary(<span class="kw-2">&amp;</span>snapshot_produce_operation).map_err(|err| {
389-
<a href=#389 id=389 data-nosnippet>389</a> Error::new(ErrorKind::Unexpected, <span class="string">"Failed to create snapshot summary."</span>).with_source(err)
390-
<a href=#390 id=390 data-nosnippet>390</a> })<span class="question-mark">?</span>;
391-
<a href=#391 id=391 data-nosnippet>391</a>
392-
<a href=#392 id=392 data-nosnippet>392</a> <span class="kw">let </span>manifest_list_path = <span class="self">self</span>.generate_manifest_list_file_path(<span class="number">0</span>);
393-
<a href=#393 id=393 data-nosnippet>393</a>
394-
<a href=#394 id=394 data-nosnippet>394</a> <span class="kw">let </span><span class="kw-2">mut </span>manifest_list_writer = <span class="kw">match </span><span class="self">self</span>.table.metadata().format_version() {
395-
<a href=#395 id=395 data-nosnippet>395</a> FormatVersion::V1 =&gt; ManifestListWriter::v1(
396-
<a href=#396 id=396 data-nosnippet>396</a> <span class="self">self</span>.table
397-
<a href=#397 id=397 data-nosnippet>397</a> .file_io()
398-
<a href=#398 id=398 data-nosnippet>398</a> .new_output(manifest_list_path.clone())<span class="question-mark">?</span>,
399-
<a href=#399 id=399 data-nosnippet>399</a> <span class="self">self</span>.snapshot_id,
400-
<a href=#400 id=400 data-nosnippet>400</a> <span class="self">self</span>.table.metadata().current_snapshot_id(),
401-
<a href=#401 id=401 data-nosnippet>401</a> ),
402-
<a href=#402 id=402 data-nosnippet>402</a> FormatVersion::V2 =&gt; ManifestListWriter::v2(
403-
<a href=#403 id=403 data-nosnippet>403</a> <span class="self">self</span>.table
404-
<a href=#404 id=404 data-nosnippet>404</a> .file_io()
405-
<a href=#405 id=405 data-nosnippet>405</a> .new_output(manifest_list_path.clone())<span class="question-mark">?</span>,
406-
<a href=#406 id=406 data-nosnippet>406</a> <span class="self">self</span>.snapshot_id,
407-
<a href=#407 id=407 data-nosnippet>407</a> <span class="self">self</span>.table.metadata().current_snapshot_id(),
408-
<a href=#408 id=408 data-nosnippet>408</a> next_seq_num,
409-
<a href=#409 id=409 data-nosnippet>409</a> ),
410-
<a href=#410 id=410 data-nosnippet>410</a> };
411-
<a href=#411 id=411 data-nosnippet>411</a> manifest_list_writer.add_manifests(new_manifests.into_iter())<span class="question-mark">?</span>;
412-
<a href=#412 id=412 data-nosnippet>412</a> manifest_list_writer.close().<span class="kw">await</span><span class="question-mark">?</span>;
383+
<a href=#383 id=383 data-nosnippet>383</a> <span class="kw">let </span>manifest_list_path = <span class="self">self</span>.generate_manifest_list_file_path(<span class="number">0</span>);
384+
<a href=#384 id=384 data-nosnippet>384</a> <span class="kw">let </span>next_seq_num = <span class="self">self</span>.table.metadata().next_sequence_number();
385+
<a href=#385 id=385 data-nosnippet>385</a> <span class="kw">let </span><span class="kw-2">mut </span>manifest_list_writer = <span class="kw">match </span><span class="self">self</span>.table.metadata().format_version() {
386+
<a href=#386 id=386 data-nosnippet>386</a> FormatVersion::V1 =&gt; ManifestListWriter::v1(
387+
<a href=#387 id=387 data-nosnippet>387</a> <span class="self">self</span>.table
388+
<a href=#388 id=388 data-nosnippet>388</a> .file_io()
389+
<a href=#389 id=389 data-nosnippet>389</a> .new_output(manifest_list_path.clone())<span class="question-mark">?</span>,
390+
<a href=#390 id=390 data-nosnippet>390</a> <span class="self">self</span>.snapshot_id,
391+
<a href=#391 id=391 data-nosnippet>391</a> <span class="self">self</span>.table.metadata().current_snapshot_id(),
392+
<a href=#392 id=392 data-nosnippet>392</a> ),
393+
<a href=#393 id=393 data-nosnippet>393</a> FormatVersion::V2 =&gt; ManifestListWriter::v2(
394+
<a href=#394 id=394 data-nosnippet>394</a> <span class="self">self</span>.table
395+
<a href=#395 id=395 data-nosnippet>395</a> .file_io()
396+
<a href=#396 id=396 data-nosnippet>396</a> .new_output(manifest_list_path.clone())<span class="question-mark">?</span>,
397+
<a href=#397 id=397 data-nosnippet>397</a> <span class="self">self</span>.snapshot_id,
398+
<a href=#398 id=398 data-nosnippet>398</a> <span class="self">self</span>.table.metadata().current_snapshot_id(),
399+
<a href=#399 id=399 data-nosnippet>399</a> next_seq_num,
400+
<a href=#400 id=400 data-nosnippet>400</a> ),
401+
<a href=#401 id=401 data-nosnippet>401</a> };
402+
<a href=#402 id=402 data-nosnippet>402</a>
403+
<a href=#403 id=403 data-nosnippet>403</a> <span class="comment">// Calling self.summary() before self.manifest_file() is important because self.added_data_files
404+
<a href=#404 id=404 data-nosnippet>404</a> // will be set to an empty vec after self.manifest_file() returns, resulting in an empty summary
405+
<a href=#405 id=405 data-nosnippet>405</a> // being generated.
406+
<a href=#406 id=406 data-nosnippet>406</a> </span><span class="kw">let </span>summary = <span class="self">self</span>.summary(<span class="kw-2">&amp;</span>snapshot_produce_operation).map_err(|err| {
407+
<a href=#407 id=407 data-nosnippet>407</a> Error::new(ErrorKind::Unexpected, <span class="string">"Failed to create snapshot summary."</span>).with_source(err)
408+
<a href=#408 id=408 data-nosnippet>408</a> })<span class="question-mark">?</span>;
409+
<a href=#409 id=409 data-nosnippet>409</a>
410+
<a href=#410 id=410 data-nosnippet>410</a> <span class="kw">let </span>new_manifests = <span class="self">self
411+
<a href=#411 id=411 data-nosnippet>411</a> </span>.manifest_file(<span class="kw-2">&amp;</span>snapshot_produce_operation, <span class="kw-2">&amp;</span>process)
412+
<a href=#412 id=412 data-nosnippet>412</a> .<span class="kw">await</span><span class="question-mark">?</span>;
413413
<a href=#413 id=413 data-nosnippet>413</a>
414-
<a href=#414 id=414 data-nosnippet>414</a> <span class="kw">let </span>commit_ts = chrono::Utc::now().timestamp_millis();
415-
<a href=#415 id=415 data-nosnippet>415</a> <span class="kw">let </span>new_snapshot = Snapshot::builder()
416-
<a href=#416 id=416 data-nosnippet>416</a> .with_manifest_list(manifest_list_path)
417-
<a href=#417 id=417 data-nosnippet>417</a> .with_snapshot_id(<span class="self">self</span>.snapshot_id)
418-
<a href=#418 id=418 data-nosnippet>418</a> .with_parent_snapshot_id(<span class="self">self</span>.table.metadata().current_snapshot_id())
419-
<a href=#419 id=419 data-nosnippet>419</a> .with_sequence_number(next_seq_num)
420-
<a href=#420 id=420 data-nosnippet>420</a> .with_summary(summary)
421-
<a href=#421 id=421 data-nosnippet>421</a> .with_schema_id(<span class="self">self</span>.table.metadata().current_schema_id())
422-
<a href=#422 id=422 data-nosnippet>422</a> .with_timestamp_ms(commit_ts)
423-
<a href=#423 id=423 data-nosnippet>423</a> .build();
424-
<a href=#424 id=424 data-nosnippet>424</a>
425-
<a href=#425 id=425 data-nosnippet>425</a> <span class="kw">let </span>updates = <span class="macro">vec!</span>[
426-
<a href=#426 id=426 data-nosnippet>426</a> TableUpdate::AddSnapshot {
427-
<a href=#427 id=427 data-nosnippet>427</a> snapshot: new_snapshot,
428-
<a href=#428 id=428 data-nosnippet>428</a> },
429-
<a href=#429 id=429 data-nosnippet>429</a> TableUpdate::SetSnapshotRef {
430-
<a href=#430 id=430 data-nosnippet>430</a> ref_name: MAIN_BRANCH.to_string(),
431-
<a href=#431 id=431 data-nosnippet>431</a> reference: SnapshotReference::new(
432-
<a href=#432 id=432 data-nosnippet>432</a> <span class="self">self</span>.snapshot_id,
433-
<a href=#433 id=433 data-nosnippet>433</a> SnapshotRetention::branch(<span class="prelude-val">None</span>, <span class="prelude-val">None</span>, <span class="prelude-val">None</span>),
434-
<a href=#434 id=434 data-nosnippet>434</a> ),
435-
<a href=#435 id=435 data-nosnippet>435</a> },
436-
<a href=#436 id=436 data-nosnippet>436</a> ];
437-
<a href=#437 id=437 data-nosnippet>437</a>
438-
<a href=#438 id=438 data-nosnippet>438</a> <span class="kw">let </span>requirements = <span class="macro">vec!</span>[
439-
<a href=#439 id=439 data-nosnippet>439</a> TableRequirement::UuidMatch {
440-
<a href=#440 id=440 data-nosnippet>440</a> uuid: <span class="self">self</span>.table.metadata().uuid(),
441-
<a href=#441 id=441 data-nosnippet>441</a> },
442-
<a href=#442 id=442 data-nosnippet>442</a> TableRequirement::RefSnapshotIdMatch {
443-
<a href=#443 id=443 data-nosnippet>443</a> r#ref: MAIN_BRANCH.to_string(),
444-
<a href=#444 id=444 data-nosnippet>444</a> snapshot_id: <span class="self">self</span>.table.metadata().current_snapshot_id(),
445-
<a href=#445 id=445 data-nosnippet>445</a> },
446-
<a href=#446 id=446 data-nosnippet>446</a> ];
447-
<a href=#447 id=447 data-nosnippet>447</a>
448-
<a href=#448 id=448 data-nosnippet>448</a> <span class="prelude-val">Ok</span>(ActionCommit::new(updates, requirements))
449-
<a href=#449 id=449 data-nosnippet>449</a> }
450-
<a href=#450 id=450 data-nosnippet>450</a>}</code></pre></div></section></main></body></html>
414+
<a href=#414 id=414 data-nosnippet>414</a> manifest_list_writer.add_manifests(new_manifests.into_iter())<span class="question-mark">?</span>;
415+
<a href=#415 id=415 data-nosnippet>415</a> manifest_list_writer.close().<span class="kw">await</span><span class="question-mark">?</span>;
416+
<a href=#416 id=416 data-nosnippet>416</a>
417+
<a href=#417 id=417 data-nosnippet>417</a> <span class="kw">let </span>commit_ts = chrono::Utc::now().timestamp_millis();
418+
<a href=#418 id=418 data-nosnippet>418</a> <span class="kw">let </span>new_snapshot = Snapshot::builder()
419+
<a href=#419 id=419 data-nosnippet>419</a> .with_manifest_list(manifest_list_path)
420+
<a href=#420 id=420 data-nosnippet>420</a> .with_snapshot_id(<span class="self">self</span>.snapshot_id)
421+
<a href=#421 id=421 data-nosnippet>421</a> .with_parent_snapshot_id(<span class="self">self</span>.table.metadata().current_snapshot_id())
422+
<a href=#422 id=422 data-nosnippet>422</a> .with_sequence_number(next_seq_num)
423+
<a href=#423 id=423 data-nosnippet>423</a> .with_summary(summary)
424+
<a href=#424 id=424 data-nosnippet>424</a> .with_schema_id(<span class="self">self</span>.table.metadata().current_schema_id())
425+
<a href=#425 id=425 data-nosnippet>425</a> .with_timestamp_ms(commit_ts)
426+
<a href=#426 id=426 data-nosnippet>426</a> .build();
427+
<a href=#427 id=427 data-nosnippet>427</a>
428+
<a href=#428 id=428 data-nosnippet>428</a> <span class="kw">let </span>updates = <span class="macro">vec!</span>[
429+
<a href=#429 id=429 data-nosnippet>429</a> TableUpdate::AddSnapshot {
430+
<a href=#430 id=430 data-nosnippet>430</a> snapshot: new_snapshot,
431+
<a href=#431 id=431 data-nosnippet>431</a> },
432+
<a href=#432 id=432 data-nosnippet>432</a> TableUpdate::SetSnapshotRef {
433+
<a href=#433 id=433 data-nosnippet>433</a> ref_name: MAIN_BRANCH.to_string(),
434+
<a href=#434 id=434 data-nosnippet>434</a> reference: SnapshotReference::new(
435+
<a href=#435 id=435 data-nosnippet>435</a> <span class="self">self</span>.snapshot_id,
436+
<a href=#436 id=436 data-nosnippet>436</a> SnapshotRetention::branch(<span class="prelude-val">None</span>, <span class="prelude-val">None</span>, <span class="prelude-val">None</span>),
437+
<a href=#437 id=437 data-nosnippet>437</a> ),
438+
<a href=#438 id=438 data-nosnippet>438</a> },
439+
<a href=#439 id=439 data-nosnippet>439</a> ];
440+
<a href=#440 id=440 data-nosnippet>440</a>
441+
<a href=#441 id=441 data-nosnippet>441</a> <span class="kw">let </span>requirements = <span class="macro">vec!</span>[
442+
<a href=#442 id=442 data-nosnippet>442</a> TableRequirement::UuidMatch {
443+
<a href=#443 id=443 data-nosnippet>443</a> uuid: <span class="self">self</span>.table.metadata().uuid(),
444+
<a href=#444 id=444 data-nosnippet>444</a> },
445+
<a href=#445 id=445 data-nosnippet>445</a> TableRequirement::RefSnapshotIdMatch {
446+
<a href=#446 id=446 data-nosnippet>446</a> r#ref: MAIN_BRANCH.to_string(),
447+
<a href=#447 id=447 data-nosnippet>447</a> snapshot_id: <span class="self">self</span>.table.metadata().current_snapshot_id(),
448+
<a href=#448 id=448 data-nosnippet>448</a> },
449+
<a href=#449 id=449 data-nosnippet>449</a> ];
450+
<a href=#450 id=450 data-nosnippet>450</a>
451+
<a href=#451 id=451 data-nosnippet>451</a> <span class="prelude-val">Ok</span>(ActionCommit::new(updates, requirements))
452+
<a href=#452 id=452 data-nosnippet>452</a> }
453+
<a href=#453 id=453 data-nosnippet>453</a>}</code></pre></div></section></main></body></html>

0 commit comments

Comments
 (0)