@@ -2387,129 +2387,147 @@ describe('PreAggregations', () => {
23872387 } ) ;
23882388 }
23892389
2390- it ( 'rollup join' , async ( ) => {
2391- await compiler . compile ( ) ;
2392-
2393- const query = new PostgresQuery ( { joinGraph, cubeEvaluator, compiler } , {
2394- measures : [
2395- 'visitor_checkins.count' ,
2396- ] ,
2397- dimensions : [ 'visitors.source' ] ,
2398- preAggregationsSchema : '' ,
2399- order : [ {
2400- id : 'visitors.source' ,
2401- } ] ,
2402- timezone : 'UTC' ,
2390+ if ( getEnv ( 'nativeSqlPlanner' ) ) {
2391+ it . skip ( 'rollup join: should be fixed in Tesseract' , ( ) => {
2392+ // This should be fixed in Tesseract.
24032393 } ) ;
2394+ } else {
2395+ it ( 'rollup join' , async ( ) => {
2396+ await compiler . compile ( ) ;
24042397
2405- const queryAndParams = query . buildSqlAndParams ( ) ;
2406- console . log ( queryAndParams ) ;
2407- const preAggregationsDescription : any = query . preAggregations ?. preAggregationsDescription ( ) ;
2408- console . log ( preAggregationsDescription ) ;
2398+ const query = new PostgresQuery ( { joinGraph, cubeEvaluator, compiler } , {
2399+ measures : [
2400+ 'visitor_checkins.count' ,
2401+ ] ,
2402+ dimensions : [ 'visitors.source' ] ,
2403+ preAggregationsSchema : '' ,
2404+ order : [ {
2405+ id : 'visitors.source' ,
2406+ } ] ,
2407+ timezone : 'UTC' ,
2408+ } ) ;
24092409
2410- console . log ( query . preAggregations ?. rollupMatchResultDescriptions ( ) ) ;
2410+ const queryAndParams = query . buildSqlAndParams ( ) ;
2411+ console . log ( queryAndParams ) ;
2412+ const preAggregationsDescription : any = query . preAggregations ?. preAggregationsDescription ( ) ;
2413+ console . log ( preAggregationsDescription ) ;
24112414
2412- const queries = dbRunner . tempTablePreAggregations ( preAggregationsDescription ) ;
2415+ console . log ( query . preAggregations ?. rollupMatchResultDescriptions ( ) ) ;
24132416
2414- console . log ( JSON . stringify ( queries . concat ( queryAndParams ) ) ) ;
2417+ const queries = dbRunner . tempTablePreAggregations ( preAggregationsDescription ) ;
24152418
2416- return dbRunner . evaluateQueryWithPreAggregations ( query ) . then ( res => {
2417- console . log ( JSON . stringify ( res ) ) ;
2418- expect ( res ) . toEqual (
2419- [
2420- { visitors__source : 'google' , vc__count : '1' } ,
2421- { visitors__source : 'some' , vc__count : '5' } ,
2422- { visitors__source : null , vc__count : '0' } ,
2423- ] ,
2424- ) ;
2425- } ) ;
2426- } ) ;
2419+ console . log ( JSON . stringify ( queries . concat ( queryAndParams ) ) ) ;
24272420
2428- it ( 'rollup join existing joins' , async ( ) => {
2429- await compiler . compile ( ) ;
2421+ return dbRunner . evaluateQueryWithPreAggregations ( query ) . then ( res => {
2422+ console . log ( JSON . stringify ( res ) ) ;
2423+ expect ( res ) . toEqual (
2424+ [
2425+ { visitors__source : 'google' , vc__count : '1' } ,
2426+ { visitors__source : 'some' , vc__count : '5' } ,
2427+ { visitors__source : null , vc__count : '0' } ,
2428+ ] ,
2429+ ) ;
2430+ } ) ;
2431+ } ) ;
2432+ }
24302433
2431- const query = new PostgresQuery ( { joinGraph, cubeEvaluator, compiler } , {
2432- measures : [
2433- 'visitor_checkins.count' ,
2434- ] ,
2435- dimensions : [ 'visitors.source' , 'cards.visitorId' ] ,
2436- preAggregationsSchema : '' ,
2437- order : [ {
2438- id : 'visitors.source' ,
2439- } , {
2440- id : 'cards.visitorId' ,
2441- } ] ,
2442- timezone : 'UTC' ,
2434+ if ( getEnv ( 'nativeSqlPlanner' ) ) {
2435+ it . skip ( 'rollup join existing joins: should be fixed in Tesseract' , ( ) => {
2436+ // This should be fixed in Tesseract.
24432437 } ) ;
2438+ } else {
2439+ it ( 'rollup join existing joins' , async ( ) => {
2440+ await compiler . compile ( ) ;
24442441
2445- const queryAndParams = query . buildSqlAndParams ( ) ;
2446- console . log ( queryAndParams ) ;
2447- const preAggregationsDescription = query . preAggregations ?. preAggregationsDescription ( ) ;
2448- console . log ( preAggregationsDescription ) ;
2442+ const query = new PostgresQuery ( { joinGraph, cubeEvaluator, compiler } , {
2443+ measures : [
2444+ 'visitor_checkins.count' ,
2445+ ] ,
2446+ dimensions : [ 'visitors.source' , 'cards.visitorId' ] ,
2447+ preAggregationsSchema : '' ,
2448+ order : [ {
2449+ id : 'visitors.source' ,
2450+ } , {
2451+ id : 'cards.visitorId' ,
2452+ } ] ,
2453+ timezone : 'UTC' ,
2454+ } ) ;
24492455
2450- console . log ( query . preAggregations ?. rollupMatchResultDescriptions ( ) ) ;
2456+ const queryAndParams = query . buildSqlAndParams ( ) ;
2457+ console . log ( queryAndParams ) ;
2458+ const preAggregationsDescription = query . preAggregations ?. preAggregationsDescription ( ) ;
2459+ console . log ( preAggregationsDescription ) ;
24512460
2452- const queries = dbRunner . tempTablePreAggregations ( preAggregationsDescription ) ;
2461+ console . log ( query . preAggregations ?. rollupMatchResultDescriptions ( ) ) ;
24532462
2454- console . log ( JSON . stringify ( queries . concat ( queryAndParams ) ) ) ;
2463+ const queries = dbRunner . tempTablePreAggregations ( preAggregationsDescription ) ;
24552464
2456- return dbRunner . evaluateQueryWithPreAggregations ( query ) . then ( res => {
2457- console . log ( JSON . stringify ( res ) ) ;
2458- expect ( res ) . toEqual (
2459- [
2460- { visitors__source : 'google' , cards__visitor_id : 3 , vc__count : '1' } ,
2461- { visitors__source : 'some' , cards__visitor_id : 1 , vc__count : '3' } ,
2462- { visitors__source : 'some' , cards__visitor_id : null , vc__count : '2' } ,
2463- { visitors__source : null , cards__visitor_id : null , vc__count : '0' } ,
2464- ] ,
2465- ) ;
2466- } ) ;
2467- } ) ;
2465+ console . log ( JSON . stringify ( queries . concat ( queryAndParams ) ) ) ;
24682466
2469- it ( 'rollup join partitioned' , async ( ) => {
2470- await compiler . compile ( ) ;
2467+ return dbRunner . evaluateQueryWithPreAggregations ( query ) . then ( res => {
2468+ console . log ( JSON . stringify ( res ) ) ;
2469+ expect ( res ) . toEqual (
2470+ [
2471+ { visitors__source : 'google' , cards__visitor_id : 3 , vc__count : '1' } ,
2472+ { visitors__source : 'some' , cards__visitor_id : 1 , vc__count : '3' } ,
2473+ { visitors__source : 'some' , cards__visitor_id : null , vc__count : '2' } ,
2474+ { visitors__source : null , cards__visitor_id : null , vc__count : '0' } ,
2475+ ] ,
2476+ ) ;
2477+ } ) ;
2478+ } ) ;
2479+ }
24712480
2472- const query = new PostgresQuery ( { joinGraph, cubeEvaluator, compiler } , {
2473- measures : [
2474- 'visitor_checkins.count' ,
2475- ] ,
2476- dimensions : [ 'visitors.source' ] ,
2477- timezone : 'America/Los_Angeles' ,
2478- preAggregationsSchema : '' ,
2479- timeDimensions : [ {
2480- dimension : 'visitors.createdAt' ,
2481- granularity : 'hour' ,
2482- dateRange : [ '2017-01-03' , '2017-01-04' ]
2483- } ] ,
2484- order : [ {
2485- id : 'visitors.createdAt'
2486- } ] ,
2481+ if ( getEnv ( 'nativeSqlPlanner' ) ) {
2482+ it . skip ( 'rollup join partitioned: should be fixed in Tesseract' , ( ) => {
2483+ // This should be fixed in Tesseract.
24872484 } ) ;
2485+ } else {
2486+ it ( 'rollup join partitioned' , async ( ) => {
2487+ await compiler . compile ( ) ;
24882488
2489- const queryAndParams = query . buildSqlAndParams ( ) ;
2490- console . log ( queryAndParams ) ;
2491- const preAggregationsDescription = query . preAggregations ?. preAggregationsDescription ( ) ;
2492- console . log ( preAggregationsDescription ) ;
2489+ const query = new PostgresQuery ( { joinGraph, cubeEvaluator, compiler } , {
2490+ measures : [
2491+ 'visitor_checkins.count' ,
2492+ ] ,
2493+ dimensions : [ 'visitors.source' ] ,
2494+ timezone : 'America/Los_Angeles' ,
2495+ preAggregationsSchema : '' ,
2496+ timeDimensions : [ {
2497+ dimension : 'visitors.createdAt' ,
2498+ granularity : 'hour' ,
2499+ dateRange : [ '2017-01-03' , '2017-01-04' ]
2500+ } ] ,
2501+ order : [ {
2502+ id : 'visitors.createdAt'
2503+ } ] ,
2504+ } ) ;
24932505
2494- console . log ( query . preAggregations ?. rollupMatchResultDescriptions ( ) ) ;
2506+ const queryAndParams = query . buildSqlAndParams ( ) ;
2507+ console . log ( queryAndParams ) ;
2508+ const preAggregationsDescription = query . preAggregations ?. preAggregationsDescription ( ) ;
2509+ console . log ( preAggregationsDescription ) ;
24952510
2496- const queries = dbRunner . tempTablePreAggregations ( preAggregationsDescription ) ;
2511+ console . log ( query . preAggregations ?. rollupMatchResultDescriptions ( ) ) ;
24972512
2498- console . log ( JSON . stringify ( queries . concat ( queryAndParams ) ) ) ;
2513+ const queries = dbRunner . tempTablePreAggregations ( preAggregationsDescription ) ;
24992514
2500- return dbRunner . evaluateQueryWithPreAggregations ( query ) . then ( res => {
2501- console . log ( JSON . stringify ( res ) ) ;
2502- expect ( res ) . toEqual (
2503- [
2504- {
2505- visitors__source : 'some' ,
2506- visitors__created_at_hour : '2017-01-04T16:00:00.000Z' ,
2507- vc__count : '2'
2508- }
2509- ] ,
2510- ) ;
2515+ console . log ( JSON . stringify ( queries . concat ( queryAndParams ) ) ) ;
2516+
2517+ return dbRunner . evaluateQueryWithPreAggregations ( query ) . then ( res => {
2518+ console . log ( JSON . stringify ( res ) ) ;
2519+ expect ( res ) . toEqual (
2520+ [
2521+ {
2522+ visitors__source : 'some' ,
2523+ visitors__created_at_hour : '2017-01-04T16:00:00.000Z' ,
2524+ vc__count : '2'
2525+ }
2526+ ] ,
2527+ ) ;
2528+ } ) ;
25112529 } ) ;
2512- } ) ;
2530+ }
25132531
25142532 it ( 'partitioned without time' , async ( ) => {
25152533 await compiler . compile ( ) ;
0 commit comments