@@ -139,6 +139,14 @@ func TestDecodeColumn(t *testing.T) {
139139 value : spanner.NullJSON {Value : nil , Valid : true },
140140 want : `null` ,
141141 },
142+ {
143+ desc : "interval" ,
144+ value : spanner.NullInterval {
145+ Interval : spanner.Interval {Months : 1 , Days : 1 , Nanos : big .NewInt (3_600_000_000_000 )},
146+ Valid : true ,
147+ },
148+ want : `P1M1DT1H` ,
149+ },
142150 {
143151 desc : "uuid" ,
144152 value : spanner.NullUUID {UUID : uuid .MustParse ("1778a92d-dcdb-4e7c-a515-b6f953b59e54" ), Valid : true },
@@ -196,6 +204,11 @@ func TestDecodeColumn(t *testing.T) {
196204 value : spanner.NullJSON {Value : nil , Valid : false },
197205 want : "NULL" ,
198206 },
207+ {
208+ desc : "null interval" ,
209+ value : spanner.NullInterval {Interval : spanner.Interval {}, Valid : false },
210+ want : "NULL" ,
211+ },
199212 {
200213 desc : "null uuid" ,
201214 value : spanner.NullUUID {UUID : uuid.UUID {}, Valid : false },
@@ -278,6 +291,14 @@ func TestDecodeColumn(t *testing.T) {
278291 },
279292 want : `[{"msg":"foo"}, {"msg":"bar"}]` ,
280293 },
294+ {
295+ desc : "array interval" ,
296+ value : []spanner.NullInterval {
297+ {Interval : spanner.Interval {Months : 1 , Days : 1 , Nanos : big .NewInt (3_600_000_000_000 )}, Valid : true },
298+ {Interval : spanner.Interval {}, Valid : true },
299+ },
300+ want : `[P1M1DT1H, P0Y]` ,
301+ },
281302 {
282303 desc : "array uuid" ,
283304 value : []spanner.NullUUID {
@@ -338,6 +359,11 @@ func TestDecodeColumn(t *testing.T) {
338359 value : []spanner.NullJSON (nil ),
339360 want : "NULL" ,
340361 },
362+ {
363+ desc : "null array interval" ,
364+ value : []spanner.NullInterval (nil ),
365+ want : "NULL" ,
366+ },
341367 {
342368 desc : "null array uuid" ,
343369 value : []spanner.NullUUID (nil ),
0 commit comments