@@ -106,4 +106,76 @@ describe('postgres pa', () => {
106106 } ) ) . json ( ) ;
107107 expect ( preview . preview ) . toBeDefined ( ) ;
108108 } ) ;
109+
110+ test ( 'different column types' , async ( ) => {
111+ const query : Query = {
112+ dimensions : [
113+ 'unusualDataTypes.array' ,
114+ 'unusualDataTypes.bit_column' ,
115+ 'unusualDataTypes.boolean_column' ,
116+ 'unusualDataTypes.cidr_column' ,
117+ 'unusualDataTypes.id' ,
118+ 'unusualDataTypes.inet_column' ,
119+ 'unusualDataTypes.json' ,
120+ 'unusualDataTypes.jsonb' ,
121+ 'unusualDataTypes.mac_address' ,
122+ 'unusualDataTypes.point_column' ,
123+ 'unusualDataTypes.status' ,
124+ 'unusualDataTypes.text_column' ,
125+ 'unusualDataTypes.xml_column'
126+ ] ,
127+ ungrouped : true ,
128+ order : {
129+ 'unusualDataTypes.id' : 'asc'
130+ }
131+ } ;
132+ const result = await client . load ( query , { } ) ;
133+ expect ( result . rawData ( ) ) . toEqual ( [
134+ {
135+ 'unusualDataTypes.mac_address' : '11:22:33:44:55:66' ,
136+ 'unusualDataTypes.inet_column' : '192.168.0.1' ,
137+ 'unusualDataTypes.bit_column' : '11111111' ,
138+ 'unusualDataTypes.status' : 'new' ,
139+ 'unusualDataTypes.array' : [ 1 , 2 , 3 ] ,
140+ 'unusualDataTypes.text_column' : 'Hello, world!' ,
141+ 'unusualDataTypes.id' : 1 ,
142+ 'unusualDataTypes.point_column' : { x : 1 , y : 1 } ,
143+ 'unusualDataTypes.boolean_column' : true ,
144+ 'unusualDataTypes.jsonb' : { key : 'value1' , number : 42 } ,
145+ 'unusualDataTypes.xml_column' : '<root><child>data</child></root>' ,
146+ 'unusualDataTypes.cidr_column' : '192.168.0.0/24' ,
147+ 'unusualDataTypes.json' : { key : 'value1' , number : 42 }
148+ } ,
149+ {
150+ 'unusualDataTypes.cidr_column' : '192.168.0.0/24' ,
151+ 'unusualDataTypes.array' : [ 4 , 5 , 6 ] ,
152+ 'unusualDataTypes.status' : 'new' ,
153+ 'unusualDataTypes.mac_address' : '00:11:22:33:44:55' ,
154+ 'unusualDataTypes.text_column' : 'Goodbye, world!' ,
155+ 'unusualDataTypes.json' : { key : 'value2' , number : 84 } ,
156+ 'unusualDataTypes.id' : 2 ,
157+ 'unusualDataTypes.bit_column' : '00000001' ,
158+ 'unusualDataTypes.xml_column' : '<root><child>more data</child></root>' ,
159+ 'unusualDataTypes.point_column' : { x : 2 , y : 2 } ,
160+ 'unusualDataTypes.jsonb' : { key : 'value2' , number : 84 } ,
161+ 'unusualDataTypes.inet_column' : '192.168.0.2' ,
162+ 'unusualDataTypes.boolean_column' : false
163+ } ,
164+ {
165+ 'unusualDataTypes.text_column' : 'PostgreSQL is awesome!' ,
166+ 'unusualDataTypes.boolean_column' : true ,
167+ 'unusualDataTypes.json' : { key : 'value3' , number : 168 } ,
168+ 'unusualDataTypes.array' : [ 7 , 8 , 9 ] ,
169+ 'unusualDataTypes.point_column' : { x : 3 , y : 3 } ,
170+ 'unusualDataTypes.id' : 3 ,
171+ 'unusualDataTypes.mac_address' : '22:33:44:55:66:77' ,
172+ 'unusualDataTypes.bit_column' : '11110000' ,
173+ 'unusualDataTypes.status' : 'processed' ,
174+ 'unusualDataTypes.cidr_column' : '192.168.0.0/24' ,
175+ 'unusualDataTypes.xml_column' : '<root><child>even more data</child></root>' ,
176+ 'unusualDataTypes.jsonb' : { key : 'value3' , number : 168 } ,
177+ 'unusualDataTypes.inet_column' : '192.168.0.3'
178+ }
179+ ] ) ;
180+ } ) ;
109181} ) ;
0 commit comments