@@ -70,6 +70,12 @@ message Sync {
7070 // marshalled arrow.Schema
7171 bytes table = 1 ;
7272 }
73+ message MessageDeleteRecord {
74+ string table_name = 1 ;
75+ repeated PredicatesGroup where_clause = 2 ;
76+ repeated TableRelation table_relations = 3 ;
77+ }
78+
7379 message BackendOptions {
7480 // table name to use for state backend
7581 string table_name = 1 ;
@@ -87,6 +93,7 @@ message Sync {
8793 oneof message {
8894 Sync.MessageMigrateTable migrate_table = 1 ;
8995 Sync.MessageInsert insert = 2 ;
96+ Sync.MessageDeleteRecord delete_record = 3 ;
9097 }
9198 }
9299}
@@ -102,6 +109,38 @@ message Read {
102109 }
103110}
104111
112+ message TableRelation {
113+ string table_name = 1 ;
114+ string parent_table = 2 ;
115+ }
116+
117+
118+
119+ message Predicate {
120+ enum Operator {
121+ EQ = 0 ;
122+ // LT = 1;
123+ // LTE = 2;
124+ // GT = 3;
125+ // GTE = 4;
126+ }
127+
128+ Operator operator = 1 ;
129+ string column = 2 ;
130+ // marshalled arrow.Record
131+ bytes record = 3 ;
132+ }
133+
134+ message PredicatesGroup {
135+ enum GroupingType {
136+ AND = 0 ;
137+ OR = 1 ;
138+ }
139+ GroupingType grouping_type = 1 ;
140+ repeated Predicate predicates = 2 ;
141+
142+ }
143+
105144message Write {
106145 message MessageMigrateTable {
107146 // marshalled arrow.Schema
@@ -119,11 +158,17 @@ message Write {
119158 google.protobuf.Timestamp sync_time = 3 ;
120159 string table_name = 4 ;
121160 }
161+ message MessageDeleteRecord {
162+ string table_name = 1 ;
163+ repeated PredicatesGroup where_clause = 2 ;
164+ repeated TableRelation table_relations = 3 ;
165+ }
122166 message Request {
123167 oneof message {
124168 Write.MessageMigrateTable migrate_table = 1 ;
125169 Write.MessageInsert insert = 2 ;
126170 Write.MessageDeleteStale delete = 3 ;
171+ Write.MessageDeleteRecord delete_record = 4 ;
127172 }
128173 }
129174 message Response {}
0 commit comments