diff --git a/go/gen/fb/serial/common.go b/go/gen/fb/serial/common.go index b17b353ffd..1cc5575fe5 100644 --- a/go/gen/fb/serial/common.go +++ b/go/gen/fb/serial/common.go @@ -31,6 +31,7 @@ func CreateTimestamp(builder *flatbuffers.Builder, time uint64) flatbuffers.UOff builder.PrependUint64(time) return builder.Offset() } + type Ref struct { _tab flatbuffers.Table } @@ -96,6 +97,7 @@ func RefStartHashVector(builder *flatbuffers.Builder, numElems int) flatbuffers. func RefEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type RefArray struct { _tab flatbuffers.Table } diff --git a/go/gen/fb/serial/database.go b/go/gen/fb/serial/database.go index c2d6e24ba0..a45a8440d4 100644 --- a/go/gen/fb/serial/database.go +++ b/go/gen/fb/serial/database.go @@ -3,8 +3,6 @@ package serial import ( - "strconv" - flatbuffers "github.com/google/flatbuffers/go" ) @@ -48,15 +46,32 @@ func (rcv *StoreRoot) Refs(obj *RefMap) *RefMap { return nil } +func (rcv *StoreRoot) Time(obj *Timestamp) *Timestamp { + o := flatbuffers.UOffsetT(rcv._tab.Offset(6)) + if o != 0 { + x := o + rcv._tab.Pos + if obj == nil { + obj = new(Timestamp) + } + obj.Init(rcv._tab.Bytes, x) + return obj + } + return nil +} + func StoreRootStart(builder *flatbuffers.Builder) { - builder.StartObject(1) + builder.StartObject(2) } func StoreRootAddRefs(builder *flatbuffers.Builder, refs flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(refs), 0) } +func StoreRootAddTime(builder *flatbuffers.Builder, time flatbuffers.UOffsetT) { + builder.PrependStructSlot(1, flatbuffers.UOffsetT(time), 0) +} func StoreRootEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type DatabaseRoot struct { _tab flatbuffers.Table } @@ -132,6 +147,7 @@ func DatabaseRootStartForeignKeysVector(builder *flatbuffers.Builder, numElems i func DatabaseRootEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type Table struct { _tab flatbuffers.Table } @@ -224,6 +240,7 @@ func TableAddSecondaryIndexes(builder *flatbuffers.Builder, secondaryIndexes fla func TableEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type Commit struct { _tab flatbuffers.Table } @@ -321,6 +338,7 @@ func CommitAddMeta(builder *flatbuffers.Builder, meta flatbuffers.UOffsetT) { func CommitEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type CommitMeta struct { _tab flatbuffers.Table } @@ -434,6 +452,7 @@ func CommitMetaAddMetaversion(builder *flatbuffers.Builder, metaversion uint16) func CommitMetaEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type Tag struct { _tab flatbuffers.Table } @@ -499,6 +518,7 @@ func TagAddMeta(builder *flatbuffers.Builder, meta flatbuffers.UOffsetT) { func TagEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type TagMeta struct { _tab flatbuffers.Table } diff --git a/go/gen/fb/serial/prolly.go b/go/gen/fb/serial/prolly.go index 80b9926222..95aa1193f0 100644 --- a/go/gen/fb/serial/prolly.go +++ b/go/gen/fb/serial/prolly.go @@ -145,6 +145,7 @@ func MapAddFooter(builder *flatbuffers.Builder, footer flatbuffers.UOffsetT) { func MapEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type RefMap struct { _tab flatbuffers.Table } @@ -242,6 +243,7 @@ func RefMapAddFooter(builder *flatbuffers.Builder, footer flatbuffers.UOffsetT) func RefMapEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type TupleArray struct { _tab flatbuffers.Table } @@ -354,6 +356,7 @@ func TupleArrayAddFormat(builder *flatbuffers.Builder, format TupleType) { func TupleArrayEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type NameArray struct { _tab flatbuffers.Table } @@ -410,6 +413,7 @@ func NameArrayStartNamesVector(builder *flatbuffers.Builder, numElems int) flatb func NameArrayEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type ProllyFooter struct { _tab flatbuffers.Struct } diff --git a/go/gen/fb/serial/schema.go b/go/gen/fb/serial/schema.go index 18c7fb9338..1e12668057 100644 --- a/go/gen/fb/serial/schema.go +++ b/go/gen/fb/serial/schema.go @@ -76,31 +76,31 @@ func (rcv *Column) Name() []byte { return nil } -func (rcv *Column) Nullable() bool { +func (rcv *Column) StorageOrder() uint16 { o := flatbuffers.UOffsetT(rcv._tab.Offset(6)) if o != 0 { - return rcv._tab.GetBool(o + rcv._tab.Pos) + return rcv._tab.GetUint16(o + rcv._tab.Pos) } - return false + return 0 } -func (rcv *Column) MutateNullable(n bool) bool { - return rcv._tab.MutateBoolSlot(6, n) +func (rcv *Column) MutateStorageOrder(n uint16) bool { + return rcv._tab.MutateUint16Slot(6, n) } -func (rcv *Column) PrimaryKey() bool { +func (rcv *Column) SchemaOrder() uint16 { o := flatbuffers.UOffsetT(rcv._tab.Offset(8)) if o != 0 { - return rcv._tab.GetBool(o + rcv._tab.Pos) + return rcv._tab.GetUint16(o + rcv._tab.Pos) } - return false + return 0 } -func (rcv *Column) MutatePrimaryKey(n bool) bool { - return rcv._tab.MutateBoolSlot(8, n) +func (rcv *Column) MutateSchemaOrder(n uint16) bool { + return rcv._tab.MutateUint16Slot(8, n) } -func (rcv *Column) AutoIncrement() bool { +func (rcv *Column) Nullable() bool { o := flatbuffers.UOffsetT(rcv._tab.Offset(10)) if o != 0 { return rcv._tab.GetBool(o + rcv._tab.Pos) @@ -108,12 +108,36 @@ func (rcv *Column) AutoIncrement() bool { return false } -func (rcv *Column) MutateAutoIncrement(n bool) bool { +func (rcv *Column) MutateNullable(n bool) bool { return rcv._tab.MutateBoolSlot(10, n) } -func (rcv *Column) Default(obj *ColumnDefault) *ColumnDefault { +func (rcv *Column) PrimaryKey() bool { o := flatbuffers.UOffsetT(rcv._tab.Offset(12)) + if o != 0 { + return rcv._tab.GetBool(o + rcv._tab.Pos) + } + return false +} + +func (rcv *Column) MutatePrimaryKey(n bool) bool { + return rcv._tab.MutateBoolSlot(12, n) +} + +func (rcv *Column) AutoIncrement() bool { + o := flatbuffers.UOffsetT(rcv._tab.Offset(14)) + if o != 0 { + return rcv._tab.GetBool(o + rcv._tab.Pos) + } + return false +} + +func (rcv *Column) MutateAutoIncrement(n bool) bool { + return rcv._tab.MutateBoolSlot(14, n) +} + +func (rcv *Column) Default(obj *ColumnDefault) *ColumnDefault { + o := flatbuffers.UOffsetT(rcv._tab.Offset(16)) if o != 0 { x := rcv._tab.Indirect(o + rcv._tab.Pos) if obj == nil { @@ -126,7 +150,7 @@ func (rcv *Column) Default(obj *ColumnDefault) *ColumnDefault { } func (rcv *Column) Constraints(obj *ColumnConstraint, j int) bool { - o := flatbuffers.UOffsetT(rcv._tab.Offset(14)) + o := flatbuffers.UOffsetT(rcv._tab.Offset(18)) if o != 0 { x := rcv._tab.Vector(o) x += flatbuffers.UOffsetT(j) * 4 @@ -138,7 +162,7 @@ func (rcv *Column) Constraints(obj *ColumnConstraint, j int) bool { } func (rcv *Column) ConstraintsLength() int { - o := flatbuffers.UOffsetT(rcv._tab.Offset(14)) + o := flatbuffers.UOffsetT(rcv._tab.Offset(18)) if o != 0 { return rcv._tab.VectorLen(o) } @@ -146,7 +170,7 @@ func (rcv *Column) ConstraintsLength() int { } func (rcv *Column) Comment() []byte { - o := flatbuffers.UOffsetT(rcv._tab.Offset(16)) + o := flatbuffers.UOffsetT(rcv._tab.Offset(20)) if o != 0 { return rcv._tab.ByteVector(o + rcv._tab.Pos) } @@ -154,35 +178,42 @@ func (rcv *Column) Comment() []byte { } func ColumnStart(builder *flatbuffers.Builder) { - builder.StartObject(7) + builder.StartObject(9) } func ColumnAddName(builder *flatbuffers.Builder, name flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(name), 0) } +func ColumnAddStorageOrder(builder *flatbuffers.Builder, storageOrder uint16) { + builder.PrependUint16Slot(1, storageOrder, 0) +} +func ColumnAddSchemaOrder(builder *flatbuffers.Builder, schemaOrder uint16) { + builder.PrependUint16Slot(2, schemaOrder, 0) +} func ColumnAddNullable(builder *flatbuffers.Builder, nullable bool) { - builder.PrependBoolSlot(1, nullable, false) + builder.PrependBoolSlot(3, nullable, false) } func ColumnAddPrimaryKey(builder *flatbuffers.Builder, primaryKey bool) { - builder.PrependBoolSlot(2, primaryKey, false) + builder.PrependBoolSlot(4, primaryKey, false) } func ColumnAddAutoIncrement(builder *flatbuffers.Builder, autoIncrement bool) { - builder.PrependBoolSlot(3, autoIncrement, false) + builder.PrependBoolSlot(5, autoIncrement, false) } func ColumnAddDefault(builder *flatbuffers.Builder, default_ flatbuffers.UOffsetT) { - builder.PrependUOffsetTSlot(4, flatbuffers.UOffsetT(default_), 0) + builder.PrependUOffsetTSlot(6, flatbuffers.UOffsetT(default_), 0) } func ColumnAddConstraints(builder *flatbuffers.Builder, constraints flatbuffers.UOffsetT) { - builder.PrependUOffsetTSlot(5, flatbuffers.UOffsetT(constraints), 0) + builder.PrependUOffsetTSlot(7, flatbuffers.UOffsetT(constraints), 0) } func ColumnStartConstraintsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT { return builder.StartVector(4, numElems, 4) } func ColumnAddComment(builder *flatbuffers.Builder, comment flatbuffers.UOffsetT) { - builder.PrependUOffsetTSlot(6, flatbuffers.UOffsetT(comment), 0) + builder.PrependUOffsetTSlot(8, flatbuffers.UOffsetT(comment), 0) } func ColumnEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type ColumnDefault struct { _tab flatbuffers.Table } @@ -227,6 +258,7 @@ func ColumnDefaultAddExpression(builder *flatbuffers.Builder, expression flatbuf func ColumnDefaultEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type ColumnConstraint struct { _tab flatbuffers.Table } @@ -297,6 +329,7 @@ func ColumnConstraintAddEnforced(builder *flatbuffers.Builder, enforced bool) { func ColumnConstraintEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type TableSchema struct { _tab flatbuffers.Table } @@ -382,6 +415,7 @@ func TableSchemaStartIndexesVector(builder *flatbuffers.Builder, numElems int) f func TableSchemaEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type IndexSchema struct { _tab flatbuffers.Table } @@ -490,6 +524,7 @@ func IndexSchemaAddComment(builder *flatbuffers.Builder, comment flatbuffers.UOf func IndexSchemaEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } + type ForeignKey struct { _tab flatbuffers.Table } diff --git a/go/serial/database.fbs b/go/serial/database.fbs index 963c456f7b..abe75b0003 100644 --- a/go/serial/database.fbs +++ b/go/serial/database.fbs @@ -20,6 +20,7 @@ namespace serial; table StoreRoot { refs:RefMap (required); + time:Timestamp (required); } table DatabaseRoot { @@ -35,31 +36,35 @@ table Table { } table Commit { - root:Ref; - parent_list:RefArray; - parent_closure:Ref; - meta:CommitMeta; + root:Ref (required); + parent_list:RefArray (required); + parent_closure:Ref (required); + meta:CommitMeta (required); } table CommitMeta { - name:string; - email:string; - desc:string; - timestamp:Timestamp; - user_timestamp:Timestamp; + name:string (required); + email:string (required); + desc:string (required); + timestamp:Timestamp (required); + user_timestamp:Timestamp (required); + + // todo(andy): needed? metaversion:uint16; } table Tag { - commit:Ref; - meta:TagMeta; + commit:Ref (required); + meta:TagMeta (required); } table TagMeta { - name:string; - email:string; - desc:string; - timestamp:Timestamp; - user_timestamp:Timestamp; + name:string (required); + email:string (required); + desc:string (required); + timestamp:Timestamp (required); + user_timestamp:Timestamp (required); + + // todo(andy): needed? metaversion:uint16; } diff --git a/go/serial/generate.sh b/go/serial/generate.sh index 90ac18eccd..e5854f6830 100755 --- a/go/serial/generate.sh +++ b/go/serial/generate.sh @@ -1,9 +1,11 @@ #!/bin/bash -# todo(andy): assert directory contents +GEN_DIR="../gen/fb/serial/" -flatc -o "../gen/fb/serial/" --gen-onefile --filename-suffix "" --gen-mutable --go-namespace "serial" --go \ +flatc -o $GEN_DIR --gen-onefile --filename-suffix "" --gen-mutable --go-namespace "serial" --go \ common.fbs \ database.fbs \ prolly.fbs \ - schema.fbs \ No newline at end of file + schema.fbs + +goimports -w $GEN_DIR \ No newline at end of file diff --git a/go/serial/schema.fbs b/go/serial/schema.fbs index 17c0cf2b7b..493dfbd5e2 100644 --- a/go/serial/schema.fbs +++ b/go/serial/schema.fbs @@ -18,6 +18,9 @@ namespace serial; table Column { name:string (required); + storage_order:uint16; + schema_order:uint16; + nullable:bool; primary_key:bool; auto_increment:bool;