refering different tables that are not directly FK6

This commit is contained in:
Priec
2026-07-16 23:00:23 +02:00
parent 2ad1c8262b
commit daba328ca1
5 changed files with 35 additions and 5 deletions

View File

@@ -133,6 +133,9 @@ message PostTableDataResponse {
// The id of the inserted row.
int64 inserted_id = 3;
// Rows whose stored script values changed through dependency propagation.
repeated RecomputedRow recomputed_rows = 4;
}
// One row in a bulk insert request.
@@ -199,6 +202,14 @@ message PutTableDataResponse {
// The id of the updated row.
int64 updated_id = 3;
// Rows whose stored script values changed through dependency propagation.
repeated RecomputedRow recomputed_rows = 4;
}
message RecomputedRow {
string table_name = 1;
int64 row_id = 2;
}
// Soft-delete a single row.
@@ -217,6 +228,9 @@ message DeleteTableDataRequest {
message DeleteTableDataResponse {
// True if a row was marked deleted (id existed and was not already deleted).
bool success = 1;
// Rows whose stored script values changed through dependency propagation.
repeated RecomputedRow recomputed_rows = 2;
}
// Fetch a single non-deleted row by id.

Binary file not shown.

View File

@@ -47,7 +47,7 @@ pub struct PostTableDataRequest {
>,
}
/// Insert response.
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PostTableDataResponse {
/// True if the insert succeeded.
#[prost(bool, tag = "1")]
@@ -58,6 +58,9 @@ pub struct PostTableDataResponse {
/// The id of the inserted row.
#[prost(int64, tag = "3")]
pub inserted_id: i64,
/// Rows whose stored script values changed through dependency propagation.
#[prost(message, repeated, tag = "4")]
pub recomputed_rows: ::prost::alloc::vec::Vec<RecomputedRow>,
}
/// One row in a bulk insert request.
#[derive(Clone, PartialEq, ::prost::Message)]
@@ -125,7 +128,7 @@ pub struct PutTableDataRequest {
>,
}
/// Update response.
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PutTableDataResponse {
/// True if the update succeeded (or no-op on empty data).
#[prost(bool, tag = "1")]
@@ -136,6 +139,16 @@ pub struct PutTableDataResponse {
/// The id of the updated row.
#[prost(int64, tag = "3")]
pub updated_id: i64,
/// Rows whose stored script values changed through dependency propagation.
#[prost(message, repeated, tag = "4")]
pub recomputed_rows: ::prost::alloc::vec::Vec<RecomputedRow>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RecomputedRow {
#[prost(string, tag = "1")]
pub table_name: ::prost::alloc::string::String,
#[prost(int64, tag = "2")]
pub row_id: i64,
}
/// Soft-delete a single row.
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
@@ -151,11 +164,14 @@ pub struct DeleteTableDataRequest {
pub record_id: i64,
}
/// Soft-delete response.
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteTableDataResponse {
/// True if a row was marked deleted (id existed and was not already deleted).
#[prost(bool, tag = "1")]
pub success: bool,
/// Rows whose stored script values changed through dependency propagation.
#[prost(message, repeated, tag = "2")]
pub recomputed_rows: ::prost::alloc::vec::Vec<RecomputedRow>,
}
/// Fetch a single non-deleted row by id.
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]