regression/sql/FDW_HiveSmokeTest.sql (37 lines of code) (raw):

-- data prep -- start_ignore {{ GPDB_REMOTE }}\!ssh {{ PGHOST }} mkdir -p {{ TEST_LOCATION }} \!mkdir -p {{ TEST_LOCATION }} COPY ( SELECT format('row_%s',i::varchar(255)), i, i*0.0001, i*100000000000, CASE WHEN (i%2) = 0 THEN 'true' ELSE 'false' END from generate_series(1, 100) s(i) ) TO '{{ TEST_LOCATION }}/data.csv' WITH (FORMAT 'csv'); {{ GPDB_REMOTE }}-- if GPDB is remote, will need to scp file down from there for beeline {{ GPDB_REMOTE }}\!scp {{ PGHOST }}:{{ TEST_LOCATION }}/data.csv {{ TEST_LOCATION }} {{ HIVE_REMOTE }}-- if hive is remote, will need to scp file up there to load it in {{ HIVE_REMOTE }}\!cat {{ TEST_LOCATION }}/data.csv | ssh {{ HIVE_HOST }} 'mkdir -p {{ TEST_LOCATION }} && cat > {{ TEST_LOCATION }}/data.csv' \!{{ BEELINE_CMD }} -f {{ SCRIPT create_hive_smoke_test_database.sql }} -u 'jdbc:hive2://{{ HIVE_HOST }}:10000/default{{ HIVE_PRINCIPAL }}' \!{{ BEELINE_CMD }} -f {{ SCRIPT load_small_data.sql }} -u 'jdbc:hive2://{{ HIVE_HOST }}:10000/hive_smoke_test_database_{{ FULL_TESTNAME }}{{ HIVE_PRINCIPAL }}' -- end_ignore -- FDW test CREATE SERVER hive_smoke_test_server FOREIGN DATA WRAPPER hive_pxf_fdw OPTIONS (config '{{ SERVER_CONFIG }}'); CREATE USER MAPPING FOR CURRENT_USER SERVER hive_smoke_test_server; CREATE FOREIGN TABLE hive_smoke_test_foreign_table ( name TEXT, num INTEGER, dub DOUBLE PRECISION, longNum BIGINT, bool BOOLEAN ) SERVER hive_smoke_test_server OPTIONS (resource 'hive_smoke_test_database_{{ FULL_TESTNAME }}.hive_small_data_table_{{ FULL_TESTNAME }}'); -- @description query01 for PXF test on small data SELECT * FROM hive_smoke_test_foreign_table ORDER BY name; -- @description query02 for PXF test on small data SELECT name, num FROM hive_smoke_test_foreign_table WHERE num > 50 ORDER BY name; -- start_ignore {{ CLEAN_UP }}-- clean up Hive and local disk {{ CLEAN_UP }}\!rm -rf {{ TEST_LOCATION }} {{ CLEAN_UP }}\!{{ BEELINE_CMD }} -f {{ SCRIPT cleanup_hive_smoke_test.sql }} {{ CLEAN_UP }}\!rm -rf {{ SCRIPT cleanup_hive_smoke_test.sql }} {{ SCRIPT load_small_data.sql }} {{ SCRIPT create_hive_smoke_test_database.sql }} {{ CLEAN_UP }}{{ GPDB_REMOTE }}\!ssh {{ PGHOST }} rm -rf {{ TEST_LOCATION }} -- end_ignore