diff --git a/data/conf/jdbc/hive-site.xml b/data/conf/jdbc/hive-site.xml
new file mode 100644
index 000000000000..7a18c75561c3
--- /dev/null
+++ b/data/conf/jdbc/hive-site.xml
@@ -0,0 +1,398 @@
+
+
+
+
+
+
+
+ hive.metastore.client.cache.enabled
+ true
+ This property enables a Caffeiene Cache for Metastore client
+
+
+
+ hive.in.test
+ true
+ Internal marker for test. Used for masking env-dependent values
+
+
+
+
+
+
+
+
+
+
+ hadoop.tmp.dir
+ ${test.tmp.dir}/hadoop-tmp
+ A base for other temporary directories.
+
+
+
+
+
+
+ hive.tez.container.size
+ 256
+
+
+
+ hive.stats.fetch.column.stats
+ true
+ Use column stats to annotate stats for physical optimization phase
+
+
+
+ hive.merge.tezfiles
+ false
+ Merge small files at the end of a Tez DAG
+
+
+
+ hive.tez.input.format
+ org.apache.hadoop.hive.ql.io.HiveInputFormat
+ The default input format for tez. Tez groups splits in the AM.
+
+
+
+ hive.exec.scratchdir
+ ${test.tmp.dir}/scratchdir
+ Scratch space for Hive jobs
+
+
+
+ hive.exec.local.scratchdir
+ ${test.tmp.dir}/localscratchdir/
+ Local scratch space for Hive jobs
+
+
+
+ datanucleus.schema.autoCreateAll
+ true
+
+
+
+ datanucleus.connectionPool.maxPoolSize
+ 4
+
+
+
+ hive.metastore.schema.verification
+ false
+
+
+
+ javax.jdo.option.ConnectionURL
+ jdbc:derby:memory:${test.tmp.dir}/junit_metastore_db;create=true
+
+
+
+ javax.jdo.option.ConnectionDriverName
+ org.apache.derby.iapi.jdbc.AutoloadedDriver
+
+
+
+ javax.jdo.option.ConnectionUserName
+ APP
+
+
+
+ javax.jdo.option.ConnectionPassword
+ mine
+
+
+
+
+ hive.metastore.warehouse.dir
+ ${test.warehouse.dir}
+
+
+
+
+ test.log.dir
+ ${test.tmp.dir}/log/
+
+
+
+
+ test.data.files
+ ${hive.root}/data/files
+
+
+
+
+ test.data.scripts
+ ${hive.root}/data/scripts
+
+
+
+
+ hive.jar.path
+ ${maven.local.repository}/org/apache/hive/hive-exec/${hive.version}/hive-exec-${hive.version}.jar
+
+
+
+
+ hive.metastore.rawstore.impl
+ org.apache.hadoop.hive.metastore.ObjectStore
+ Name of the class that implements org.apache.hadoop.hive.metastore.rawstore interface. This class is used to store and retrieval of raw metadata objects such as table, database
+
+
+
+ hive.querylog.location
+ ${test.tmp.dir}/tmp
+ Location of the structured hive logs
+
+
+
+ hive.lineage.statement.filter
+ ALL
+ Specify the types of statements for which column lineage information is generated
+
+
+
+ hive.support.concurrency
+ false
+ Whether hive supports concurrency or not. A zookeeper instance must be up and running for the default hive lock manager to support read-write locks.
+
+
+
+ fs.pfile.impl
+ org.apache.hadoop.fs.ProxyLocalFileSystem
+ A proxy for local file system used for cross file system testing
+
+
+
+ hive.exec.mode.local.auto
+ false
+
+ Let hive determine whether to run in local mode automatically
+ Disabling this for tests so that minimr is not affected
+
+
+
+
+ hive.auto.convert.join
+ false
+ Whether Hive enable the optimization about converting common join into mapjoin based on the input file size
+
+
+
+ hive.ignore.mapjoin.hint
+ true
+ Whether Hive ignores the mapjoin hint
+
+
+
+ io.sort.mb
+ 10
+
+
+
+ hive.input.format
+ org.apache.hadoop.hive.ql.io.CombineHiveInputFormat
+ The default input format, if it is not specified, the system assigns it. It is set to HiveInputFormat for hadoop versions 17, 18 and 19, whereas it is set to CombineHiveInputFormat for hadoop 20. The user can always overwrite it - if there is a bug in CombineHiveInputFormat, it can always be manually set to HiveInputFormat.
+
+
+
+ hive.default.rcfile.serde
+ org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe
+ The default SerDe hive will use for the rcfile format
+
+
+
+ hive.stats.dbclass
+ fs
+ The default storatge that stores temporary hive statistics. Currently, fs type is supported
+
+
+
+ tez.am.node-blacklisting.enabled
+ false
+
+
+
+ hive.prewarm.enabled
+ false
+
+ Enables container prewarm for tez (hadoop 2 only)
+
+
+
+ hive.in.tez.test
+ true
+
+ Indicates that we are in tez testing mode.
+
+
+
+
+ hive.execution.mode
+ llap
+
+
+
+
+
+ hive.tez.java.opts
+ -Dlog4j.configurationFile=tez-container-log4j2.properties -Dtez.container.log.level=INFO -Dtez.container.root.logger=CLA
+
+
+
+ tez.am.launch.cmd-opts
+ -Dlog4j.configurationFile=tez-container-log4j2.properties -Dtez.container.log.level=INFO -Dtez.container.root.logger=CLA
+
+
+
+ hive.tez.exec.print.summary
+ true
+
+
+
+ hive.llap.cache.allow.synthetic.fileid
+ true
+
+
+
+ hive.llap.io.allocator.direct
+ false
+
+
+
+ hive.explain.user
+ false
+
+
+ hive.explain.formatted.indent
+ true
+
+
+ hive.join.inner.residual
+ true
+
+
+
+
+
+ hive.llap.daemon.service.hosts
+ localhost
+
+
+
+ hive.llap.daemon.service.port
+ 0
+
+
+
+ hive.llap.daemon.num.executors
+ 4
+
+
+
+ hive.llap.daemon.task.scheduler.wait.queue.size
+ 4
+
+
+
+ hive.llap.cache.allow.synthetic.fileid
+ true
+
+
+
+
+ ipc.client.low-latency
+ true
+
+
+
+ ipc.client.tcpnodelay
+ true
+
+
+
+ ipc.clients-per-factory
+ 4
+
+
+
+ hive.stats.fetch.bitvector
+ true
+
+
+
+ hive.tez.cartesian-product.enabled
+ true
+
+
+
+ yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage
+ 99
+
+
+
+ hive.query.results.cache.enabled
+ false
+
+
+
+ tez.counters.max
+ 1024
+
+
+
+ hive.query.reexecution.stats.persist.scope
+ query
+
+
+
+ hive.semantic.analyzer.hook
+ org.apache.hadoop.hive.ql.hooks.ScheduledQueryCreationRegistryHook
+
+
+
+ hive.users.in.admin.role
+ hive_admin_user
+
+
+
+ hive.conf.restricted.list
+ hive.query.max.length
+ Using property defined in HiveConf.ConfVars to test System property overriding
+
+
+
+ hive.strict.timestamp.conversion
+ false
+
+
+
+ hive.txn.xlock.ctas
+ false
+
+
+
+ hive.lock.sleep.between.retries
+ 2
+
+
+
diff --git a/data/conf/jdbc/metastore-site.xml b/data/conf/jdbc/metastore-site.xml
new file mode 100644
index 000000000000..4b4da2f437a5
--- /dev/null
+++ b/data/conf/jdbc/metastore-site.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+ metastore.metadata.transformer.class
+
+
+
+
+ metastore.lock.sleep.between.retries
+ 2
+
+
+
+
diff --git a/data/conf/jdbc/tez-site.xml b/data/conf/jdbc/tez-site.xml
new file mode 100644
index 000000000000..8e6d243fa3ae
--- /dev/null
+++ b/data/conf/jdbc/tez-site.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+ tez.am.dag.scheduler.class
+ org.apache.tez.dag.app.dag.impl.DAGSchedulerNaturalOrderControlled
+
+
+
+ tez.am.resource.memory.mb
+ 256
+
+
+ tez.runtime.io.sort.mb
+ 24
+
+
+ tez.runtime.unordered.output.buffer.size-mb
+ 10
+
+
+ tez.runtime.shuffle.fetch.buffer.percent
+ 0.4
+
+
+
+
+ tez.am.task.max.failed.attempts
+ 2
+
+
+ tez.runtime.shuffle.connect.timeout
+ 20000
+
+
+
+
diff --git a/data/scripts/q_test_tpcds_external_tables_schema.postgres.sql b/data/scripts/q_test_tpcds_external_tables_schema.postgres.sql
new file mode 100644
index 000000000000..9f2ab5fdf144
--- /dev/null
+++ b/data/scripts/q_test_tpcds_external_tables_schema.postgres.sql
@@ -0,0 +1,712 @@
+CREATE EXTERNAL TABLE IF NOT EXISTS `call_center`(
+ `cc_call_center_sk` int,
+ `cc_call_center_id` string,
+ `cc_rec_start_date` string,
+ `cc_rec_end_date` string,
+ `cc_closed_date_sk` int,
+ `cc_open_date_sk` int,
+ `cc_name` string,
+ `cc_class` string,
+ `cc_employees` int,
+ `cc_sq_ft` int,
+ `cc_hours` string,
+ `cc_manager` string,
+ `cc_mkt_id` int,
+ `cc_mkt_class` string,
+ `cc_mkt_desc` string,
+ `cc_market_manager` string,
+ `cc_division` int,
+ `cc_division_name` string,
+ `cc_company` int,
+ `cc_company_name` string,
+ `cc_street_number` string,
+ `cc_street_name` string,
+ `cc_street_type` string,
+ `cc_suite_number` string,
+ `cc_city` string,
+ `cc_county` string,
+ `cc_state` string,
+ `cc_zip` string,
+ `cc_country` string,
+ `cc_gmt_offset` decimal(5,2),
+ `cc_tax_percentage` decimal(5,2))
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "call_center"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `catalog_page`(
+ `cp_catalog_page_sk` int,
+ `cp_catalog_page_id` string,
+ `cp_start_date_sk` int,
+ `cp_end_date_sk` int,
+ `cp_department` string,
+ `cp_catalog_number` int,
+ `cp_catalog_page_number` int,
+ `cp_description` string,
+ `cp_type` string)
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "catalog_page"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `catalog_returns`(
+ `cr_returned_date_sk` int,
+ `cr_returned_time_sk` int,
+ `cr_item_sk` bigint,
+ `cr_refunded_customer_sk` int,
+ `cr_refunded_cdemo_sk` int,
+ `cr_refunded_hdemo_sk` int,
+ `cr_refunded_addr_sk` int,
+ `cr_returning_customer_sk` int,
+ `cr_returning_cdemo_sk` int,
+ `cr_returning_hdemo_sk` int,
+ `cr_returning_addr_sk` int,
+ `cr_call_center_sk` int,
+ `cr_catalog_page_sk` int,
+ `cr_ship_mode_sk` int,
+ `cr_warehouse_sk` int,
+ `cr_reason_sk` int,
+ `cr_order_number` bigint,
+ `cr_return_quantity` int,
+ `cr_return_amount` decimal(7,2),
+ `cr_return_tax` decimal(7,2),
+ `cr_return_amt_inc_tax` decimal(7,2),
+ `cr_fee` decimal(7,2),
+ `cr_return_ship_cost` decimal(7,2),
+ `cr_refunded_cash` decimal(7,2),
+ `cr_reversed_charge` decimal(7,2),
+ `cr_store_credit` decimal(7,2),
+ `cr_net_loss` decimal(7,2))
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "catalog_returns"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `catalog_sales`(
+ `cs_sold_date_sk` int,
+ `cs_sold_time_sk` int,
+ `cs_ship_date_sk` int,
+ `cs_bill_customer_sk` int,
+ `cs_bill_cdemo_sk` int,
+ `cs_bill_hdemo_sk` int,
+ `cs_bill_addr_sk` int,
+ `cs_ship_customer_sk` int,
+ `cs_ship_cdemo_sk` int,
+ `cs_ship_hdemo_sk` int,
+ `cs_ship_addr_sk` int,
+ `cs_call_center_sk` int,
+ `cs_catalog_page_sk` int,
+ `cs_ship_mode_sk` int,
+ `cs_warehouse_sk` int,
+ `cs_item_sk` bigint,
+ `cs_promo_sk` int,
+ `cs_order_number` bigint,
+ `cs_quantity` int,
+ `cs_wholesale_cost` decimal(7,2),
+ `cs_list_price` decimal(7,2),
+ `cs_sales_price` decimal(7,2),
+ `cs_ext_discount_amt` decimal(7,2),
+ `cs_ext_sales_price` decimal(7,2),
+ `cs_ext_wholesale_cost` decimal(7,2),
+ `cs_ext_list_price` decimal(7,2),
+ `cs_ext_tax` decimal(7,2),
+ `cs_coupon_amt` decimal(7,2),
+ `cs_ext_ship_cost` decimal(7,2),
+ `cs_net_paid` decimal(7,2),
+ `cs_net_paid_inc_tax` decimal(7,2),
+ `cs_net_paid_inc_ship` decimal(7,2),
+ `cs_net_paid_inc_ship_tax` decimal(7,2),
+ `cs_net_profit` decimal(7,2))
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "catalog_sales"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `customer`(
+ `c_customer_sk` int,
+ `c_customer_id` string,
+ `c_current_cdemo_sk` int,
+ `c_current_hdemo_sk` int,
+ `c_current_addr_sk` int,
+ `c_first_shipto_date_sk` int,
+ `c_first_sales_date_sk` int,
+ `c_salutation` string,
+ `c_first_name` string,
+ `c_last_name` string,
+ `c_preferred_cust_flag` string,
+ `c_birth_day` int,
+ `c_birth_month` int,
+ `c_birth_year` int,
+ `c_birth_country` string,
+ `c_login` string,
+ `c_email_address` string,
+ `c_last_review_date_sk` string)
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "customer"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `customer_address`(
+ `ca_address_sk` int,
+ `ca_address_id` string,
+ `ca_street_number` string,
+ `ca_street_name` string,
+ `ca_street_type` string,
+ `ca_suite_number` string,
+ `ca_city` string,
+ `ca_county` string,
+ `ca_state` string,
+ `ca_zip` string,
+ `ca_country` string,
+ `ca_gmt_offset` decimal(5,2),
+ `ca_location_type` string)
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "customer_address"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `customer_demographics`(
+ `cd_demo_sk` int,
+ `cd_gender` string,
+ `cd_marital_status` string,
+ `cd_education_status` string,
+ `cd_purchase_estimate` int,
+ `cd_credit_rating` string,
+ `cd_dep_count` int,
+ `cd_dep_employed_count` int,
+ `cd_dep_college_count` int)
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "customer_demographics"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `date_dim`(
+ `d_date_sk` int,
+ `d_date_id` string,
+ `d_date` string,
+ `d_month_seq` int,
+ `d_week_seq` int,
+ `d_quarter_seq` int,
+ `d_year` int,
+ `d_dow` int,
+ `d_moy` int,
+ `d_dom` int,
+ `d_qoy` int,
+ `d_fy_year` int,
+ `d_fy_quarter_seq` int,
+ `d_fy_week_seq` int,
+ `d_day_name` string,
+ `d_quarter_name` string,
+ `d_holiday` string,
+ `d_weekend` string,
+ `d_following_holiday` string,
+ `d_first_dom` int,
+ `d_last_dom` int,
+ `d_same_day_ly` int,
+ `d_same_day_lq` int,
+ `d_current_day` string,
+ `d_current_week` string,
+ `d_current_month` string,
+ `d_current_quarter` string,
+ `d_current_year` string)
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "date_dim"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `household_demographics`(
+ `hd_demo_sk` int,
+ `hd_income_band_sk` int,
+ `hd_buy_potential` string,
+ `hd_dep_count` int,
+ `hd_vehicle_count` int)
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "household_demographics"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `income_band`(
+ `ib_income_band_sk` int,
+ `ib_lower_bound` int,
+ `ib_upper_bound` int)
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "income_band"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `inventory`(
+ `inv_date_sk` int,
+ `inv_item_sk` bigint,
+ `inv_warehouse_sk` int,
+ `inv_quantity_on_hand` int)
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "inventory"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `item`(
+ `i_item_sk` bigint,
+ `i_item_id` string,
+ `i_rec_start_date` string,
+ `i_rec_end_date` string,
+ `i_item_desc` string,
+ `i_current_price` decimal(7,2),
+ `i_wholesale_cost` decimal(7,2),
+ `i_brand_id` int,
+ `i_brand` string,
+ `i_class_id` int,
+ `i_class` string,
+ `i_category_id` int,
+ `i_category` string,
+ `i_manufact_id` int,
+ `i_manufact` string,
+ `i_size` string,
+ `i_formulation` string,
+ `i_color` string,
+ `i_units` string,
+ `i_container` string,
+ `i_manager_id` int,
+ `i_product_name` string)
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "item"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `promotion`(
+ `p_promo_sk` int,
+ `p_promo_id` string,
+ `p_start_date_sk` int,
+ `p_end_date_sk` int,
+ `p_item_sk` bigint,
+ `p_cost` decimal(15,2),
+ `p_response_target` int,
+ `p_promo_name` string,
+ `p_channel_dmail` string,
+ `p_channel_email` string,
+ `p_channel_catalog` string,
+ `p_channel_tv` string,
+ `p_channel_radio` string,
+ `p_channel_press` string,
+ `p_channel_event` string,
+ `p_channel_demo` string,
+ `p_channel_details` string,
+ `p_purpose` string,
+ `p_discount_active` string)
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "promotion"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `reason`(
+ `r_reason_sk` int,
+ `r_reason_id` string,
+ `r_reason_desc` string)
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "reason"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `ship_mode`(
+ `sm_ship_mode_sk` int,
+ `sm_ship_mode_id` string,
+ `sm_type` string,
+ `sm_code` string,
+ `sm_carrier` string,
+ `sm_contract` string)
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "ship_mode"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `store`(
+ `s_store_sk` int,
+ `s_store_id` string,
+ `s_rec_start_date` string,
+ `s_rec_end_date` string,
+ `s_closed_date_sk` int,
+ `s_store_name` string,
+ `s_number_employees` int,
+ `s_floor_space` int,
+ `s_hours` string,
+ `s_manager` string,
+ `s_market_id` int,
+ `s_geography_class` string,
+ `s_market_desc` string,
+ `s_market_manager` string,
+ `s_division_id` int,
+ `s_division_name` string,
+ `s_company_id` int,
+ `s_company_name` string,
+ `s_street_number` string,
+ `s_street_name` string,
+ `s_street_type` string,
+ `s_suite_number` string,
+ `s_city` string,
+ `s_county` string,
+ `s_state` string,
+ `s_zip` string,
+ `s_country` string,
+ `s_gmt_offset` decimal(5,2),
+ `s_tax_precentage` decimal(5,2))
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "store"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `store_returns`(
+ `sr_returned_date_sk` int,
+ `sr_return_time_sk` int,
+ `sr_item_sk` bigint,
+ `sr_customer_sk` int,
+ `sr_cdemo_sk` int,
+ `sr_hdemo_sk` int,
+ `sr_addr_sk` int,
+ `sr_store_sk` int,
+ `sr_reason_sk` int,
+ `sr_ticket_number` bigint,
+ `sr_return_quantity` int,
+ `sr_return_amt` decimal(7,2),
+ `sr_return_tax` decimal(7,2),
+ `sr_return_amt_inc_tax` decimal(7,2),
+ `sr_fee` decimal(7,2),
+ `sr_return_ship_cost` decimal(7,2),
+ `sr_refunded_cash` decimal(7,2),
+ `sr_reversed_charge` decimal(7,2),
+ `sr_store_credit` decimal(7,2),
+ `sr_net_loss` decimal(7,2))
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "store_returns"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `store_sales`(
+ `ss_sold_date_sk` int,
+ `ss_sold_time_sk` int,
+ `ss_item_sk` bigint,
+ `ss_customer_sk` int,
+ `ss_cdemo_sk` int,
+ `ss_hdemo_sk` int,
+ `ss_addr_sk` int,
+ `ss_store_sk` int,
+ `ss_promo_sk` int,
+ `ss_ticket_number` bigint,
+ `ss_quantity` int,
+ `ss_wholesale_cost` decimal(7,2),
+ `ss_list_price` decimal(7,2),
+ `ss_sales_price` decimal(7,2),
+ `ss_ext_discount_amt` decimal(7,2),
+ `ss_ext_sales_price` decimal(7,2),
+ `ss_ext_wholesale_cost` decimal(7,2),
+ `ss_ext_list_price` decimal(7,2),
+ `ss_ext_tax` decimal(7,2),
+ `ss_coupon_amt` decimal(7,2),
+ `ss_net_paid` decimal(7,2),
+ `ss_net_paid_inc_tax` decimal(7,2),
+ `ss_net_profit` decimal(7,2))
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "store_sales"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `time_dim`(
+ `t_time_sk` int,
+ `t_time_id` string,
+ `t_time` int,
+ `t_hour` int,
+ `t_minute` int,
+ `t_second` int,
+ `t_am_pm` string,
+ `t_shift` string,
+ `t_sub_shift` string,
+ `t_meal_time` string)
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "time_dim"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `warehouse`(
+ `w_warehouse_sk` int,
+ `w_warehouse_id` string,
+ `w_warehouse_name` string,
+ `w_warehouse_sq_ft` int,
+ `w_street_number` string,
+ `w_street_name` string,
+ `w_street_type` string,
+ `w_suite_number` string,
+ `w_city` string,
+ `w_county` string,
+ `w_state` string,
+ `w_zip` string,
+ `w_country` string,
+ `w_gmt_offset` decimal(5,2))
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "warehouse"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `web_page`(
+ `wp_web_page_sk` int,
+ `wp_web_page_id` string,
+ `wp_rec_start_date` string,
+ `wp_rec_end_date` string,
+ `wp_creation_date_sk` int,
+ `wp_access_date_sk` int,
+ `wp_autogen_flag` string,
+ `wp_customer_sk` int,
+ `wp_url` string,
+ `wp_type` string,
+ `wp_char_count` int,
+ `wp_link_count` int,
+ `wp_image_count` int,
+ `wp_max_ad_count` int)
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "web_page"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `web_returns`(
+ `wr_returned_date_sk` int,
+ `wr_returned_time_sk` int,
+ `wr_item_sk` bigint,
+ `wr_refunded_customer_sk` int,
+ `wr_refunded_cdemo_sk` int,
+ `wr_refunded_hdemo_sk` int,
+ `wr_refunded_addr_sk` int,
+ `wr_returning_customer_sk` int,
+ `wr_returning_cdemo_sk` int,
+ `wr_returning_hdemo_sk` int,
+ `wr_returning_addr_sk` int,
+ `wr_web_page_sk` int,
+ `wr_reason_sk` int,
+ `wr_order_number` bigint,
+ `wr_return_quantity` int,
+ `wr_return_amt` decimal(7,2),
+ `wr_return_tax` decimal(7,2),
+ `wr_return_amt_inc_tax` decimal(7,2),
+ `wr_fee` decimal(7,2),
+ `wr_return_ship_cost` decimal(7,2),
+ `wr_refunded_cash` decimal(7,2),
+ `wr_reversed_charge` decimal(7,2),
+ `wr_account_credit` decimal(7,2),
+ `wr_net_loss` decimal(7,2))
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "web_returns"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `web_sales`(
+ `ws_sold_date_sk` int,
+ `ws_sold_time_sk` int,
+ `ws_ship_date_sk` int,
+ `ws_item_sk` bigint,
+ `ws_bill_customer_sk` int,
+ `ws_bill_cdemo_sk` int,
+ `ws_bill_hdemo_sk` int,
+ `ws_bill_addr_sk` int,
+ `ws_ship_customer_sk` int,
+ `ws_ship_cdemo_sk` int,
+ `ws_ship_hdemo_sk` int,
+ `ws_ship_addr_sk` int,
+ `ws_web_page_sk` int,
+ `ws_web_site_sk` int,
+ `ws_ship_mode_sk` int,
+ `ws_warehouse_sk` int,
+ `ws_promo_sk` int,
+ `ws_order_number` bigint,
+ `ws_quantity` int,
+ `ws_wholesale_cost` decimal(7,2),
+ `ws_list_price` decimal(7,2),
+ `ws_sales_price` decimal(7,2),
+ `ws_ext_discount_amt` decimal(7,2),
+ `ws_ext_sales_price` decimal(7,2),
+ `ws_ext_wholesale_cost` decimal(7,2),
+ `ws_ext_list_price` decimal(7,2),
+ `ws_ext_tax` decimal(7,2),
+ `ws_coupon_amt` decimal(7,2),
+ `ws_ext_ship_cost` decimal(7,2),
+ `ws_net_paid` decimal(7,2),
+ `ws_net_paid_inc_tax` decimal(7,2),
+ `ws_net_paid_inc_ship` decimal(7,2),
+ `ws_net_paid_inc_ship_tax` decimal(7,2),
+ `ws_net_profit` decimal(7,2))
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "web_sales"
+);
+
+CREATE EXTERNAL TABLE IF NOT EXISTS `web_site`(
+ `web_site_sk` int,
+ `web_site_id` string,
+ `web_rec_start_date` string,
+ `web_rec_end_date` string,
+ `web_name` string,
+ `web_open_date_sk` int,
+ `web_close_date_sk` int,
+ `web_class` string,
+ `web_manager` string,
+ `web_mkt_id` int,
+ `web_mkt_class` string,
+ `web_mkt_desc` string,
+ `web_market_manager` string,
+ `web_company_id` int,
+ `web_company_name` string,
+ `web_street_number` string,
+ `web_street_name` string,
+ `web_street_type` string,
+ `web_suite_number` string,
+ `web_city` string,
+ `web_county` string,
+ `web_state` string,
+ `web_zip` string,
+ `web_country` string,
+ `web_gmt_offset` decimal(5,2),
+ `web_tax_percentage` decimal(5,2))
+STORED BY
+'org.apache.hive.storage.jdbc.JdbcStorageHandler'
+TBLPROPERTIES (
+ "hive.sql.database.type" = "POSTGRES",
+ "hive.sql.jdbc.driver" = "org.postgresql.Driver",
+ "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qtestDB",
+ "hive.sql.dbcp.username" = "qtestuser",
+ "hive.sql.dbcp.password" = "qtestpassword",
+ "hive.sql.table" = "web_site"
+);
diff --git a/data/scripts/q_test_tpcds_schema.postgres.sql b/data/scripts/q_test_tpcds_schema.postgres.sql
new file mode 100644
index 000000000000..f58ce9a65441
--- /dev/null
+++ b/data/scripts/q_test_tpcds_schema.postgres.sql
@@ -0,0 +1,472 @@
+CREATE TABLE IF NOT EXISTS call_center(
+ cc_call_center_sk int,
+ cc_call_center_id text,
+ cc_rec_start_date text,
+ cc_rec_end_date text,
+ cc_closed_date_sk int,
+ cc_open_date_sk int,
+ cc_name text,
+ cc_class text,
+ cc_employees int,
+ cc_sq_ft int,
+ cc_hours text,
+ cc_manager text,
+ cc_mkt_id int,
+ cc_mkt_class text,
+ cc_mkt_desc text,
+ cc_market_manager text,
+ cc_division int,
+ cc_division_name text,
+ cc_company int,
+ cc_company_name text,
+ cc_street_number text,
+ cc_street_name text,
+ cc_street_type text,
+ cc_suite_number text,
+ cc_city text,
+ cc_county text,
+ cc_state text,
+ cc_zip text,
+ cc_country text,
+ cc_gmt_offset numeric(5,2),
+ cc_tax_percentage numeric(5,2));
+
+CREATE TABLE IF NOT EXISTS catalog_page(
+ cp_catalog_page_sk int,
+ cp_catalog_page_id text,
+ cp_start_date_sk int,
+ cp_end_date_sk int,
+ cp_department text,
+ cp_catalog_number int,
+ cp_catalog_page_number int,
+ cp_description text,
+ cp_type text);
+
+CREATE TABLE IF NOT EXISTS catalog_returns(
+ cr_returned_date_sk int,
+ cr_returned_time_sk int,
+ cr_item_sk bigint,
+ cr_refunded_customer_sk int,
+ cr_refunded_cdemo_sk int,
+ cr_refunded_hdemo_sk int,
+ cr_refunded_addr_sk int,
+ cr_returning_customer_sk int,
+ cr_returning_cdemo_sk int,
+ cr_returning_hdemo_sk int,
+ cr_returning_addr_sk int,
+ cr_call_center_sk int,
+ cr_catalog_page_sk int,
+ cr_ship_mode_sk int,
+ cr_warehouse_sk int,
+ cr_reason_sk int,
+ cr_order_number bigint,
+ cr_return_quantity int,
+ cr_return_amount numeric(7,2),
+ cr_return_tax numeric(7,2),
+ cr_return_amt_inc_tax numeric(7,2),
+ cr_fee numeric(7,2),
+ cr_return_ship_cost numeric(7,2),
+ cr_refunded_cash numeric(7,2),
+ cr_reversed_charge numeric(7,2),
+ cr_store_credit numeric(7,2),
+ cr_net_loss numeric(7,2));
+
+CREATE TABLE IF NOT EXISTS catalog_sales(
+ cs_sold_date_sk int,
+ cs_sold_time_sk int,
+ cs_ship_date_sk int,
+ cs_bill_customer_sk int,
+ cs_bill_cdemo_sk int,
+ cs_bill_hdemo_sk int,
+ cs_bill_addr_sk int,
+ cs_ship_customer_sk int,
+ cs_ship_cdemo_sk int,
+ cs_ship_hdemo_sk int,
+ cs_ship_addr_sk int,
+ cs_call_center_sk int,
+ cs_catalog_page_sk int,
+ cs_ship_mode_sk int,
+ cs_warehouse_sk int,
+ cs_item_sk bigint,
+ cs_promo_sk int,
+ cs_order_number bigint,
+ cs_quantity int,
+ cs_wholesale_cost numeric(7,2),
+ cs_list_price numeric(7,2),
+ cs_sales_price numeric(7,2),
+ cs_ext_discount_amt numeric(7,2),
+ cs_ext_sales_price numeric(7,2),
+ cs_ext_wholesale_cost numeric(7,2),
+ cs_ext_list_price numeric(7,2),
+ cs_ext_tax numeric(7,2),
+ cs_coupon_amt numeric(7,2),
+ cs_ext_ship_cost numeric(7,2),
+ cs_net_paid numeric(7,2),
+ cs_net_paid_inc_tax numeric(7,2),
+ cs_net_paid_inc_ship numeric(7,2),
+ cs_net_paid_inc_ship_tax numeric(7,2),
+ cs_net_profit numeric(7,2));
+
+CREATE TABLE IF NOT EXISTS customer(
+ c_customer_sk int,
+ c_customer_id text,
+ c_current_cdemo_sk int,
+ c_current_hdemo_sk int,
+ c_current_addr_sk int,
+ c_first_shipto_date_sk int,
+ c_first_sales_date_sk int,
+ c_salutation text,
+ c_first_name text,
+ c_last_name text,
+ c_preferred_cust_flag text,
+ c_birth_day int,
+ c_birth_month int,
+ c_birth_year int,
+ c_birth_country text,
+ c_login text,
+ c_email_address text,
+ c_last_review_date_sk text);
+
+CREATE TABLE IF NOT EXISTS customer_address(
+ ca_address_sk int,
+ ca_address_id text,
+ ca_street_number text,
+ ca_street_name text,
+ ca_street_type text,
+ ca_suite_number text,
+ ca_city text,
+ ca_county text,
+ ca_state text,
+ ca_zip text,
+ ca_country text,
+ ca_gmt_offset numeric(5,2),
+ ca_location_type text);
+
+CREATE TABLE IF NOT EXISTS customer_demographics(
+ cd_demo_sk int,
+ cd_gender text,
+ cd_marital_status text,
+ cd_education_status text,
+ cd_purchase_estimate int,
+ cd_credit_rating text,
+ cd_dep_count int,
+ cd_dep_employed_count int,
+ cd_dep_college_count int);
+
+CREATE TABLE IF NOT EXISTS date_dim(
+ d_date_sk int,
+ d_date_id text,
+ d_date text,
+ d_month_seq int,
+ d_week_seq int,
+ d_quarter_seq int,
+ d_year int,
+ d_dow int,
+ d_moy int,
+ d_dom int,
+ d_qoy int,
+ d_fy_year int,
+ d_fy_quarter_seq int,
+ d_fy_week_seq int,
+ d_day_name text,
+ d_quarter_name text,
+ d_holiday text,
+ d_weekend text,
+ d_following_holiday text,
+ d_first_dom int,
+ d_last_dom int,
+ d_same_day_ly int,
+ d_same_day_lq int,
+ d_current_day text,
+ d_current_week text,
+ d_current_month text,
+ d_current_quarter text,
+ d_current_year text);
+
+CREATE TABLE IF NOT EXISTS household_demographics(
+ hd_demo_sk int,
+ hd_income_band_sk int,
+ hd_buy_potential text,
+ hd_dep_count int,
+ hd_vehicle_count int);
+
+CREATE TABLE IF NOT EXISTS income_band(
+ ib_income_band_sk int,
+ ib_lower_bound int,
+ ib_upper_bound int);
+
+CREATE TABLE IF NOT EXISTS inventory(
+ inv_date_sk int,
+ inv_item_sk bigint,
+ inv_warehouse_sk int,
+ inv_quantity_on_hand int);
+
+CREATE TABLE IF NOT EXISTS item(
+ i_item_sk bigint,
+ i_item_id text,
+ i_rec_start_date text,
+ i_rec_end_date text,
+ i_item_desc text,
+ i_current_price numeric(7,2),
+ i_wholesale_cost numeric(7,2),
+ i_brand_id int,
+ i_brand text,
+ i_class_id int,
+ i_class text,
+ i_category_id int,
+ i_category text,
+ i_manufact_id int,
+ i_manufact text,
+ i_size text,
+ i_formulation text,
+ i_color text,
+ i_units text,
+ i_container text,
+ i_manager_id int,
+ i_product_name text);
+
+CREATE TABLE IF NOT EXISTS promotion(
+ p_promo_sk int,
+ p_promo_id text,
+ p_start_date_sk int,
+ p_end_date_sk int,
+ p_item_sk bigint,
+ p_cost numeric(15,2),
+ p_response_target int,
+ p_promo_name text,
+ p_channel_dmail text,
+ p_channel_email text,
+ p_channel_catalog text,
+ p_channel_tv text,
+ p_channel_radio text,
+ p_channel_press text,
+ p_channel_event text,
+ p_channel_demo text,
+ p_channel_details text,
+ p_purpose text,
+ p_discount_active text);
+
+CREATE TABLE IF NOT EXISTS reason(
+ r_reason_sk int,
+ r_reason_id text,
+ r_reason_desc text);
+
+CREATE TABLE IF NOT EXISTS ship_mode(
+ sm_ship_mode_sk int,
+ sm_ship_mode_id text,
+ sm_type text,
+ sm_code text,
+ sm_carrier text,
+ sm_contract text);
+
+CREATE TABLE IF NOT EXISTS store(
+ s_store_sk int,
+ s_store_id text,
+ s_rec_start_date text,
+ s_rec_end_date text,
+ s_closed_date_sk int,
+ s_store_name text,
+ s_number_employees int,
+ s_floor_space int,
+ s_hours text,
+ s_manager text,
+ s_market_id int,
+ s_geography_class text,
+ s_market_desc text,
+ s_market_manager text,
+ s_division_id int,
+ s_division_name text,
+ s_company_id int,
+ s_company_name text,
+ s_street_number text,
+ s_street_name text,
+ s_street_type text,
+ s_suite_number text,
+ s_city text,
+ s_county text,
+ s_state text,
+ s_zip text,
+ s_country text,
+ s_gmt_offset numeric(5,2),
+ s_tax_precentage numeric(5,2));
+
+CREATE TABLE IF NOT EXISTS store_returns(
+ sr_returned_date_sk int,
+ sr_return_time_sk int,
+ sr_item_sk bigint,
+ sr_customer_sk int,
+ sr_cdemo_sk int,
+ sr_hdemo_sk int,
+ sr_addr_sk int,
+ sr_store_sk int,
+ sr_reason_sk int,
+ sr_ticket_number bigint,
+ sr_return_quantity int,
+ sr_return_amt numeric(7,2),
+ sr_return_tax numeric(7,2),
+ sr_return_amt_inc_tax numeric(7,2),
+ sr_fee numeric(7,2),
+ sr_return_ship_cost numeric(7,2),
+ sr_refunded_cash numeric(7,2),
+ sr_reversed_charge numeric(7,2),
+ sr_store_credit numeric(7,2),
+ sr_net_loss numeric(7,2));
+
+CREATE TABLE IF NOT EXISTS store_sales(
+ ss_sold_date_sk int,
+ ss_sold_time_sk int,
+ ss_item_sk bigint,
+ ss_customer_sk int,
+ ss_cdemo_sk int,
+ ss_hdemo_sk int,
+ ss_addr_sk int,
+ ss_store_sk int,
+ ss_promo_sk int,
+ ss_ticket_number bigint,
+ ss_quantity int,
+ ss_wholesale_cost numeric(7,2),
+ ss_list_price numeric(7,2),
+ ss_sales_price numeric(7,2),
+ ss_ext_discount_amt numeric(7,2),
+ ss_ext_sales_price numeric(7,2),
+ ss_ext_wholesale_cost numeric(7,2),
+ ss_ext_list_price numeric(7,2),
+ ss_ext_tax numeric(7,2),
+ ss_coupon_amt numeric(7,2),
+ ss_net_paid numeric(7,2),
+ ss_net_paid_inc_tax numeric(7,2),
+ ss_net_profit numeric(7,2));
+
+CREATE TABLE IF NOT EXISTS time_dim(
+ t_time_sk int,
+ t_time_id text,
+ t_time int,
+ t_hour int,
+ t_minute int,
+ t_second int,
+ t_am_pm text,
+ t_shift text,
+ t_sub_shift text,
+ t_meal_time text);
+
+CREATE TABLE IF NOT EXISTS warehouse(
+ w_warehouse_sk int,
+ w_warehouse_id text,
+ w_warehouse_name text,
+ w_warehouse_sq_ft int,
+ w_street_number text,
+ w_street_name text,
+ w_street_type text,
+ w_suite_number text,
+ w_city text,
+ w_county text,
+ w_state text,
+ w_zip text,
+ w_country text,
+ w_gmt_offset numeric(5,2));
+
+CREATE TABLE IF NOT EXISTS web_page(
+ wp_web_page_sk int,
+ wp_web_page_id text,
+ wp_rec_start_date text,
+ wp_rec_end_date text,
+ wp_creation_date_sk int,
+ wp_access_date_sk int,
+ wp_autogen_flag text,
+ wp_customer_sk int,
+ wp_url text,
+ wp_type text,
+ wp_char_count int,
+ wp_link_count int,
+ wp_image_count int,
+ wp_max_ad_count int);
+
+CREATE TABLE IF NOT EXISTS web_returns(
+ wr_returned_date_sk int,
+ wr_returned_time_sk int,
+ wr_item_sk bigint,
+ wr_refunded_customer_sk int,
+ wr_refunded_cdemo_sk int,
+ wr_refunded_hdemo_sk int,
+ wr_refunded_addr_sk int,
+ wr_returning_customer_sk int,
+ wr_returning_cdemo_sk int,
+ wr_returning_hdemo_sk int,
+ wr_returning_addr_sk int,
+ wr_web_page_sk int,
+ wr_reason_sk int,
+ wr_order_number bigint,
+ wr_return_quantity int,
+ wr_return_amt numeric(7,2),
+ wr_return_tax numeric(7,2),
+ wr_return_amt_inc_tax numeric(7,2),
+ wr_fee numeric(7,2),
+ wr_return_ship_cost numeric(7,2),
+ wr_refunded_cash numeric(7,2),
+ wr_reversed_charge numeric(7,2),
+ wr_account_credit numeric(7,2),
+ wr_net_loss numeric(7,2));
+
+CREATE TABLE IF NOT EXISTS web_sales(
+ ws_sold_date_sk int,
+ ws_sold_time_sk int,
+ ws_ship_date_sk int,
+ ws_item_sk bigint,
+ ws_bill_customer_sk int,
+ ws_bill_cdemo_sk int,
+ ws_bill_hdemo_sk int,
+ ws_bill_addr_sk int,
+ ws_ship_customer_sk int,
+ ws_ship_cdemo_sk int,
+ ws_ship_hdemo_sk int,
+ ws_ship_addr_sk int,
+ ws_web_page_sk int,
+ ws_web_site_sk int,
+ ws_ship_mode_sk int,
+ ws_warehouse_sk int,
+ ws_promo_sk int,
+ ws_order_number bigint,
+ ws_quantity int,
+ ws_wholesale_cost numeric(7,2),
+ ws_list_price numeric(7,2),
+ ws_sales_price numeric(7,2),
+ ws_ext_discount_amt numeric(7,2),
+ ws_ext_sales_price numeric(7,2),
+ ws_ext_wholesale_cost numeric(7,2),
+ ws_ext_list_price numeric(7,2),
+ ws_ext_tax numeric(7,2),
+ ws_coupon_amt numeric(7,2),
+ ws_ext_ship_cost numeric(7,2),
+ ws_net_paid numeric(7,2),
+ ws_net_paid_inc_tax numeric(7,2),
+ ws_net_paid_inc_ship numeric(7,2),
+ ws_net_paid_inc_ship_tax numeric(7,2),
+ ws_net_profit numeric(7,2));
+
+CREATE TABLE IF NOT EXISTS web_site(
+ web_site_sk int,
+ web_site_id text,
+ web_rec_start_date text,
+ web_rec_end_date text,
+ web_name text,
+ web_open_date_sk int,
+ web_close_date_sk int,
+ web_class text,
+ web_manager text,
+ web_mkt_id int,
+ web_mkt_class text,
+ web_mkt_desc text,
+ web_market_manager text,
+ web_company_id int,
+ web_company_name text,
+ web_street_number text,
+ web_street_name text,
+ web_street_type text,
+ web_suite_number text,
+ web_city text,
+ web_county text,
+ web_state text,
+ web_zip text,
+ web_country text,
+ web_gmt_offset numeric(5,2),
+ web_tax_percentage numeric(5,2));
diff --git a/itests/qtest/src/test/java/org/apache/hadoop/hive/cli/TestMiniLlapLocalPostgresJdbcCliDriver.java b/itests/qtest/src/test/java/org/apache/hadoop/hive/cli/TestMiniLlapLocalPostgresJdbcCliDriver.java
new file mode 100644
index 000000000000..6e7be3437a5a
--- /dev/null
+++ b/itests/qtest/src/test/java/org/apache/hadoop/hive/cli/TestMiniLlapLocalPostgresJdbcCliDriver.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hive.cli;
+
+import java.io.File;
+import java.util.List;
+
+import org.apache.hadoop.hive.cli.control.CliAdapter;
+import org.apache.hadoop.hive.cli.control.CliConfigs;
+import org.junit.ClassRule;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestRule;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+@RunWith(Parameterized.class)
+public class TestMiniLlapLocalPostgresJdbcCliDriver {
+ static CliAdapter adapter = new CliConfigs.MiniLlapLocalPostgresJdbcCliConfig().getCliAdapter();
+
+ @Parameters(name = "{0}")
+ public static List