@@ -18,22 +18,37 @@ func (t *ReverseTransformer) ReverseTransformValues(table *schema.Table, values
1818type Transformer struct {}
1919
2020func (* Transformer ) TransformBool (v * schema.Bool ) any {
21+ if v .Status != schema .Present {
22+ return nil
23+ }
2124 return v .Bool
2225}
2326
2427func (* Transformer ) TransformBytea (v * schema.Bytea ) any {
28+ if v .Status != schema .Present {
29+ return nil
30+ }
2531 return v .String ()
2632}
2733
2834func (* Transformer ) TransformFloat8 (v * schema.Float8 ) any {
35+ if v .Status != schema .Present {
36+ return nil
37+ }
2938 return v .Float
3039}
3140
3241func (* Transformer ) TransformInt8 (v * schema.Int8 ) any {
42+ if v .Status != schema .Present {
43+ return nil
44+ }
3345 return v .Int
3446}
3547
3648func (* Transformer ) TransformInt8Array (v * schema.Int8Array ) any {
49+ if v .Status != schema .Present {
50+ return nil
51+ }
3752 res := make ([]int64 , len (v .Elements ))
3853 for i , e := range v .Elements {
3954 res [i ] = e .Int
@@ -42,6 +57,9 @@ func (*Transformer) TransformInt8Array(v *schema.Int8Array) any {
4257}
4358
4459func (* Transformer ) TransformJSON (v * schema.JSON ) any {
60+ if v .Status != schema .Present {
61+ return nil
62+ }
4563 var res any
4664 if err := json .Unmarshal (v .Bytes , & res ); err != nil {
4765 panic (err )
@@ -50,10 +68,16 @@ func (*Transformer) TransformJSON(v *schema.JSON) any {
5068}
5169
5270func (* Transformer ) TransformText (v * schema.Text ) any {
71+ if v .Status != schema .Present {
72+ return nil
73+ }
5374 return v .Str
5475}
5576
5677func (* Transformer ) TransformTextArray (v * schema.TextArray ) any {
78+ if v .Status != schema .Present {
79+ return nil
80+ }
5781 res := make ([]string , len (v .Elements ))
5882 for i , e := range v .Elements {
5983 res [i ] = e .Str
@@ -62,14 +86,23 @@ func (*Transformer) TransformTextArray(v *schema.TextArray) any {
6286}
6387
6488func (* Transformer ) TransformTimestamptz (v * schema.Timestamptz ) any {
89+ if v .Status != schema .Present {
90+ return nil
91+ }
6592 return v .String ()
6693}
6794
6895func (* Transformer ) TransformUUID (v * schema.UUID ) any {
96+ if v .Status != schema .Present {
97+ return nil
98+ }
6999 return v .String ()
70100}
71101
72102func (* Transformer ) TransformUUIDArray (v * schema.UUIDArray ) any {
103+ if v .Status != schema .Present {
104+ return nil
105+ }
73106 res := make ([]string , len (v .Elements ))
74107 for i , e := range v .Elements {
75108 res [i ] = e .String ()
@@ -78,10 +111,16 @@ func (*Transformer) TransformUUIDArray(v *schema.UUIDArray) any {
78111}
79112
80113func (* Transformer ) TransformCIDR (v * schema.CIDR ) any {
114+ if v .Status != schema .Present {
115+ return nil
116+ }
81117 return v .String ()
82118}
83119
84120func (* Transformer ) TransformCIDRArray (v * schema.CIDRArray ) any {
121+ if v .Status != schema .Present {
122+ return nil
123+ }
85124 res := make ([]string , len (v .Elements ))
86125 for i , e := range v .Elements {
87126 res [i ] = e .String ()
@@ -90,10 +129,16 @@ func (*Transformer) TransformCIDRArray(v *schema.CIDRArray) any {
90129}
91130
92131func (* Transformer ) TransformInet (v * schema.Inet ) any {
132+ if v .Status != schema .Present {
133+ return nil
134+ }
93135 return v .String ()
94136}
95137
96138func (* Transformer ) TransformInetArray (v * schema.InetArray ) any {
139+ if v .Status != schema .Present {
140+ return nil
141+ }
97142 res := make ([]string , len (v .Elements ))
98143 for i , e := range v .Elements {
99144 res [i ] = e .String ()
@@ -102,10 +147,16 @@ func (*Transformer) TransformInetArray(v *schema.InetArray) any {
102147}
103148
104149func (* Transformer ) TransformMacaddr (v * schema.Macaddr ) any {
150+ if v .Status != schema .Present {
151+ return nil
152+ }
105153 return v .String ()
106154}
107155
108156func (* Transformer ) TransformMacaddrArray (v * schema.MacaddrArray ) any {
157+ if v .Status != schema .Present {
158+ return nil
159+ }
109160 res := make ([]string , len (v .Elements ))
110161 for i , e := range v .Elements {
111162 res [i ] = e .String ()
0 commit comments