Skip to content

Commit 1f92ba6

Browse files
authored
fix: Support unescaped \\N as NULL value for Snowflake driver (#6735)
Fixes #6693
1 parent 300deb9 commit 1f92ba6

File tree

5 files changed

+307
-6
lines changed

5 files changed

+307
-6
lines changed

packages/cubejs-testing-drivers/fixtures/snowflake.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@
109109
"querying Products: dimensions -- doesn't work wo ordering",
110110
"querying ECommerce: total quantity, avg discount, total sales, total profit by product + order + total -- rounding in athena",
111111
"querying ECommerce: total sales, total profit by month + order (date) + total -- doesn't work with the BigQuery",
112-
"querying ECommerce: total quantity, avg discount, total sales, total profit by product + order + total -- noisy test",
113-
"querying BigECommerce: partitioned pre-agg"
112+
"querying ECommerce: total quantity, avg discount, total sales, total profit by product + order + total -- noisy test"
114113
]
115114
}

packages/cubejs-testing-drivers/src/dataset.ts

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,53 @@ export const ECommerce = {
156156

157157
export const BigECommerce = {
158158
select: (cast: Cast) => {
159-
const { GENERATE_BIG_SERIES } = cast;
160-
const data = ECommerce.select(cast);
159+
const { GENERATE_BIG_SERIES, DATE_PREFIX, DATE_SUFFIX } = cast;
160+
const data = `
161+
select 3060 as row_id, 'CA-2017-131492' as order_id, ${DATE_PREFIX}'2020-10-19'${DATE_SUFFIX} as order_date, 'HH-15010' as customer_id, 'San Francisco' as city, 'Furniture' as category, 'Tables' as sub_category, 'Anderson Hickey Conga Table Tops & Accessories' as product_name, 24.36800 as sales, 2 as quantity, 0.20000 as discount, -3.35060 as profit union all
162+
select 523 as row_id, 'CA-2017-145142' as order_id, ${DATE_PREFIX}'2020-01-23'${DATE_SUFFIX} as order_date, 'MC-17605' as customer_id, 'Detroit' as city, 'Furniture' as category, 'Tables' as sub_category, 'Balt Solid Wood Rectangular Table' as product_name, 210.98000 as sales, 2 as quantity, 0.00000 as discount, 21.09800 as profit union all
163+
select 9584 as row_id, 'CA-2017-116127' as order_id, ${DATE_PREFIX}'2020-06-25'${DATE_SUFFIX} as order_date, 'SB-20185' as customer_id, 'New York City' as city, 'Furniture' as category, 'Bookcases' as sub_category, 'DMI Eclipse Executive Suite Bookcases' as product_name, 400.78400 as sales, 1 as quantity, 0.20000 as discount, -5.00980 as profit union all
164+
select 8425 as row_id, 'CA-2017-150091' as order_id, ${DATE_PREFIX}'2020-10-12'${DATE_SUFFIX} as order_date, 'NP-18670' as customer_id, 'Lakewood' as city, 'Furniture' as category, 'Bookcases' as sub_category, 'Global Adaptabilites Bookcase, Cherry/Storm Gray Finish' as product_name, 2154.90000 as sales, 5 as quantity, 0.00000 as discount, 129.29400 as profit union all
165+
select 2655 as row_id, 'CA-2017-112515' as order_id, ${DATE_PREFIX}'2020-09-17'${DATE_SUFFIX} as order_date, 'AS-10225' as customer_id, 'Provo' as city, 'Furniture' as category, 'Bookcases' as sub_category, 'Global Adaptabilites Bookcase, Cherry/Storm Gray Finish' as product_name, 1292.94000 as sales, 3 as quantity, 0.00000 as discount, 77.57640 as profit union all
166+
select 2952 as row_id, 'CA-2017-134915' as order_id, ${DATE_PREFIX}'2020-11-12'${DATE_SUFFIX} as order_date, 'EM-14140' as customer_id, 'Glendale' as city, 'Furniture' as category, 'Chairs' as sub_category, 'Harbour Creations 67200 Series Stacking Chairs' as product_name, 113.88800 as sales, 2 as quantity, 0.20000 as discount, 9.96520 as profit union all
167+
select 9473 as row_id, 'CA-2017-102925' as order_id, ${DATE_PREFIX}'2020-11-05'${DATE_SUFFIX} as order_date, 'CD-12280' as customer_id, 'New York City' as city, 'Furniture' as category, 'Chairs' as sub_category, 'Harbour Creations 67200 Series Stacking Chairs' as product_name, 128.12400 as sales, 2 as quantity, 0.10000 as discount, 24.20120 as profit union all
168+
select 5220 as row_id, 'CA-2017-145653' as order_id, ${DATE_PREFIX}'2020-09-01'${DATE_SUFFIX} as order_date, 'CA-12775' as customer_id, 'Detroit' as city, 'Furniture' as category, 'Chairs' as sub_category, 'Harbour Creations 67200 Series Stacking Chairs' as product_name, 498.26000 as sales, 7 as quantity, 0.00000 as discount, 134.53020 as profit union all
169+
select 4031 as row_id, 'CA-2017-124296' as order_id, ${DATE_PREFIX}'2020-12-24'${DATE_SUFFIX} as order_date, 'CS-12355' as customer_id, 'Lafayette' as city, 'Furniture' as category, 'Chairs' as sub_category, 'Iceberg Nesting Folding Chair, 19w x 6d x 43h' as product_name, 232.88000 as sales, 4 as quantity, 0.00000 as discount, 60.54880 as profit union all
170+
select 8621 as row_id, 'US-2017-119319' as order_id, ${DATE_PREFIX}'2020-11-06'${DATE_SUFFIX} as order_date, 'LC-17050' as customer_id, 'Dallas' as city, 'Furniture' as category, 'Furnishings' as sub_category, 'Linden 10 Round Wall Clock, Black' as product_name, 30.56000 as sales, 5 as quantity, 0.60000 as discount, -19.86400 as profit union all
171+
select 3059 as row_id, 'CA-2017-131492' as order_id, ${DATE_PREFIX}'2020-10-19'${DATE_SUFFIX} as order_date, 'HH-15010' as customer_id, 'San Francisco' as city, 'Furniture' as category, 'Furnishings' as sub_category, 'Linden 10 Round Wall Clock, Black' as product_name, 30.56000 as sales, 2 as quantity, 0.00000 as discount, 10.39040 as profit union all
172+
select 7425 as row_id, 'CA-2017-135069' as order_id, ${DATE_PREFIX}'2020-04-10'${DATE_SUFFIX} as order_date, 'BS-11755' as customer_id, 'Philadelphia' as city, 'Furniture' as category, 'Furnishings' as sub_category, 'Linden 10 Round Wall Clock, Black' as product_name, 36.67200 as sales, 3 as quantity, 0.20000 as discount, 6.41760 as profit union all
173+
select 849 as row_id, 'CA-2017-107503' as order_id, ${DATE_PREFIX}'2020-01-01'${DATE_SUFFIX} as order_date, 'GA-14725' as customer_id, 'Lorain' as city, 'Furniture' as category, 'Furnishings' as sub_category, 'Linden 10 Round Wall Clock, Black' as product_name, 48.89600 as sales, 4 as quantity, 0.20000 as discount, 8.55680 as profit union all
174+
select 6205 as row_id, 'CA-2017-145660' as order_id, ${DATE_PREFIX}'2020-12-01'${DATE_SUFFIX} as order_date, 'MG-17650' as customer_id, 'Marion' as city, 'Furniture' as category, 'Furnishings' as sub_category, 'Magna Visual Magnetic Picture Hangers' as product_name, 7.71200 as sales, 2 as quantity, 0.20000 as discount, 1.73520 as profit union all
175+
select 1494 as row_id, 'CA-2017-139661' as order_id, ${DATE_PREFIX}'2020-10-30'${DATE_SUFFIX} as order_date, 'JW-15220' as customer_id, 'Vancouver' as city, 'Furniture' as category, 'Furnishings' as sub_category, 'Magna Visual Magnetic Picture Hangers' as product_name, 9.64000 as sales, 2 as quantity, 0.00000 as discount, 3.66320 as profit union all
176+
select 3934 as row_id, 'CA-2017-123001' as order_id, ${DATE_PREFIX}'2020-09-02'${DATE_SUFFIX} as order_date, 'AW-10840' as customer_id, 'Bakersfield' as city, 'Office Supplies' as category, 'Art' as sub_category, 'OIC #2 Pencils, Medium Soft' as product_name, 9.40000 as sales, 5 as quantity, 0.00000 as discount, 2.72600 as profit union all
177+
select 3448 as row_id, 'CA-2017-102554' as order_id, ${DATE_PREFIX}'2020-06-11'${DATE_SUFFIX} as order_date, 'KN-16705' as customer_id, 'Auburn' as city, 'Office Supplies' as category, 'Art' as sub_category, 'OIC #2 Pencils, Medium Soft' as product_name, 3.76000 as sales, 2 as quantity, 0.00000 as discount, 1.09040 as profit union all
178+
select 6459 as row_id, 'US-2017-133361' as order_id, ${DATE_PREFIX}'2020-05-14'${DATE_SUFFIX} as order_date, 'AJ-10780' as customer_id, 'Baltimore' as city, 'Office Supplies' as category, 'Art' as sub_category, 'OIC #2 Pencils, Medium Soft' as product_name, 3.76000 as sales, 2 as quantity, 0.00000 as discount, 1.09040 as profit union all
179+
select 6272 as row_id, 'CA-2017-102379' as order_id, ${DATE_PREFIX}'2020-12-02'${DATE_SUFFIX} as order_date, 'BB-11545' as customer_id, 'Oakland' as city, 'Office Supplies' as category, 'Art' as sub_category, 'Panasonic KP-380BK Classic Electric Pencil Sharpener' as product_name, 179.90000 as sales, 5 as quantity, 0.00000 as discount, 44.97500 as profit union all
180+
select 9619 as row_id, 'CA-2017-160633' as order_id, ${DATE_PREFIX}'2020-11-16'${DATE_SUFFIX} as order_date, 'BS-11380' as customer_id, 'Bowling' as city, 'Office Supplies' as category, 'Art' as sub_category, 'Panasonic KP-380BK Classic Electric Pencil Sharpener' as product_name, 86.35200 as sales, 3 as quantity, 0.20000 as discount, 5.39700 as profit union all
181+
select 1013 as row_id, 'CA-2017-118437' as order_id, ${DATE_PREFIX}'2020-06-17'${DATE_SUFFIX} as order_date, 'PF-19165' as customer_id, 'Olympia' as city, 'Office Supplies' as category, 'Storage' as sub_category, 'Project Tote Personal File' as product_name, 14.03000 as sales, 1 as quantity, 0.00000 as discount, 4.06870 as profit union all
182+
select 4012 as row_id, 'CA-2017-100811' as order_id, ${DATE_PREFIX}'2020-11-21'${DATE_SUFFIX} as order_date, 'CC-12475' as customer_id, 'Philadelphia' as city, 'Office Supplies' as category, 'Storage' as sub_category, 'Recycled Eldon Regeneration Jumbo File' as product_name, 39.29600 as sales, 4 as quantity, 0.20000 as discount, 3.92960 as profit union all
183+
select 2595 as row_id, 'CA-2017-149048' as order_id, ${DATE_PREFIX}'2020-05-13'${DATE_SUFFIX} as order_date, 'BM-11650' as customer_id, 'Columbus' as city, 'Office Supplies' as category, 'Envelopes' as sub_category, 'Tyvek Side-Opening Peel & Seel Expanding Envelopes' as product_name, 180.96000 as sales, 2 as quantity, 0.00000 as discount, 81.43200 as profit union all
184+
select 2329 as row_id, 'CA-2017-138422' as order_id, ${DATE_PREFIX}'2020-09-23'${DATE_SUFFIX} as order_date, 'KN-16705' as customer_id, 'Columbus' as city, 'Office Supplies' as category, 'Envelopes' as sub_category, 'Wausau Papers Astrobrights Colored Envelopes' as product_name, 14.35200 as sales, 3 as quantity, 0.20000 as discount, 5.20260 as profit union all
185+
select 4227 as row_id, 'CA-2017-120327' as order_id, ${DATE_PREFIX}'2020-11-11'${DATE_SUFFIX} as order_date, 'WB-21850' as customer_id, 'Columbus' as city, 'Office Supplies' as category, 'Fasteners' as sub_category, 'Vinyl Coated Wire Paper Clips in Organizer Box, 800/Box' as product_name, 45.92000 as sales, 4 as quantity, 0.00000 as discount, 21.58240 as profit union all
186+
select 6651 as row_id, 'US-2017-124779' as order_id, ${DATE_PREFIX}'2020-09-08'${DATE_SUFFIX} as order_date, 'BF-11020' as customer_id, 'Arlington' as city, 'Office Supplies' as category, 'Fasteners' as sub_category, 'Vinyl Coated Wire Paper Clips in Organizer Box, 800/Box' as product_name, 45.92000 as sales, 5 as quantity, 0.20000 as discount, 15.49800 as profit union all
187+
select 8673 as row_id, 'CA-2017-163265' as order_id, ${DATE_PREFIX}'2020-02-16'${DATE_SUFFIX} as order_date, 'JS-16030' as customer_id, 'Decatur' as city, 'Office Supplies' as category, 'Fasteners' as sub_category, 'Vinyl Coated Wire Paper Clips in Organizer Box, 800/Box' as product_name, 18.36800 as sales, 2 as quantity, 0.20000 as discount, 6.19920 as profit union all
188+
select 1995 as row_id, 'CA-2017-133648' as order_id, ${DATE_PREFIX}'2020-06-25'${DATE_SUFFIX} as order_date, 'ML-17755' as customer_id, 'Columbus' as city, 'Office Supplies' as category, 'Fasteners' as sub_category, 'Plymouth Boxed Rubber Bands by Plymouth' as product_name, 11.30400 as sales, 3 as quantity, 0.20000 as discount, -2.11950 as profit union all
189+
select 7310 as row_id, 'CA-2017-112172' as order_id, ${DATE_PREFIX}'2020-06-10'${DATE_SUFFIX} as order_date, 'MM-18280' as customer_id, 'New York City' as city, 'Office Supplies' as category, 'Fasteners' as sub_category, 'Plymouth Boxed Rubber Bands by Plymouth' as product_name, 14.13000 as sales, 3 as quantity, 0.00000 as discount, 0.70650 as profit union all
190+
select 3717 as row_id, 'CA-2017-144568' as order_id, ${DATE_PREFIX}'2020-05-29'${DATE_SUFFIX} as order_date, 'JO-15550' as customer_id, 'Omaha' as city, 'Office Supplies' as category, 'Fasteners' as sub_category, 'Plymouth Boxed Rubber Bands by Plymouth' as product_name, 23.55000 as sales, 5 as quantity, 0.00000 as discount, 1.17750 as profit union all
191+
select 4882 as row_id, 'CA-2017-143567' as order_id, ${DATE_PREFIX}'2020-11-02'${DATE_SUFFIX} as order_date, 'TB-21175' as customer_id, 'Columbus' as city, 'Technology' as category, 'Accessories' as sub_category, 'Logitech diNovo Edge Keyboard' as product_name, 2249.91000 as sales, 9 as quantity, 0.00000 as discount, 517.47930 as profit union all
192+
select 5277 as row_id, 'CA-2017-147333' as order_id, ${DATE_PREFIX}'2020-12-14'${DATE_SUFFIX} as order_date, 'KL-16555' as customer_id, 'Columbus' as city, 'Technology' as category, 'Accessories' as sub_category, 'Kingston Digital DataTraveler 16GB USB 2.0' as product_name, 44.75000 as sales, 5 as quantity, 0.00000 as discount, 8.50250 as profit union all
193+
select 6125 as row_id, 'CA-2017-145772' as order_id, ${DATE_PREFIX}'2020-06-03'${DATE_SUFFIX} as order_date, 'SS-20140' as customer_id, 'Los Angeles' as city, 'Technology' as category, 'Accessories' as sub_category, 'Kingston Digital DataTraveler 16GB USB 2.1' as product_name, 44.75000 as sales, 5 as quantity, 0.00000 as discount, 8.50250 as profit union all
194+
select 2455 as row_id, 'CA-2017-140949' as order_id, ${DATE_PREFIX}'2020-03-17'${DATE_SUFFIX} as order_date, 'DB-13405' as customer_id, 'New York City' as city, 'Technology' as category, 'Accessories' as sub_category, 'Kingston Digital DataTraveler 16GB USB 2.2' as product_name, 71.60000 as sales, 8 as quantity, 0.00000 as discount, 13.60400 as profit union all
195+
select 2661 as row_id, 'CA-2017-123372' as order_id, ${DATE_PREFIX}'2020-11-28'${DATE_SUFFIX} as order_date, 'DG-13300' as customer_id, 'Columbus' as city, 'Technology' as category, 'Phones' as sub_category, 'Google Nexus 5' as product_name, 1979.89000 as sales, 11 as quantity, 0.00000 as discount, 494.97250 as profit union all
196+
select 3083 as row_id, 'US-2017-132297' as order_id, ${DATE_PREFIX}'2020-05-27'${DATE_SUFFIX} as order_date, 'DW-13480' as customer_id, 'Louisville' as city, 'Technology' as category, 'Phones' as sub_category, 'Google Nexus 6' as product_name, 539.97000 as sales, 3 as quantity, 0.00000 as discount, 134.99250 as profit union all
197+
select 4161 as row_id, 'CA-2017-115546' as order_id, ${DATE_PREFIX}'2020-05-14'${DATE_SUFFIX} as order_date, 'AH-10465' as customer_id, 'New York City' as city, 'Technology' as category, 'Phones' as sub_category, 'Google Nexus 7' as product_name, 539.97000 as sales, 3 as quantity, 0.00000 as discount, 134.99250 as profit union all
198+
select 8697 as row_id, 'CA-2017-119284' as order_id, ${DATE_PREFIX}'2020-06-15'${DATE_SUFFIX} as order_date, 'TS-21205' as customer_id, 'Columbus' as city, 'Technology' as category, 'Phones' as sub_category, 'HTC One' as product_name, 239.97600 as sales, 3 as quantity, 0.20000 as discount, 26.99730 as profit union all
199+
select 7698 as row_id, 'CA-2017-151799' as order_id, ${DATE_PREFIX}'2020-12-14'${DATE_SUFFIX} as order_date, 'BF-11170' as customer_id, 'Columbus' as city, 'Technology' as category, 'Copiers' as sub_category, 'Canon PC1080F Personal Copier' as product_name, 1199.98000 as sales, 2 as quantity, 0.00000 as discount, 467.99220 as profit union all
200+
select 7174 as row_id, 'US-2017-141677' as order_id, ${DATE_PREFIX}'2020-03-26'${DATE_SUFFIX} as order_date, 'HK-14890' as customer_id, 'Houston' as city, 'Technology' as category, 'Copiers' as sub_category, 'Canon PC1080F Personal Copier' as product_name, 2399.96000 as sales, 5 as quantity, 0.20000 as discount, 569.99050 as profit union all
201+
select 9618 as row_id, 'CA-2017-160633' as order_id, ${DATE_PREFIX}'2020-11-16'${DATE_SUFFIX} as order_date, 'BS-11380' as customer_id, 'Columbus' as city, 'Technology' as category, 'Copiers' as sub_category, 'Hewlett Packard 610 Color Digital Copier / Printer' as product_name, 899.98200 as sales, 3 as quantity, 0.40000 as discount, 74.99850 as profit union all
202+
select 8958 as row_id, 'CA-2017-105620' as order_id, ${DATE_PREFIX}'2020-12-25'${DATE_SUFFIX} as order_date, 'JH-15430' as customer_id, 'Columbus' as city, 'Technology' as category, 'Machines' as sub_category, 'Lexmark 20R1285 X6650 Wireless All-in-One Printer' as product_name, NULL as sales, 2 as quantity, 0.50000 as discount, -7.20000 as profit union all
203+
select 8878 as row_id, 'CA-2017-126928' as order_id, ${DATE_PREFIX}'2020-09-17'${DATE_SUFFIX} as order_date, 'GZ-14470' as customer_id, 'Morristown' as city, 'Technology' as category, 'Machines' as sub_category, 'Lexmark 20R1285 X6650 Wireless All-in-One Printer' as product_name, 600.00000 as sales, 4 as quantity, 0.00000 as discount, 225.60000 as profit union all
204+
select 7293 as row_id, 'CA-2017-109183' as order_id, ${DATE_PREFIX}'2020-12-04'${DATE_SUFFIX} as order_date, 'LR-16915' as customer_id, 'Columbus' as city, 'Technology' as category, 'Machines' as sub_category, 'Okidata C610n Printer' as product_name, 649.00000 as sales, 2 as quantity, 0.50000 as discount, -272.58000 as profit
205+
`;
161206
if (!GENERATE_BIG_SERIES) {
162207
return `SELECT row_id as id, row_id, order_id, order_date, city, category, sub_category, product_name, sales, quantity, discount, profit from (${data}) d`;
163208
}

0 commit comments

Comments
 (0)