use pgwire::api::query::SimpleQueryHandler;
use datafusion_postgres::testing::*;
const QUERIES: &[&str] = &[
"SELECT array_upper(ARRAY[1, 2, 3], 1), array_lower(ARRAY[1, 2, 3], 1)",
"SELECT pg_catalog.array_upper(ARRAY['a', 'b'], 1)",
"SELECT pg_catalog.array_lower(ARRAY['a', 'b'], 1)",
"SELECT array_upper(string_to_array('public,utils', ','), 1)",
"SELECT array_lower(string_to_array('public,utils', ','), 1)",
];
#[tokio::test]
pub async fn test_array_bounds_udfs() {
env_logger::init();
let service = setup_handlers();
let mut client = MockClient::new();
for query in QUERIES {
SimpleQueryHandler::do_query(&service, &mut client, query)
.await
.unwrap_or_else(|e| {
panic!("failed to run sql:\n--------------\n {query}\n--------------\n{e}")
});
}
}