@@ -145,10 +145,10 @@ func GenTestData(mem memory.Allocator, sc *arrow.Schema, opts GenTestDataOptions
145145 bldr := array .NewRecordBuilder (mem , sc )
146146 for i , c := range sc .Fields () {
147147 if nullRow && c .Nullable && ! schema .IsPk (c ) &&
148- c .Name != schema .CqSourceNameColumn .Name &&
149- c .Name != schema .CqSyncTimeColumn .Name &&
150- c .Name != schema .CqIDField .Name &&
151- c .Name != schema .CqParentIDColumn .Name {
148+ c .Name != schema .CqSourceNameColumn .Name &&
149+ c .Name != schema .CqSyncTimeColumn .Name &&
150+ c .Name != schema .CqIDField .Name &&
151+ c .Name != schema .CqParentIDColumn .Name {
152152 bldr .Field (i ).AppendNull ()
153153 continue
154154 }
@@ -245,3 +245,122 @@ func GenTestData(mem memory.Allocator, sc *arrow.Schema, opts GenTestDataOptions
245245 }
246246 return records
247247}
248+
249+ func GenTestDataV1 (table * schema.Table ) schema.CQTypes {
250+ data := make (schema.CQTypes , len (table .Columns ))
251+ for i , c := range table .Columns {
252+ switch c .Type {
253+ case schema .TypeBool :
254+ data [i ] = & schema.Bool {
255+ Bool : true ,
256+ Status : schema .Present ,
257+ }
258+ case schema .TypeInt :
259+ data [i ] = & schema.Int8 {
260+ Int : 1 ,
261+ Status : schema .Present ,
262+ }
263+ case schema .TypeFloat :
264+ data [i ] = & schema.Float8 {
265+ Float : 1.1 ,
266+ Status : schema .Present ,
267+ }
268+ case schema .TypeUUID :
269+ uuidColumn := & schema.UUID {}
270+ if err := uuidColumn .Set (uuid .NewString ()); err != nil {
271+ panic (err )
272+ }
273+ data [i ] = uuidColumn
274+ case schema .TypeString :
275+ if c .Name == "text_with_null" {
276+ data [i ] = & schema.Text {
277+ Str : "AStringWith\x00 NullBytes" ,
278+ Status : schema .Present ,
279+ }
280+ } else {
281+ data [i ] = & schema.Text {
282+ Str : "test" ,
283+ Status : schema .Present ,
284+ }
285+ }
286+ case schema .TypeByteArray :
287+ data [i ] = & schema.Bytea {
288+ Bytes : []byte {1 , 2 , 3 },
289+ Status : schema .Present ,
290+ }
291+ case schema .TypeStringArray :
292+ if c .Name == "text_array_with_null" {
293+ data [i ] = & schema.TextArray {
294+ Elements : []schema.Text {{Str : "test1" , Status : schema .Present }, {Str : "test2\x00 WithNull" , Status : schema .Present }},
295+ Status : schema .Present ,
296+ }
297+ } else {
298+ data [i ] = & schema.TextArray {
299+ Elements : []schema.Text {{Str : "test1" , Status : schema .Present }, {Str : "test2" , Status : schema .Present }},
300+ Status : schema .Present ,
301+ }
302+ }
303+
304+ case schema .TypeIntArray :
305+ data [i ] = & schema.Int8Array {
306+ Elements : []schema.Int8 {{Int : 1 , Status : schema .Present }, {Int : 2 , Status : schema .Present }},
307+ Status : schema .Present ,
308+ }
309+ case schema .TypeTimestamp :
310+ data [i ] = & schema.Timestamptz {
311+ Time : time .Now ().UTC ().Round (time .Second ),
312+ Status : schema .Present ,
313+ }
314+ case schema .TypeJSON :
315+ data [i ] = & schema.JSON {
316+ Bytes : []byte (`{"test": "test"}` ),
317+ Status : schema .Present ,
318+ }
319+ case schema .TypeUUIDArray :
320+ uuidArrayColumn := & schema.UUIDArray {}
321+ if err := uuidArrayColumn .Set ([]string {"00000000-0000-0000-0000-000000000001" , "00000000-0000-0000-0000-000000000002" }); err != nil {
322+ panic (err )
323+ }
324+ data [i ] = uuidArrayColumn
325+ case schema .TypeInet :
326+ inetColumn := & schema.Inet {}
327+ if err := inetColumn .Set ("192.0.2.0/24" ); err != nil {
328+ panic (err )
329+ }
330+ data [i ] = inetColumn
331+ case schema .TypeInetArray :
332+ inetArrayColumn := & schema.InetArray {}
333+ if err := inetArrayColumn .Set ([]string {"192.0.2.1/24" , "192.0.2.1/24" }); err != nil {
334+ panic (err )
335+ }
336+ data [i ] = inetArrayColumn
337+ case schema .TypeCIDR :
338+ cidrColumn := & schema.CIDR {}
339+ if err := cidrColumn .Set ("192.0.2.1" ); err != nil {
340+ panic (err )
341+ }
342+ data [i ] = cidrColumn
343+ case schema .TypeCIDRArray :
344+ cidrArrayColumn := & schema.CIDRArray {}
345+ if err := cidrArrayColumn .Set ([]string {"192.0.2.1" , "192.0.2.1" }); err != nil {
346+ panic (err )
347+ }
348+ data [i ] = cidrArrayColumn
349+ case schema .TypeMacAddr :
350+ macaddrColumn := & schema.Macaddr {}
351+ if err := macaddrColumn .Set ("aa:bb:cc:dd:ee:ff" ); err != nil {
352+ panic (err )
353+ }
354+ data [i ] = macaddrColumn
355+ case schema .TypeMacAddrArray :
356+ macaddrArrayColumn := & schema.MacaddrArray {}
357+ if err := macaddrArrayColumn .Set ([]string {"aa:bb:cc:dd:ee:ff" , "11:22:33:44:55:66" }); err != nil {
358+ panic (err )
359+ }
360+ data [i ] = macaddrArrayColumn
361+ default :
362+ panic ("unknown type" + c .Type .String ())
363+ }
364+ }
365+ return data
366+ }
0 commit comments