SystemPage の実装
この記事は「けんつの1人 DBMS アドベントカレンダー Advent Calendar 2019 - Adventar」 18 日目の記事です。
はじめに
どうも、最近ダクソリマスタードで RTA をやりはじめたけんつです。黒騎士斧槍めちゃ強いですね。
今回もめちゃくちゃ短いが、SystemPageの実装についてです。
SystemPage と言っているけどおそらく catalog といったほうがよくてテーブルの情報を持っているやつです
実装
import "encoding/json" type SystemPage struct { MaxPageId uint64 `json:"MaxPageId"` TableName string `json:"TableName"` ColumnTypes []string `json:"ColumnType"` ColumnNames []string `json:"ColumnName"` } func NewSystemPage(tableName string) *SystemPage { return &SystemPage{ MaxPageId: 0, TableName: tableName, ColumnTypes: []string{}, ColumnNames: []string{}, } } func SerializeSystemPage(s *SystemPage) []byte { buf, err := json.Marshal(*s) if err != nil { panic(err) } return buf } func DeserializeSystemPage(data []byte) (*SystemPage, error) { var sys SystemPage err := json.Unmarshal(data, &sys) if err != nil { return nil, err } return &sys, nil }
これに関しては語ることがない。
テーブルの情報を持っていたかった。以上。
おわりに
こんな短くていいのか?