Skip to content

Commit

Permalink
feat: add table name and namespace
Browse files Browse the repository at this point in the history
  • Loading branch information
3n0ugh committed Jun 28, 2024
1 parent 418e214 commit 5f520a7
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 17 deletions.
15 changes: 10 additions & 5 deletions pq/message/format/delete.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@ import (
)

type Delete struct {
OldTupleData *tuple.Data
OldDecoded map[string]any
OID uint32
XID uint32
OldTupleType uint8
OldTupleData *tuple.Data
OldDecoded map[string]any
OID uint32
XID uint32
OldTupleType uint8
TableNamespace string
TableName string
}

func NewDelete(data []byte, streamedTransaction bool, relation map[uint32]*Relation) (*Delete, error) {
Expand All @@ -26,6 +28,9 @@ func NewDelete(data []byte, streamedTransaction bool, relation map[uint32]*Relat
return nil, errors.New("relation not found")
}

msg.TableNamespace = rel.Namespace
msg.TableName = rel.Name

var err error

msg.OldDecoded, err = msg.OldTupleData.DecodeWithColumn(rel.Columns)
Expand Down
2 changes: 2 additions & 0 deletions pq/message/format/delete_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ func TestDelete_New(t *testing.T) {
"id": int32(645),
"name": "foo",
},
TableNamespace: "public",
TableName: "t",
}

assert.Equal(t, expected, msg)
Expand Down
13 changes: 9 additions & 4 deletions pq/message/format/insert.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@ const (
)

type Insert struct {
TupleData *tuple.Data
Decoded map[string]any
OID uint32
XID uint32
TupleData *tuple.Data
Decoded map[string]any
OID uint32
XID uint32
TableNamespace string
TableName string
}

func NewInsert(data []byte, streamedTransaction bool, relation map[uint32]*Relation) (*Insert, error) {
Expand All @@ -29,6 +31,9 @@ func NewInsert(data []byte, streamedTransaction bool, relation map[uint32]*Relat
return nil, errors.New("relation not found")
}

msg.TableNamespace = rel.Namespace
msg.TableName = rel.Name

msg.Decoded = make(map[string]any)

var err error
Expand Down
4 changes: 3 additions & 1 deletion pq/message/format/insert_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ func TestInsert_New(t *testing.T) {
},
SkipByte: 24,
},
Decoded: map[string]any{"id": int32(605), "name": "foo"},
Decoded: map[string]any{"id": int32(605), "name": "foo"},
TableNamespace: "public",
TableName: "t",
}

assert.EqualValues(t, expected, msg)
Expand Down
19 changes: 12 additions & 7 deletions pq/message/format/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ const (
)

type Update struct {
NewTupleData *tuple.Data
NewDecoded map[string]any
OldTupleData *tuple.Data
OldDecoded map[string]any
OID uint32
XID uint32
OldTupleType uint8
NewTupleData *tuple.Data
NewDecoded map[string]any
OldTupleData *tuple.Data
OldDecoded map[string]any
OID uint32
XID uint32
OldTupleType uint8
TableNamespace string
TableName string
}

func NewUpdate(data []byte, streamedTransaction bool, relation map[uint32]*Relation) (*Update, error) {
Expand All @@ -34,6 +36,9 @@ func NewUpdate(data []byte, streamedTransaction bool, relation map[uint32]*Relat
return nil, errors.New("relation not found")
}

msg.TableNamespace = rel.Namespace
msg.TableName = rel.Name

var err error

if msg.OldTupleData != nil {
Expand Down
2 changes: 2 additions & 0 deletions pq/message/format/update_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ func TestUpdate_New(t *testing.T) {
"id": int32(53),
"name": "bar2",
},
TableNamespace: "public",
TableName: "t",
}

assert.Equal(t, expected, msg)
Expand Down

0 comments on commit 5f520a7

Please sign in to comment.