MCPcopy Create free account
hub / github.com/apache/paimon-rust / test_postpone_write_reusable

Function test_postpone_write_reusable

crates/paimon/src/table/table_write.rs:1745–1774  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1743
1744 #[tokio::test]
1745 async fn test_postpone_write_reusable() {
1746 let file_io = test_file_io();
1747 let table_path = "memory:/test_postpone_reuse";
1748 setup_dirs(&file_io, table_path).await;
1749
1750 let table = test_postpone_pk_table(&file_io, table_path);
1751 let mut table_write = TableWrite::new(&table, "test-user".to_string()).unwrap();
1752
1753 // First write + prepare_commit
1754 table_write
1755 .write_arrow_batch(&make_batch(vec![1, 2], vec![10, 20]))
1756 .await
1757 .unwrap();
1758 let messages1 = table_write.prepare_commit().await.unwrap();
1759 assert_eq!(messages1.len(), 1);
1760 assert_eq!(messages1[0].new_files[0].row_count, 2);
1761
1762 // Second write + prepare_commit (reuse)
1763 table_write
1764 .write_arrow_batch(&make_batch(vec![3, 4, 5], vec![30, 40, 50]))
1765 .await
1766 .unwrap();
1767 let messages2 = table_write.prepare_commit().await.unwrap();
1768 assert_eq!(messages2.len(), 1);
1769 assert_eq!(messages2[0].new_files[0].row_count, 3);
1770
1771 // Empty prepare_commit
1772 let messages3 = table_write.prepare_commit().await.unwrap();
1773 assert!(messages3.is_empty());
1774 }
1775
1776 #[tokio::test]
1777 async fn test_postpone_write_file_naming_and_kv_format() {

Callers

nothing calls this directly

Calls 6

test_postpone_pk_tableFunction · 0.85
write_arrow_batchMethod · 0.80
test_file_ioFunction · 0.70
setup_dirsFunction · 0.70
make_batchFunction · 0.70
prepare_commitMethod · 0.45

Tested by

no test coverage detected