added storage order, schema order to Columns, added formatting to generate.sh

This commit is contained in:
Andy Arthur
2022-01-03 09:15:25 -08:00
parent e268ef2ad9
commit c2fb794bbb
7 changed files with 116 additions and 45 deletions

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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;
}

View File

@@ -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
schema.fbs
goimports -w $GEN_DIR

View File

@@ -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;