feat: bulk wal entry (#239)

* Add bulk wal entry

* add sequence

* move arrow ipc to common
This commit is contained in:
Lei, HUANG
2025-05-29 17:10:13 +08:00
committed by GitHub
parent 67ee5f94e5
commit ecaefd1da7
15 changed files with 4515 additions and 1793 deletions
+6
View File
@@ -196,3 +196,9 @@ message ColumnOptions {
// "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}"
map<string, string> options = 1;
}
message ArrowIpc {
bytes schema = 1;
bytes data_header = 2;
bytes payload = 3;
}
+3 -9
View File
@@ -187,16 +187,10 @@ message RegionColumnDef {
// Request of bulk ingestion API.
message BulkInsertRequest {
oneof body {
ArrowIpc arrow_ipc = 1;
}
}
message ArrowIpc {
uint64 region_id = 1;
bytes schema = 2;
bytes data_header = 3;
bytes payload = 4;
oneof body {
ArrowIpc arrow_ipc = 2;
}
}
// Manifest info for mito engine.
+17
View File
@@ -19,6 +19,7 @@ package greptime.v1;
option go_package = "github.com/GreptimeTeam/greptime-proto/go/greptime/v1";
import "greptime/v1/row.proto";
import "greptime/v1/common.proto";
// Type of operation to rows.
enum OpType {
@@ -55,4 +56,20 @@ message Mutation {
message WalEntry {
// List of mutations for a region.
repeated Mutation mutations = 1;
// List of bulk insert requests.
repeated BulkWalEntry bulk_entries = 2;
}
message BulkWalEntry {
// Start WAL sequence of this entry.
uint64 sequence = 1;
// Max timestamp value.
int64 max_ts = 2;
// Min timestamp value.
int64 min_ts = 3;
// Timestamp column index.
uint32 timestamp_index = 4;
oneof body {
ArrowIpc arrow_ipc = 5;
}
}