# Copyright (c) reifydb.com 2025
# This file is licensed under the Apache-2.0, see license.md file
# Test bulk insert creates multiple CDC changes
bulk_insert 1 5
---
ok
# Check individual changes
cdc_get 1 1
---
Change { seq: 1, change: Insert { key: "bulk_0", post: "0" } }
cdc_get 1 3
---
Change { seq: 3, change: Insert { key: "bulk_2", post: "2" } }
cdc_get 1 5
---
Change { seq: 5, change: Insert { key: "bulk_4", post: "4" } }
# Check count
cdc_count 1
---
count: 5
# Test larger bulk insert
bulk_insert 2 20
---
ok
# Check first, middle and last
cdc_get 2 1
---
Change { seq: 1, change: Update { key: "bulk_0", pre: "0", post: "0" } }
cdc_get 2 10
---
Change { seq: 10, change: Insert { key: "bulk_9", post: "9" } }
cdc_get 2 20
---
Change { seq: 20, change: Insert { key: "bulk_19", post: "19" } }
# Verify count
cdc_count 2
---
count: 20
# Test scan includes bulk operations
cdc_range_included 1 2
---
v1 Change { seq: 1, change: Insert { key: "bulk_0", post: "0" } }
v1 Change { seq: 2, change: Insert { key: "bulk_1", post: "1" } }
v1 Change { seq: 3, change: Insert { key: "bulk_2", post: "2" } }
v1 Change { seq: 4, change: Insert { key: "bulk_3", post: "3" } }
v1 Change { seq: 5, change: Insert { key: "bulk_4", post: "4" } }
v2 Change { seq: 1, change: Update { key: "bulk_0", pre: "0", post: "0" } }
v2 Change { seq: 2, change: Update { key: "bulk_1", pre: "1", post: "1" } }
v2 Change { seq: 3, change: Update { key: "bulk_2", pre: "2", post: "2" } }
v2 Change { seq: 4, change: Update { key: "bulk_3", pre: "3", post: "3" } }
v2 Change { seq: 5, change: Update { key: "bulk_4", pre: "4", post: "4" } }
v2 Change { seq: 6, change: Insert { key: "bulk_5", post: "5" } }
v2 Change { seq: 7, change: Insert { key: "bulk_6", post: "6" } }
v2 Change { seq: 8, change: Insert { key: "bulk_7", post: "7" } }
v2 Change { seq: 9, change: Insert { key: "bulk_8", post: "8" } }
v2 Change { seq: 10, change: Insert { key: "bulk_9", post: "9" } }
v2 Change { seq: 11, change: Insert { key: "bulk_10", post: "10" } }
v2 Change { seq: 12, change: Insert { key: "bulk_11", post: "11" } }
v2 Change { seq: 13, change: Insert { key: "bulk_12", post: "12" } }
v2 Change { seq: 14, change: Insert { key: "bulk_13", post: "13" } }
v2 Change { seq: 15, change: Insert { key: "bulk_14", post: "14" } }
v2 Change { seq: 16, change: Insert { key: "bulk_15", post: "15" } }
v2 Change { seq: 17, change: Insert { key: "bulk_16", post: "16" } }
v2 Change { seq: 18, change: Insert { key: "bulk_17", post: "17" } }
v2 Change { seq: 19, change: Insert { key: "bulk_18", post: "18" } }
v2 Change { seq: 20, change: Insert { key: "bulk_19", post: "19" } }