uniqueness only on nondeleted data4 import metadata
This commit is contained in:
@@ -23,6 +23,12 @@ service TableStructureService {
|
||||
// - Returns an error if any validated table has no visible columns in
|
||||
// information_schema (e.g., physical table missing)
|
||||
rpc GetTableStructure(GetTableStructureRequest) returns (GetTableStructureResponse);
|
||||
|
||||
// Describes the public values accepted by staged table-data import. Unlike
|
||||
// GetTableStructure, this is an input contract: it includes logical types,
|
||||
// omission/null behavior, stable identities and link targets.
|
||||
rpc GetTableImportDescriptor(GetTableImportDescriptorRequest)
|
||||
returns (GetTableImportDescriptorResponse);
|
||||
}
|
||||
|
||||
// Request identifying the profile (schema) and tables to inspect.
|
||||
@@ -91,3 +97,52 @@ message TableColumn {
|
||||
// Stable public identity of a managed user column. Zero for system columns.
|
||||
int64 column_id = 10;
|
||||
}
|
||||
|
||||
message GetTableImportDescriptorRequest {
|
||||
string profile_name = 1;
|
||||
string table_name = 2;
|
||||
}
|
||||
|
||||
enum ImportValueKind {
|
||||
IMPORT_VALUE_KIND_UNSPECIFIED = 0;
|
||||
IMPORT_VALUE_KIND_NULL = 1;
|
||||
IMPORT_VALUE_KIND_STRING = 2;
|
||||
IMPORT_VALUE_KIND_BOOLEAN = 3;
|
||||
IMPORT_VALUE_KIND_NUMBER = 4;
|
||||
IMPORT_VALUE_KIND_INTEGER_STRING = 5;
|
||||
IMPORT_VALUE_KIND_LINK_DISPLAY = 6;
|
||||
}
|
||||
|
||||
message ImportLinkDescriptor {
|
||||
int64 target_table_id = 1;
|
||||
string target_profile_name = 2;
|
||||
string target_table_name = 3;
|
||||
repeated string target_row_display_columns = 4;
|
||||
}
|
||||
|
||||
message ImportFieldDescriptor {
|
||||
// Stable identity of a managed user column. System columns have zero here
|
||||
// and are identified by their server-owned name.
|
||||
int64 column_id = 1;
|
||||
string name = 2;
|
||||
string logical_type = 3;
|
||||
string storage_type = 4;
|
||||
bool writable = 5;
|
||||
bool required = 6;
|
||||
bool may_omit = 7;
|
||||
bool accepts_null = 8;
|
||||
bool system = 9;
|
||||
bool generated = 10;
|
||||
string generated_from = 11;
|
||||
optional ImportLinkDescriptor link = 12;
|
||||
repeated ImportValueKind accepted_value_kinds = 13;
|
||||
}
|
||||
|
||||
message GetTableImportDescriptorResponse {
|
||||
string requested_profile_name = 1;
|
||||
string storage_profile_name = 2;
|
||||
string table_name = 3;
|
||||
int64 table_id = 4;
|
||||
int64 table_revision = 5;
|
||||
repeated ImportFieldDescriptor fields = 6;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user