@@ -8213,7 +8213,7 @@ ORDER BY "source"."str0" ASC
82138213 init_testing_logger();
82148214
82158215 let logical_plan = convert_select_to_query_plan(
8216- "SELECT DISTINCT customer_gender FROM \" KibanaSampleDataEcommerce\" ".to_string(),
8216+ "SELECT DISTINCT customer_gender FROM KibanaSampleDataEcommerce".to_string(),
82178217 DatabaseProtocol::PostgreSQL,
82188218 )
82198219 .await
@@ -8226,12 +8226,120 @@ ORDER BY "source"."str0" ASC
82268226 V1LoadRequestQuery {
82278227 measures: Some(vec![]),
82288228 dimensions: Some(vec![
8229- // "KibanaSampleDataEcommerce.order_date".to_string(),
8230- // "KibanaSampleDataEcommerce.last_mod".to_string(),
82318229 "KibanaSampleDataEcommerce.customer_gender".to_string(),
8232- // "KibanaSampleDataEcommerce.notes".to_string(),
8233- // "KibanaSampleDataEcommerce.taxful_total_price".to_string(),
8234- // "KibanaSampleDataEcommerce.has_subscription".to_string(),
8230+ ]),
8231+ segments: Some(vec![]),
8232+ order: Some(vec![]),
8233+ ..Default::default()
8234+ }
8235+ );
8236+
8237+ let logical_plan = convert_select_to_query_plan(
8238+ "SELECT DISTINCT customer_gender FROM KibanaSampleDataEcommerce LIMIT 100".to_string(),
8239+ DatabaseProtocol::PostgreSQL,
8240+ )
8241+ .await
8242+ .as_logical_plan();
8243+
8244+ println!("logical_plan: {:?}", logical_plan);
8245+
8246+ assert_eq!(
8247+ logical_plan.find_cube_scan().request,
8248+ V1LoadRequestQuery {
8249+ measures: Some(vec![]),
8250+ dimensions: Some(vec![
8251+ "KibanaSampleDataEcommerce.customer_gender".to_string(),
8252+ ]),
8253+ segments: Some(vec![]),
8254+ order: Some(vec![]),
8255+ limit: Some(100),
8256+ ..Default::default()
8257+ }
8258+ );
8259+
8260+ let logical_plan = convert_select_to_query_plan(
8261+ "SELECT DISTINCT * FROM (SELECT customer_gender FROM KibanaSampleDataEcommerce LIMIT 100) q_0".to_string(),
8262+ DatabaseProtocol::PostgreSQL,
8263+ )
8264+ .await
8265+ .as_logical_plan();
8266+
8267+ println!("logical_plan: {:?}", logical_plan);
8268+
8269+ assert_eq!(
8270+ logical_plan.find_cube_scan().request,
8271+ V1LoadRequestQuery {
8272+ measures: Some(vec![]),
8273+ dimensions: Some(vec![
8274+ "KibanaSampleDataEcommerce.customer_gender".to_string(),
8275+ ]),
8276+ segments: Some(vec![]),
8277+ order: Some(vec![]),
8278+ limit: Some(100),
8279+ ungrouped: Some(true),
8280+ ..Default::default()
8281+ }
8282+ );
8283+
8284+ let logical_plan = convert_select_to_query_plan(
8285+ "SELECT DISTINCT customer_gender, order_date FROM KibanaSampleDataEcommerce"
8286+ .to_string(),
8287+ DatabaseProtocol::PostgreSQL,
8288+ )
8289+ .await
8290+ .as_logical_plan();
8291+
8292+ println!("logical_plan: {:?}", logical_plan);
8293+
8294+ assert_eq!(
8295+ logical_plan.find_cube_scan().request,
8296+ V1LoadRequestQuery {
8297+ measures: Some(vec![]),
8298+ dimensions: Some(vec![
8299+ "KibanaSampleDataEcommerce.customer_gender".to_string(),
8300+ "KibanaSampleDataEcommerce.order_date".to_string(),
8301+ ]),
8302+ segments: Some(vec![]),
8303+ order: Some(vec![]),
8304+ ..Default::default()
8305+ }
8306+ );
8307+
8308+ let logical_plan = convert_select_to_query_plan(
8309+ "SELECT DISTINCT MAX(maxPrice) FROM KibanaSampleDataEcommerce".to_string(),
8310+ DatabaseProtocol::PostgreSQL,
8311+ )
8312+ .await
8313+ .as_logical_plan();
8314+
8315+ println!("logical_plan: {:?}", logical_plan);
8316+
8317+ assert_eq!(
8318+ logical_plan.find_cube_scan().request,
8319+ V1LoadRequestQuery {
8320+ measures: Some(vec!["KibanaSampleDataEcommerce.maxPrice".to_string(),]),
8321+ dimensions: Some(vec![]),
8322+ segments: Some(vec![]),
8323+ order: Some(vec![]),
8324+ ..Default::default()
8325+ }
8326+ );
8327+
8328+ let logical_plan = convert_select_to_query_plan(
8329+ "SELECT DISTINCT * FROM (SELECT customer_gender, MAX(maxPrice) FROM KibanaSampleDataEcommerce GROUP BY 1) q_0".to_string(),
8330+ DatabaseProtocol::PostgreSQL,
8331+ )
8332+ .await
8333+ .as_logical_plan();
8334+
8335+ println!("logical_plan: {:?}", logical_plan);
8336+
8337+ assert_eq!(
8338+ logical_plan.find_cube_scan().request,
8339+ V1LoadRequestQuery {
8340+ measures: Some(vec!["KibanaSampleDataEcommerce.maxPrice".to_string(),]),
8341+ dimensions: Some(vec![
8342+ "KibanaSampleDataEcommerce.customer_gender".to_string(),
82358343 ]),
82368344 segments: Some(vec![]),
82378345 order: Some(vec![]),
0 commit comments