mirror of
https://github.com/dolthub/dolt.git
synced 2026-05-12 11:29:01 -05:00
Added database schema to foreign keys
This commit is contained in:
@@ -307,7 +307,41 @@ func (rcv *ForeignKey) UnresolvedParentColumnsLength() int {
|
||||
return 0
|
||||
}
|
||||
|
||||
const ForeignKeyNumFields = 11
|
||||
func (rcv *ForeignKey) ChildTableDatabaseSchema(j int) []byte {
|
||||
o := flatbuffers.UOffsetT(rcv._tab.Offset(26))
|
||||
if o != 0 {
|
||||
a := rcv._tab.Vector(o)
|
||||
return rcv._tab.ByteVector(a + flatbuffers.UOffsetT(j*4))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (rcv *ForeignKey) ChildTableDatabaseSchemaLength() int {
|
||||
o := flatbuffers.UOffsetT(rcv._tab.Offset(26))
|
||||
if o != 0 {
|
||||
return rcv._tab.VectorLen(o)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (rcv *ForeignKey) ParentTableDatabaseSchema(j int) []byte {
|
||||
o := flatbuffers.UOffsetT(rcv._tab.Offset(28))
|
||||
if o != 0 {
|
||||
a := rcv._tab.Vector(o)
|
||||
return rcv._tab.ByteVector(a + flatbuffers.UOffsetT(j*4))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (rcv *ForeignKey) ParentTableDatabaseSchemaLength() int {
|
||||
o := flatbuffers.UOffsetT(rcv._tab.Offset(28))
|
||||
if o != 0 {
|
||||
return rcv._tab.VectorLen(o)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
const ForeignKeyNumFields = 13
|
||||
|
||||
func ForeignKeyStart(builder *flatbuffers.Builder) {
|
||||
builder.StartObject(ForeignKeyNumFields)
|
||||
@@ -357,6 +391,18 @@ func ForeignKeyAddUnresolvedParentColumns(builder *flatbuffers.Builder, unresolv
|
||||
func ForeignKeyStartUnresolvedParentColumnsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
|
||||
return builder.StartVector(4, numElems, 4)
|
||||
}
|
||||
func ForeignKeyAddChildTableDatabaseSchema(builder *flatbuffers.Builder, childTableDatabaseSchema flatbuffers.UOffsetT) {
|
||||
builder.PrependUOffsetTSlot(11, flatbuffers.UOffsetT(childTableDatabaseSchema), 0)
|
||||
}
|
||||
func ForeignKeyStartChildTableDatabaseSchemaVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
|
||||
return builder.StartVector(4, numElems, 4)
|
||||
}
|
||||
func ForeignKeyAddParentTableDatabaseSchema(builder *flatbuffers.Builder, parentTableDatabaseSchema flatbuffers.UOffsetT) {
|
||||
builder.PrependUOffsetTSlot(12, flatbuffers.UOffsetT(parentTableDatabaseSchema), 0)
|
||||
}
|
||||
func ForeignKeyStartParentTableDatabaseSchemaVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
|
||||
return builder.StartVector(4, numElems, 4)
|
||||
}
|
||||
func ForeignKeyEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
|
||||
return builder.EndObject()
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ func (rcv *RootValue) MutateCollation(n Collation) bool {
|
||||
return rcv._tab.MutateUint16Slot(10, uint16(n))
|
||||
}
|
||||
|
||||
func (rcv *RootValue) TrySchemas(obj *DatabaseSchemaTableStore, j int) (bool, error) {
|
||||
func (rcv *RootValue) TrySchemaTables(obj *DatabaseSchemaTableStore, j int) (bool, error) {
|
||||
o := flatbuffers.UOffsetT(rcv._tab.Offset(12))
|
||||
if o != 0 {
|
||||
x := rcv._tab.Vector(o)
|
||||
@@ -159,7 +159,7 @@ func (rcv *RootValue) TrySchemas(obj *DatabaseSchemaTableStore, j int) (bool, er
|
||||
return false, nil
|
||||
}
|
||||
|
||||
func (rcv *RootValue) SchemasLength() int {
|
||||
func (rcv *RootValue) SchemaTablesLength() int {
|
||||
o := flatbuffers.UOffsetT(rcv._tab.Offset(12))
|
||||
if o != 0 {
|
||||
return rcv._tab.VectorLen(o)
|
||||
@@ -190,10 +190,10 @@ func RootValueStartForeignKeyAddrVector(builder *flatbuffers.Builder, numElems i
|
||||
func RootValueAddCollation(builder *flatbuffers.Builder, collation Collation) {
|
||||
builder.PrependUint16Slot(3, uint16(collation), 0)
|
||||
}
|
||||
func RootValueAddSchemas(builder *flatbuffers.Builder, schemas flatbuffers.UOffsetT) {
|
||||
builder.PrependUOffsetTSlot(4, flatbuffers.UOffsetT(schemas), 0)
|
||||
func RootValueAddSchemaTables(builder *flatbuffers.Builder, schemaTables flatbuffers.UOffsetT) {
|
||||
builder.PrependUOffsetTSlot(4, flatbuffers.UOffsetT(schemaTables), 0)
|
||||
}
|
||||
func RootValueStartSchemasVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
|
||||
func RootValueStartSchemaTablesVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
|
||||
return builder.StartVector(4, numElems, 4)
|
||||
}
|
||||
func RootValueEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
|
||||
|
||||
@@ -48,6 +48,10 @@ table ForeignKey {
|
||||
// unresolved details
|
||||
unresolved_child_columns:[string];
|
||||
unresolved_parent_columns:[string];
|
||||
|
||||
// For tables in the non-default schema, these fields are set
|
||||
child_table_database_schema:[string];
|
||||
parent_table_database_schema:[string];
|
||||
}
|
||||
|
||||
// KEEP THIS IN SYNC WITH fileidentifiers.go
|
||||
|
||||
@@ -27,9 +27,9 @@ table RootValue {
|
||||
|
||||
collation:Collation;
|
||||
|
||||
// schemas is used for table storage in any non-default database schema. Databases with a single schema
|
||||
// schema_tables is used for table storage in any non-default database schema. Databases with a single schema
|
||||
// (the default) only use the normal tables field. Entries are stored in sorted order by schema name.
|
||||
schemas:[DatabaseSchemaTableStore];
|
||||
schema_tables:[DatabaseSchemaTableStore];
|
||||
}
|
||||
|
||||
table DatabaseSchemaTableStore {
|
||||
|
||||
Reference in New Issue
Block a user