You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kyuubi.apache.org by ch...@apache.org on 2022/05/19 09:03:01 UTC

[incubator-kyuubi] branch master updated: [KYUUBI #2702] Fix TPC-DS columns name and add TPC-DS queries verification

This is an automated email from the ASF dual-hosted git repository.

chengpan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-kyuubi.git


The following commit(s) were added to refs/heads/master by this push:
     new aa4ac58ce [KYUUBI #2702] Fix TPC-DS columns name and add TPC-DS queries verification
aa4ac58ce is described below

commit aa4ac58ce58b835f311db68544ed5ccffa6bc629
Author: Cheng Pan <ch...@apache.org>
AuthorDate: Thu May 19 17:02:48 2022 +0800

    [KYUUBI #2702] Fix TPC-DS columns name and add TPC-DS queries verification
    
    ### _Why are the changes needed?_
    
    As there are some issues with the TPC-DS column name reported in https://github.com/trinodb/tpcds/pull/2, we need a workaround before the upstream patch release is available.
    
    This PR also introduces the option `useTableSchema_2_6`(default is `true`), user can set `false` to make the column name compatible with old TPC-DS queries.
    
    Close #2679
    
    ### _How was this patch tested?_
    - [x] Add some test cases that check the changes thoroughly including negative and positive cases if possible
    
    - [ ] Add screenshots for manual tests if appropriate
    
    - [x] [Run test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests) locally before make a pull request
    
    Closes #2702 from pan3793/tpcds-fix-colname.
    
    Closes #2702
    
    82503711 [Cheng Pan] Rename conf
    fb007ed7 [Cheng Pan] tpcds 3.2
    5ebf8691 [Cheng Pan] Fix TPC-DS columns name
    
    Authored-by: Cheng Pan <ch...@apache.org>
    Signed-off-by: Cheng Pan <ch...@apache.org>
---
 .../src/main/resources/tpcds_2_4/q30.sql           |   4 +-
 .../org/apache/kyuubi/tpcds/DataGenerator.scala    |   2 +-
 .../src/main/resources/tpcds_3.2/q1.sql            |  54 +++
 .../src/main/resources/tpcds_3.2/q10.sql           | 107 +++++
 .../src/main/resources/tpcds_3.2/q11.sql           | 113 +++++
 .../src/main/resources/tpcds_3.2/q12.sql           |  49 +++
 .../src/main/resources/tpcds_3.2/q13.sql           |  85 ++++
 .../src/main/resources/tpcds_3.2/q14a.sql          | 233 ++++++++++
 .../src/main/resources/tpcds_3.2/q14b.sql          | 222 ++++++++++
 .../src/main/resources/tpcds_3.2/q15.sql           |  52 +++
 .../src/main/resources/tpcds_3.2/q16.sql           |  61 +++
 .../src/main/resources/tpcds_3.2/q17.sql           |  66 +++
 .../src/main/resources/tpcds_3.2/q18.sql           |  58 +++
 .../src/main/resources/tpcds_3.2/q19.sql           |  53 +++
 .../src/main/resources/tpcds_3.2/q2.sql            | 138 ++++++
 .../src/main/resources/tpcds_3.2/q20.sql           |  49 +++
 .../src/main/resources/tpcds_3.2/q21.sql           |  70 +++
 .../src/main/resources/tpcds_3.2/q22.sql           |  47 +++
 .../src/main/resources/tpcds_3.2/q23a.sql          | 128 ++++++
 .../src/main/resources/tpcds_3.2/q23b.sql          | 148 +++++++
 .../src/main/resources/tpcds_3.2/q24a.sql          |  83 ++++
 .../src/main/resources/tpcds_3.2/q24b.sql          |  83 ++++
 .../src/main/resources/tpcds_3.2/q25.sql           |  65 +++
 .../src/main/resources/tpcds_3.2/q26.sql           |  48 +++
 .../src/main/resources/tpcds_3.2/q27.sql           |  48 +++
 .../src/main/resources/tpcds_3.2/q28.sql           | 136 ++++++
 .../src/main/resources/tpcds_3.2/q29.sql           |  63 +++
 .../src/main/resources/tpcds_3.2/q3.sql            |  41 ++
 .../src/main/resources/tpcds_3.2/q30.sql           |  80 ++++
 .../src/main/resources/tpcds_3.2/q31.sql           | 101 +++++
 .../src/main/resources/tpcds_3.2/q32.sql           |  43 ++
 .../src/main/resources/tpcds_3.2/q33.sql           | 126 ++++++
 .../src/main/resources/tpcds_3.2/q34.sql           |  82 ++++
 .../src/main/resources/tpcds_3.2/q35.sql           |  97 +++++
 .../src/main/resources/tpcds_3.2/q36.sql           |  60 +++
 .../src/main/resources/tpcds_3.2/q37.sql           |  45 ++
 .../src/main/resources/tpcds_3.2/q38.sql           |  65 +++
 .../src/main/resources/tpcds_3.2/q39a.sql          |  90 ++++
 .../src/main/resources/tpcds_3.2/q39b.sql          |  91 ++++
 .../src/main/resources/tpcds_3.2/q4.sql            | 180 ++++++++
 .../src/main/resources/tpcds_3.2/q40.sql           |  61 +++
 .../src/main/resources/tpcds_3.2/q41.sql           | 165 ++++++++
 .../src/main/resources/tpcds_3.2/q42.sql           |  43 ++
 .../src/main/resources/tpcds_3.2/q43.sql           |  86 ++++
 .../src/main/resources/tpcds_3.2/q44.sql           | 110 +++++
 .../src/main/resources/tpcds_3.2/q45.sql           |  63 +++
 .../src/main/resources/tpcds_3.2/q46.sql           |  77 ++++
 .../src/main/resources/tpcds_3.2/q47.sql           | 112 +++++
 .../src/main/resources/tpcds_3.2/q48.sql           |  75 ++++
 .../src/main/resources/tpcds_3.2/q49.sql           | 221 ++++++++++
 .../src/main/resources/tpcds_3.2/q5.sql            | 185 ++++++++
 .../src/main/resources/tpcds_3.2/q50.sql           | 100 +++++
 .../src/main/resources/tpcds_3.2/q51.sql           | 110 +++++
 .../src/main/resources/tpcds_3.2/q52.sql           |  42 ++
 .../src/main/resources/tpcds_3.2/q53.sql           |  90 ++++
 .../src/main/resources/tpcds_3.2/q54.sql           | 106 +++++
 .../src/main/resources/tpcds_3.2/q55.sql           |  39 ++
 .../src/main/resources/tpcds_3.2/q56.sql           | 127 ++++++
 .../src/main/resources/tpcds_3.2/q57.sql           | 105 +++++
 .../src/main/resources/tpcds_3.2/q58.sql           | 137 ++++++
 .../src/main/resources/tpcds_3.2/q59.sql           | 137 ++++++
 .../src/main/resources/tpcds_3.2/q6.sql            |  57 +++
 .../src/main/resources/tpcds_3.2/q60.sql           | 127 ++++++
 .../src/main/resources/tpcds_3.2/q61.sql           |  78 ++++
 .../src/main/resources/tpcds_3.2/q62.sql           |  77 ++++
 .../src/main/resources/tpcds_3.2/q63.sql           |  90 ++++
 .../src/main/resources/tpcds_3.2/q64.sql           | 164 +++++++
 .../src/main/resources/tpcds_3.2/q65.sql           |  77 ++++
 .../src/main/resources/tpcds_3.2/q66.sql           | 432 +++++++++++++++++++
 .../src/main/resources/tpcds_3.2/q67.sql           |  87 ++++
 .../src/main/resources/tpcds_3.2/q68.sql           |  71 ++++
 .../src/main/resources/tpcds_3.2/q69.sql           |  89 ++++
 .../src/main/resources/tpcds_3.2/q7.sql            |  48 +++
 .../src/main/resources/tpcds_3.2/q70.sql           |  76 ++++
 .../src/main/resources/tpcds_3.2/q71.sql           |  84 ++++
 .../src/main/resources/tpcds_3.2/q72.sql           |  67 +++
 .../src/main/resources/tpcds_3.2/q73.sql           |  69 +++
 .../src/main/resources/tpcds_3.2/q74.sql           |  97 +++++
 .../src/main/resources/tpcds_3.2/q75.sql           | 119 ++++++
 .../src/main/resources/tpcds_3.2/q76.sql           |  50 +++
 .../src/main/resources/tpcds_3.2/q77.sql           | 162 +++++++
 .../src/main/resources/tpcds_3.2/q78.sql           | 122 ++++++
 .../src/main/resources/tpcds_3.2/q79.sql           |  65 +++
 .../src/main/resources/tpcds_3.2/q8.sql            | 469 +++++++++++++++++++++
 .../src/main/resources/tpcds_3.2/q80.sql           | 145 +++++++
 .../src/main/resources/tpcds_3.2/q81.sql           |  86 ++++
 .../src/main/resources/tpcds_3.2/q82.sql           |  45 ++
 .../src/main/resources/tpcds_3.2/q83.sql           | 125 ++++++
 .../src/main/resources/tpcds_3.2/q84.sql           |  40 ++
 .../src/main/resources/tpcds_3.2/q85.sql           |  96 +++++
 .../src/main/resources/tpcds_3.2/q86.sql           |  49 +++
 .../src/main/resources/tpcds_3.2/q87.sql           |  69 +++
 .../src/main/resources/tpcds_3.2/q88.sql           | 260 ++++++++++++
 .../src/main/resources/tpcds_3.2/q89.sql           |  75 ++++
 .../src/main/resources/tpcds_3.2/q9.sql            | 162 +++++++
 .../src/main/resources/tpcds_3.2/q90.sql           |  60 +++
 .../src/main/resources/tpcds_3.2/q91.sql           |  59 +++
 .../src/main/resources/tpcds_3.2/q92.sql           |  45 ++
 .../src/main/resources/tpcds_3.2/q93.sql           |  48 +++
 .../src/main/resources/tpcds_3.2/q94.sql           |  55 +++
 .../src/main/resources/tpcds_3.2/q95.sql           |  65 +++
 .../src/main/resources/tpcds_3.2/q96.sql           |  36 ++
 .../src/main/resources/tpcds_3.2/q97.sql           |  77 ++++
 .../src/main/resources/tpcds_3.2/q98.sql           |  47 +++
 .../src/main/resources/tpcds_3.2/q99.sql           |  77 ++++
 .../kyuubi/spark/connector/tpcds/TPCDSTable.scala  |  20 +-
 .../spark/connector/tpcds/TPCDSQuerySuite.scala    |  57 +++
 .../spark/connector/tpcds/TPCDSTableSuite.scala    |   2 +-
 108 files changed, 10128 insertions(+), 6 deletions(-)

diff --git a/dev/kyuubi-tpcds/src/main/resources/tpcds_2_4/q30.sql b/dev/kyuubi-tpcds/src/main/resources/tpcds_2_4/q30.sql
index e2e000d5d..2b1173892 100644
--- a/dev/kyuubi-tpcds/src/main/resources/tpcds_2_4/q30.sql
+++ b/dev/kyuubi-tpcds/src/main/resources/tpcds_2_4/q30.sql
@@ -28,7 +28,7 @@
  group by wr_returning_customer_sk,ca_state)
  select c_customer_id,c_salutation,c_first_name,c_last_name,c_preferred_cust_flag
        ,c_birth_day,c_birth_month,c_birth_year,c_birth_country,c_login,c_email_address
-       ,c_last_review_date,ctr_total_return
+       ,c_last_review_date_sk,ctr_total_return
  from customer_total_return ctr1, customer_address, customer
  where ctr1.ctr_total_return > (select avg(ctr_total_return)*1.2
  			  from customer_total_return ctr2
@@ -38,6 +38,6 @@
        and ctr1.ctr_customer_sk = c_customer_sk
  order by c_customer_id,c_salutation,c_first_name,c_last_name,c_preferred_cust_flag
                   ,c_birth_day,c_birth_month,c_birth_year,c_birth_country,c_login,c_email_address
-                  ,c_last_review_date,ctr_total_return
+                  ,c_last_review_date_sk,ctr_total_return
  limit 100
             
diff --git a/dev/kyuubi-tpcds/src/main/scala/org/apache/kyuubi/tpcds/DataGenerator.scala b/dev/kyuubi-tpcds/src/main/scala/org/apache/kyuubi/tpcds/DataGenerator.scala
index b46367a36..25a2bcf11 100644
--- a/dev/kyuubi-tpcds/src/main/scala/org/apache/kyuubi/tpcds/DataGenerator.scala
+++ b/dev/kyuubi-tpcds/src/main/scala/org/apache/kyuubi/tpcds/DataGenerator.scala
@@ -307,7 +307,7 @@ object DataGenerator {
       $"c_birth_country"          .string,
       $"c_login"                  .string,
       $"c_email_address"          .string,
-      $"c_last_review_date"       .string)
+      $"c_last_review_date_sk"    .string)
 
     val customer_address: TableGenerator = TableGenerator(
       "customer_address",
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q1.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q1.sql
new file mode 100644
index 000000000..3d88769e5
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q1.sql
@@ -0,0 +1,54 @@
+--
+-- 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.
+--
+-- q1 --
+with customer_total_return as (
+   select
+      sr_customer_sk as ctr_customer_sk,
+      sr_store_sk as ctr_store_sk,
+      sum(SR_FEE) as ctr_total_return
+   from
+      store_returns,
+      date_dim
+   where
+      sr_returned_date_sk = d_date_sk
+      and d_year = 2000
+   group by
+      sr_customer_sk,
+      sr_store_sk
+)
+select
+   c_customer_id
+from
+   customer_total_return ctr1,
+   store,
+   customer
+where
+   ctr1.ctr_total_return > (
+      select
+         avg(ctr_total_return) * 1.2
+      from
+         customer_total_return ctr2
+      where
+         ctr1.ctr_store_sk = ctr2.ctr_store_sk
+   )
+   and s_store_sk = ctr1.ctr_store_sk
+   and s_state = 'TN'
+   and ctr1.ctr_customer_sk = c_customer_sk
+order by
+   c_customer_id
+limit
+   100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q10.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q10.sql
new file mode 100644
index 000000000..f0248cb7f
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q10.sql
@@ -0,0 +1,107 @@
+--
+-- 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.
+--
+-- q10 --
+select
+     cd_gender,
+     cd_marital_status,
+     cd_education_status,
+     count(*) cnt1,
+     cd_purchase_estimate,
+     count(*) cnt2,
+     cd_credit_rating,
+     count(*) cnt3,
+     cd_dep_count,
+     count(*) cnt4,
+     cd_dep_employed_count,
+     count(*) cnt5,
+     cd_dep_college_count,
+     count(*) cnt6
+from
+     customer c,
+     customer_address ca,
+     customer_demographics
+where
+     c.c_current_addr_sk = ca.ca_address_sk
+     and ca_county in (
+          'Walker County',
+          'Richland County',
+          'Gaines County',
+          'Douglas County',
+          'Dona Ana County'
+     )
+     and cd_demo_sk = c.c_current_cdemo_sk
+     and exists (
+          select
+               *
+          from
+               store_sales,
+               date_dim
+          where
+               c.c_customer_sk = ss_customer_sk
+               and ss_sold_date_sk = d_date_sk
+               and d_year = 2002
+               and d_moy between 4
+               and 4 + 3
+     )
+     and (
+          exists (
+               select
+                    *
+               from
+                    web_sales,
+                    date_dim
+               where
+                    c.c_customer_sk = ws_bill_customer_sk
+                    and ws_sold_date_sk = d_date_sk
+                    and d_year = 2002
+                    and d_moy between 4
+                    ANd 4 + 3
+          )
+          or exists (
+               select
+                    *
+               from
+                    catalog_sales,
+                    date_dim
+               where
+                    c.c_customer_sk = cs_ship_customer_sk
+                    and cs_sold_date_sk = d_date_sk
+                    and d_year = 2002
+                    and d_moy between 4
+                    and 4 + 3
+          )
+     )
+group by
+     cd_gender,
+     cd_marital_status,
+     cd_education_status,
+     cd_purchase_estimate,
+     cd_credit_rating,
+     cd_dep_count,
+     cd_dep_employed_count,
+     cd_dep_college_count
+order by
+     cd_gender,
+     cd_marital_status,
+     cd_education_status,
+     cd_purchase_estimate,
+     cd_credit_rating,
+     cd_dep_count,
+     cd_dep_employed_count,
+     cd_dep_college_count
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q11.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q11.sql
new file mode 100644
index 000000000..fcbc4a548
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q11.sql
@@ -0,0 +1,113 @@
+--
+-- 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.
+--
+-- q11 --
+with year_total as (
+  select
+    c_customer_id customer_id,
+    c_first_name customer_first_name,
+    c_last_name customer_last_name,
+    c_preferred_cust_flag customer_preferred_cust_flag,
+    c_birth_country customer_birth_country,
+    c_login customer_login,
+    c_email_address customer_email_address,
+    d_year dyear,
+    sum(ss_ext_list_price - ss_ext_discount_amt) year_total,
+    's' sale_type
+  from
+    customer,
+    store_sales,
+    date_dim
+  where
+    c_customer_sk = ss_customer_sk
+    and ss_sold_date_sk = d_date_sk
+  group by
+    c_customer_id,
+    c_first_name,
+    c_last_name,
+    c_preferred_cust_flag,
+    c_birth_country,
+    c_login,
+    c_email_address,
+    d_year
+  union
+  all
+  select
+    c_customer_id customer_id,
+    c_first_name customer_first_name,
+    c_last_name customer_last_name,
+    c_preferred_cust_flag customer_preferred_cust_flag,
+    c_birth_country customer_birth_country,
+    c_login customer_login,
+    c_email_address customer_email_address,
+    d_year dyear,
+    sum(ws_ext_list_price - ws_ext_discount_amt) year_total,
+    'w' sale_type
+  from
+    customer,
+    web_sales,
+    date_dim
+  where
+    c_customer_sk = ws_bill_customer_sk
+    and ws_sold_date_sk = d_date_sk
+  group by
+    c_customer_id,
+    c_first_name,
+    c_last_name,
+    c_preferred_cust_flag,
+    c_birth_country,
+    c_login,
+    c_email_address,
+    d_year
+)
+select
+  t_s_secyear.customer_id,
+  t_s_secyear.customer_first_name,
+  t_s_secyear.customer_last_name,
+  t_s_secyear.customer_email_address
+from
+  year_total t_s_firstyear,
+  year_total t_s_secyear,
+  year_total t_w_firstyear,
+  year_total t_w_secyear
+where
+  t_s_secyear.customer_id = t_s_firstyear.customer_id
+  and t_s_firstyear.customer_id = t_w_secyear.customer_id
+  and t_s_firstyear.customer_id = t_w_firstyear.customer_id
+  and t_s_firstyear.sale_type = 's'
+  and t_w_firstyear.sale_type = 'w'
+  and t_s_secyear.sale_type = 's'
+  and t_w_secyear.sale_type = 'w'
+  and t_s_firstyear.dyear = 2001
+  and t_s_secyear.dyear = 2001 + 1
+  and t_w_firstyear.dyear = 2001
+  and t_w_secyear.dyear = 2001 + 1
+  and t_s_firstyear.year_total > 0
+  and t_w_firstyear.year_total > 0
+  and case
+    when t_w_firstyear.year_total > 0 then t_w_secyear.year_total / t_w_firstyear.year_total
+    else 0.0
+  end > case
+    when t_s_firstyear.year_total > 0 then t_s_secyear.year_total / t_s_firstyear.year_total
+    else 0.0
+  end
+order by
+  t_s_secyear.customer_id,
+  t_s_secyear.customer_first_name,
+  t_s_secyear.customer_last_name,
+  t_s_secyear.customer_email_address
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q12.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q12.sql
new file mode 100644
index 000000000..48da9027d
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q12.sql
@@ -0,0 +1,49 @@
+--
+-- 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.
+--
+-- q12 --
+select
+       i_item_id,
+       i_item_desc,
+       i_category,
+       i_class,
+       i_current_price,
+       sum(ws_ext_sales_price) as itemrevenue,
+       sum(ws_ext_sales_price) * 100 / sum(sum(ws_ext_sales_price)) over (partition by i_class) as revenueratio
+from
+       web_sales,
+       item,
+       date_dim
+where
+       ws_item_sk = i_item_sk
+       and i_category in ('Jewelry', 'Sports', 'Books')
+       and ws_sold_date_sk = d_date_sk
+       and d_date between cast('2001-01-12' as date)
+       and (cast('2001-01-12' as date) + interval 30 days)
+group by
+       i_item_id,
+       i_item_desc,
+       i_category,
+       i_class,
+       i_current_price
+order by
+       i_category,
+       i_class,
+       i_item_id,
+       i_item_desc,
+       revenueratio
+limit
+       100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q13.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q13.sql
new file mode 100644
index 000000000..c3ddd255d
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q13.sql
@@ -0,0 +1,85 @@
+--
+-- 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.
+--
+-- q13 --
+select
+    avg(ss_quantity),
+    avg(ss_ext_sales_price),
+    avg(ss_ext_wholesale_cost),
+    sum(ss_ext_wholesale_cost)
+from
+    store_sales,
+    store,
+    customer_demographics,
+    household_demographics,
+    customer_address,
+    date_dim
+where
+    s_store_sk = ss_store_sk
+    and ss_sold_date_sk = d_date_sk
+    and d_year = 2001
+    and (
+        (
+            ss_hdemo_sk = hd_demo_sk
+            and cd_demo_sk = ss_cdemo_sk
+            and cd_marital_status = 'D'
+            and cd_education_status = '2 yr Degree'
+            and ss_sales_price between 100.00
+            and 150.00
+            and hd_dep_count = 3
+        )
+        or (
+            ss_hdemo_sk = hd_demo_sk
+            and cd_demo_sk = ss_cdemo_sk
+            and cd_marital_status = 'S'
+            and cd_education_status = 'Secondary'
+            and ss_sales_price between 50.00
+            and 100.00
+            and hd_dep_count = 1
+        )
+        or (
+            ss_hdemo_sk = hd_demo_sk
+            and cd_demo_sk = ss_cdemo_sk
+            and cd_marital_status = 'W'
+            and cd_education_status = 'Advanced Degree'
+            and ss_sales_price between 150.00
+            and 200.00
+            and hd_dep_count = 1
+        )
+    )
+    and (
+        (
+            ss_addr_sk = ca_address_sk
+            and ca_country = 'United States'
+            and ca_state in ('CO', 'IL', 'MN')
+            and ss_net_profit between 100
+            and 200
+        )
+        or (
+            ss_addr_sk = ca_address_sk
+            and ca_country = 'United States'
+            and ca_state in ('OH', 'MT', 'NM')
+            and ss_net_profit between 150
+            and 300
+        )
+        or (
+            ss_addr_sk = ca_address_sk
+            and ca_country = 'United States'
+            and ca_state in ('TX', 'MO', 'MI')
+            and ss_net_profit between 50
+            and 250
+        )
+    );
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q14a.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q14a.sql
new file mode 100644
index 000000000..97d794461
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q14a.sql
@@ -0,0 +1,233 @@
+--
+-- 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.
+--
+-- q14a --
+with cross_items as (
+   select
+      i_item_sk ss_item_sk
+   from
+      item,
+      (
+         select
+            iss.i_brand_id brand_id,
+            iss.i_class_id class_id,
+            iss.i_category_id category_id
+         from
+            store_sales,
+            item iss,
+            date_dim d1
+         where
+            ss_item_sk = iss.i_item_sk
+            and ss_sold_date_sk = d1.d_date_sk
+            and d1.d_year between 1998
+            AND 1998 + 2
+         intersect
+         select
+            ics.i_brand_id,
+            ics.i_class_id,
+            ics.i_category_id
+         from
+            catalog_sales,
+            item ics,
+            date_dim d2
+         where
+            cs_item_sk = ics.i_item_sk
+            and cs_sold_date_sk = d2.d_date_sk
+            and d2.d_year between 1998
+            AND 1998 + 2
+         intersect
+         select
+            iws.i_brand_id,
+            iws.i_class_id,
+            iws.i_category_id
+         from
+            web_sales,
+            item iws,
+            date_dim d3
+         where
+            ws_item_sk = iws.i_item_sk
+            and ws_sold_date_sk = d3.d_date_sk
+            and d3.d_year between 1998
+            AND 1998 + 2
+      )
+   where
+      i_brand_id = brand_id
+      and i_class_id = class_id
+      and i_category_id = category_id
+),
+avg_sales as (
+   select
+      avg(quantity * list_price) average_sales
+   from
+      (
+         select
+            ss_quantity quantity,
+            ss_list_price list_price
+         from
+            store_sales,
+            date_dim
+         where
+            ss_sold_date_sk = d_date_sk
+            and d_year between 1998
+            and 1998 + 2
+         union
+         all
+         select
+            cs_quantity quantity,
+            cs_list_price list_price
+         from
+            catalog_sales,
+            date_dim
+         where
+            cs_sold_date_sk = d_date_sk
+            and d_year between 1998
+            and 1998 + 2
+         union
+         all
+         select
+            ws_quantity quantity,
+            ws_list_price list_price
+         from
+            web_sales,
+            date_dim
+         where
+            ws_sold_date_sk = d_date_sk
+            and d_year between 1998
+            and 1998 + 2
+      ) x
+)
+select
+   channel,
+   i_brand_id,
+   i_class_id,
+   i_category_id,
+   sum(sales),
+   sum(number_sales)
+from
+   (
+      select
+         'store' channel,
+         i_brand_id,
+         i_class_id,
+         i_category_id,
+         sum(ss_quantity * ss_list_price) sales,
+         count(*) number_sales
+      from
+         store_sales,
+         item,
+         date_dim
+      where
+         ss_item_sk in (
+            select
+               ss_item_sk
+            from
+               cross_items
+         )
+         and ss_item_sk = i_item_sk
+         and ss_sold_date_sk = d_date_sk
+         and d_year = 1998 + 2
+         and d_moy = 11
+      group by
+         i_brand_id,
+         i_class_id,
+         i_category_id
+      having
+         sum(ss_quantity * ss_list_price) > (
+            select
+               average_sales
+            from
+               avg_sales
+         )
+      union
+      all
+      select
+         'catalog' channel,
+         i_brand_id,
+         i_class_id,
+         i_category_id,
+         sum(cs_quantity * cs_list_price) sales,
+         count(*) number_sales
+      from
+         catalog_sales,
+         item,
+         date_dim
+      where
+         cs_item_sk in (
+            select
+               ss_item_sk
+            from
+               cross_items
+         )
+         and cs_item_sk = i_item_sk
+         and cs_sold_date_sk = d_date_sk
+         and d_year = 1998 + 2
+         and d_moy = 11
+      group by
+         i_brand_id,
+         i_class_id,
+         i_category_id
+      having
+         sum(cs_quantity * cs_list_price) > (
+            select
+               average_sales
+            from
+               avg_sales
+         )
+      union
+      all
+      select
+         'web' channel,
+         i_brand_id,
+         i_class_id,
+         i_category_id,
+         sum(ws_quantity * ws_list_price) sales,
+         count(*) number_sales
+      from
+         web_sales,
+         item,
+         date_dim
+      where
+         ws_item_sk in (
+            select
+               ss_item_sk
+            from
+               cross_items
+         )
+         and ws_item_sk = i_item_sk
+         and ws_sold_date_sk = d_date_sk
+         and d_year = 1998 + 2
+         and d_moy = 11
+      group by
+         i_brand_id,
+         i_class_id,
+         i_category_id
+      having
+         sum(ws_quantity * ws_list_price) > (
+            select
+               average_sales
+            from
+               avg_sales
+         )
+   ) y
+group by
+   rollup (channel, i_brand_id, i_class_id, i_category_id)
+order by
+   channel,
+   i_brand_id,
+   i_class_id,
+   i_category_id
+limit
+   100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q14b.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q14b.sql
new file mode 100644
index 000000000..a83548c25
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q14b.sql
@@ -0,0 +1,222 @@
+--
+-- 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.
+--
+-- q14b --
+with cross_items as (
+  select
+    i_item_sk ss_item_sk
+  from
+    item,
+    (
+      select
+        iss.i_brand_id brand_id,
+        iss.i_class_id class_id,
+        iss.i_category_id category_id
+      from
+        store_sales,
+        item iss,
+        date_dim d1
+      where
+        ss_item_sk = iss.i_item_sk
+        and ss_sold_date_sk = d1.d_date_sk
+        and d1.d_year between 1998
+        AND 1998 + 2
+      intersect
+      select
+        ics.i_brand_id,
+        ics.i_class_id,
+        ics.i_category_id
+      from
+        catalog_sales,
+        item ics,
+        date_dim d2
+      where
+        cs_item_sk = ics.i_item_sk
+        and cs_sold_date_sk = d2.d_date_sk
+        and d2.d_year between 1998
+        AND 1998 + 2
+      intersect
+      select
+        iws.i_brand_id,
+        iws.i_class_id,
+        iws.i_category_id
+      from
+        web_sales,
+        item iws,
+        date_dim d3
+      where
+        ws_item_sk = iws.i_item_sk
+        and ws_sold_date_sk = d3.d_date_sk
+        and d3.d_year between 1998
+        AND 1998 + 2
+    ) x
+  where
+    i_brand_id = brand_id
+    and i_class_id = class_id
+    and i_category_id = category_id
+),
+avg_sales as (
+  select
+    avg(quantity * list_price) average_sales
+  from
+    (
+      select
+        ss_quantity quantity,
+        ss_list_price list_price
+      from
+        store_sales,
+        date_dim
+      where
+        ss_sold_date_sk = d_date_sk
+        and d_year between 1998
+        and 1998 + 2
+      union
+      all
+      select
+        cs_quantity quantity,
+        cs_list_price list_price
+      from
+        catalog_sales,
+        date_dim
+      where
+        cs_sold_date_sk = d_date_sk
+        and d_year between 1998
+        and 1998 + 2
+      union
+      all
+      select
+        ws_quantity quantity,
+        ws_list_price list_price
+      from
+        web_sales,
+        date_dim
+      where
+        ws_sold_date_sk = d_date_sk
+        and d_year between 1998
+        and 1998 + 2
+    ) x
+)
+select
+  this_year.channel ty_channel,
+  this_year.i_brand_id ty_brand,
+  this_year.i_class_id ty_class,
+  this_year.i_category_id ty_category,
+  this_year.sales ty_sales,
+  this_year.number_sales ty_number_sales,
+  last_year.channel ly_channel,
+  last_year.i_brand_id ly_brand,
+  last_year.i_class_id ly_class,
+  last_year.i_category_id ly_category,
+  last_year.sales ly_sales,
+  last_year.number_sales ly_number_sales
+from
+  (
+    select
+      'store' channel,
+      i_brand_id,
+      i_class_id,
+      i_category_id,
+      sum(ss_quantity * ss_list_price) sales,
+      count(*) number_sales
+    from
+      store_sales,
+      item,
+      date_dim
+    where
+      ss_item_sk in (
+        select
+          ss_item_sk
+        from
+          cross_items
+      )
+      and ss_item_sk = i_item_sk
+      and ss_sold_date_sk = d_date_sk
+      and d_week_seq = (
+        select
+          d_week_seq
+        from
+          date_dim
+        where
+          d_year = 1998 + 1
+          and d_moy = 12
+          and d_dom = 16
+      )
+    group by
+      i_brand_id,
+      i_class_id,
+      i_category_id
+    having
+      sum(ss_quantity * ss_list_price) > (
+        select
+          average_sales
+        from
+          avg_sales
+      )
+  ) this_year,
+  (
+    select
+      'store' channel,
+      i_brand_id,
+      i_class_id,
+      i_category_id,
+      sum(ss_quantity * ss_list_price) sales,
+      count(*) number_sales
+    from
+      store_sales,
+      item,
+      date_dim
+    where
+      ss_item_sk in (
+        select
+          ss_item_sk
+        from
+          cross_items
+      )
+      and ss_item_sk = i_item_sk
+      and ss_sold_date_sk = d_date_sk
+      and d_week_seq = (
+        select
+          d_week_seq
+        from
+          date_dim
+        where
+          d_year = 1998
+          and d_moy = 12
+          and d_dom = 16
+      )
+    group by
+      i_brand_id,
+      i_class_id,
+      i_category_id
+    having
+      sum(ss_quantity * ss_list_price) > (
+        select
+          average_sales
+        from
+          avg_sales
+      )
+  ) last_year
+where
+  this_year.i_brand_id = last_year.i_brand_id
+  and this_year.i_class_id = last_year.i_class_id
+  and this_year.i_category_id = last_year.i_category_id
+order by
+  this_year.channel,
+  this_year.i_brand_id,
+  this_year.i_class_id,
+  this_year.i_category_id
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q15.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q15.sql
new file mode 100644
index 000000000..f2d39c64f
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q15.sql
@@ -0,0 +1,52 @@
+--
+-- 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.
+--
+-- q15 --
+select
+  ca_zip,
+  sum(cs_sales_price)
+from
+  catalog_sales,
+  customer,
+  customer_address,
+  date_dim
+where
+  cs_bill_customer_sk = c_customer_sk
+  and c_current_addr_sk = ca_address_sk
+  and (
+    substr(ca_zip, 1, 5) in (
+      '85669',
+      '86197',
+      '88274',
+      '83405',
+      '86475',
+      '85392',
+      '85460',
+      '80348',
+      '81792'
+    )
+    or ca_state in ('CA', 'WA', 'GA')
+    or cs_sales_price > 500
+  )
+  and cs_sold_date_sk = d_date_sk
+  and d_qoy = 2
+  and d_year = 2000
+group by
+  ca_zip
+order by
+  ca_zip
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q16.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q16.sql
new file mode 100644
index 000000000..1094a0818
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q16.sql
@@ -0,0 +1,61 @@
+--
+-- 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.
+--
+-- q16 --
+select
+  count(distinct cs_order_number) as `order count`,
+  sum(cs_ext_ship_cost) as `total shipping cost`,
+  sum(cs_net_profit) as `total net profit`
+from
+  catalog_sales cs1,
+  date_dim,
+  customer_address,
+  call_center
+where
+  d_date between '1999-2-01'
+  and (cast('1999-2-01' as date) + interval 60 days)
+  and cs1.cs_ship_date_sk = d_date_sk
+  and cs1.cs_ship_addr_sk = ca_address_sk
+  and ca_state = 'IL'
+  and cs1.cs_call_center_sk = cc_call_center_sk
+  and cc_county in (
+    'Williamson County',
+    'Williamson County',
+    'Williamson County',
+    'Williamson County',
+    'Williamson County'
+  )
+  and exists (
+    select
+      *
+    from
+      catalog_sales cs2
+    where
+      cs1.cs_order_number = cs2.cs_order_number
+      and cs1.cs_warehouse_sk <> cs2.cs_warehouse_sk
+  )
+  and not exists (
+    select
+      *
+    from
+      catalog_returns cr1
+    where
+      cs1.cs_order_number = cr1.cr_order_number
+  )
+order by
+  count(distinct cs_order_number)
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q17.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q17.sql
new file mode 100644
index 000000000..6d8ea1c80
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q17.sql
@@ -0,0 +1,66 @@
+--
+-- 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.
+--
+-- q17 --
+select
+       i_item_id,
+       i_item_desc,
+       s_state,
+       count(ss_quantity) as store_sales_quantitycount,
+       avg(ss_quantity) as store_sales_quantityave,
+       stddev_samp(ss_quantity) as store_sales_quantitystdev,
+       stddev_samp(ss_quantity) / avg(ss_quantity) as store_sales_quantitycov,
+       count(sr_return_quantity) as store_returns_quantitycount,
+       avg(sr_return_quantity) as store_returns_quantityave,
+       stddev_samp(sr_return_quantity) as store_returns_quantitystdev,
+       stddev_samp(sr_return_quantity) / avg(sr_return_quantity) as store_returns_quantitycov,
+       count(cs_quantity) as catalog_sales_quantitycount,
+       avg(cs_quantity) as catalog_sales_quantityave,
+       stddev_samp(cs_quantity) as catalog_sales_quantitystdev,
+       stddev_samp(cs_quantity) / avg(cs_quantity) as catalog_sales_quantitycov
+from
+       store_sales,
+       store_returns,
+       catalog_sales,
+       date_dim d1,
+       date_dim d2,
+       date_dim d3,
+       store,
+       item
+where
+       d1.d_quarter_name = '1998Q1'
+       and d1.d_date_sk = ss_sold_date_sk
+       and i_item_sk = ss_item_sk
+       and s_store_sk = ss_store_sk
+       and ss_customer_sk = sr_customer_sk
+       and ss_item_sk = sr_item_sk
+       and ss_ticket_number = sr_ticket_number
+       and sr_returned_date_sk = d2.d_date_sk
+       and d2.d_quarter_name in ('1998Q1', '1998Q2', '1998Q3')
+       and sr_customer_sk = cs_bill_customer_sk
+       and sr_item_sk = cs_item_sk
+       and cs_sold_date_sk = d3.d_date_sk
+       and d3.d_quarter_name in ('1998Q1', '1998Q2', '1998Q3')
+group by
+       i_item_id,
+       i_item_desc,
+       s_state
+order by
+       i_item_id,
+       i_item_desc,
+       s_state
+limit
+       100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q18.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q18.sql
new file mode 100644
index 000000000..4b03c2b2c
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q18.sql
@@ -0,0 +1,58 @@
+--
+-- 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.
+--
+-- q18 --
+select
+  i_item_id,
+  ca_country,
+  ca_state,
+  ca_county,
+  avg(cast(cs_quantity as decimal(12, 2))) agg1,
+  avg(cast(cs_list_price as decimal(12, 2))) agg2,
+  avg(cast(cs_coupon_amt as decimal(12, 2))) agg3,
+  avg(cast(cs_sales_price as decimal(12, 2))) agg4,
+  avg(cast(cs_net_profit as decimal(12, 2))) agg5,
+  avg(cast(c_birth_year as decimal(12, 2))) agg6,
+  avg(cast(cd1.cd_dep_count as decimal(12, 2))) agg7
+from
+  catalog_sales,
+  customer_demographics cd1,
+  customer_demographics cd2,
+  customer,
+  customer_address,
+  date_dim,
+  item
+where
+  cs_sold_date_sk = d_date_sk
+  and cs_item_sk = i_item_sk
+  and cs_bill_cdemo_sk = cd1.cd_demo_sk
+  and cs_bill_customer_sk = c_customer_sk
+  and cd1.cd_gender = 'M'
+  and cd1.cd_education_status = 'College'
+  and c_current_cdemo_sk = cd2.cd_demo_sk
+  and c_current_addr_sk = ca_address_sk
+  and c_birth_month in (9, 5, 12, 4, 1, 10)
+  and d_year = 2001
+  and ca_state in ('ND', 'WI', 'AL', 'NC', 'OK', 'MS', 'TN')
+group by
+  rollup (i_item_id, ca_country, ca_state, ca_county)
+order by
+  ca_country,
+  ca_state,
+  ca_county,
+  i_item_id
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q19.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q19.sql
new file mode 100644
index 000000000..411327904
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q19.sql
@@ -0,0 +1,53 @@
+--
+-- 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.
+--
+-- q19 --
+select
+       i_brand_id brand_id,
+       i_brand brand,
+       i_manufact_id,
+       i_manufact,
+       sum(ss_ext_sales_price) ext_price
+from
+       date_dim,
+       store_sales,
+       item,
+       customer,
+       customer_address,
+       store
+where
+       d_date_sk = ss_sold_date_sk
+       and ss_item_sk = i_item_sk
+       and i_manager_id = 7
+       and d_moy = 11
+       and d_year = 1999
+       and ss_customer_sk = c_customer_sk
+       and c_current_addr_sk = ca_address_sk
+       and substr(ca_zip, 1, 5) <> substr(s_zip, 1, 5)
+       and ss_store_sk = s_store_sk
+group by
+       i_brand,
+       i_brand_id,
+       i_manufact_id,
+       i_manufact
+order by
+       ext_price desc,
+       i_brand,
+       i_brand_id,
+       i_manufact_id,
+       i_manufact
+limit
+       100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q2.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q2.sql
new file mode 100644
index 000000000..2dfd11cf5
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q2.sql
@@ -0,0 +1,138 @@
+--
+-- 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.
+--
+-- q2 --
+with wscs as (
+     select
+          sold_date_sk,
+          sales_price
+     from
+          (
+               select
+                    ws_sold_date_sk sold_date_sk,
+                    ws_ext_sales_price sales_price
+               from
+                    web_sales
+               union
+               all
+               select
+                    cs_sold_date_sk sold_date_sk,
+                    cs_ext_sales_price sales_price
+               from
+                    catalog_sales
+          )
+),
+wswscs as (
+     select
+          d_week_seq,
+          sum(
+               case
+                    when (d_day_name = 'Sunday') then sales_price
+                    else null
+               end
+          ) sun_sales,
+          sum(
+               case
+                    when (d_day_name = 'Monday') then sales_price
+                    else null
+               end
+          ) mon_sales,
+          sum(
+               case
+                    when (d_day_name = 'Tuesday') then sales_price
+                    else null
+               end
+          ) tue_sales,
+          sum(
+               case
+                    when (d_day_name = 'Wednesday') then sales_price
+                    else null
+               end
+          ) wed_sales,
+          sum(
+               case
+                    when (d_day_name = 'Thursday') then sales_price
+                    else null
+               end
+          ) thu_sales,
+          sum(
+               case
+                    when (d_day_name = 'Friday') then sales_price
+                    else null
+               end
+          ) fri_sales,
+          sum(
+               case
+                    when (d_day_name = 'Saturday') then sales_price
+                    else null
+               end
+          ) sat_sales
+     from
+          wscs,
+          date_dim
+     where
+          d_date_sk = sold_date_sk
+     group by
+          d_week_seq
+)
+select
+     d_week_seq1,
+     round(sun_sales1 / sun_sales2, 2),
+     round(mon_sales1 / mon_sales2, 2),
+     round(tue_sales1 / tue_sales2, 2),
+     round(wed_sales1 / wed_sales2, 2),
+     round(thu_sales1 / thu_sales2, 2),
+     round(fri_sales1 / fri_sales2, 2),
+     round(sat_sales1 / sat_sales2, 2)
+from
+     (
+          select
+               wswscs.d_week_seq d_week_seq1,
+               sun_sales sun_sales1,
+               mon_sales mon_sales1,
+               tue_sales tue_sales1,
+               wed_sales wed_sales1,
+               thu_sales thu_sales1,
+               fri_sales fri_sales1,
+               sat_sales sat_sales1
+          from
+               wswscs,
+               date_dim
+          where
+               date_dim.d_week_seq = wswscs.d_week_seq
+               and d_year = 2001
+     ) y,
+     (
+          select
+               wswscs.d_week_seq d_week_seq2,
+               sun_sales sun_sales2,
+               mon_sales mon_sales2,
+               tue_sales tue_sales2,
+               wed_sales wed_sales2,
+               thu_sales thu_sales2,
+               fri_sales fri_sales2,
+               sat_sales sat_sales2
+          from
+               wswscs,
+               date_dim
+          where
+               date_dim.d_week_seq = wswscs.d_week_seq
+               and d_year = 2001 + 1
+     ) z
+where
+     d_week_seq1 = d_week_seq2 - 53
+order by
+     d_week_seq1;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q20.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q20.sql
new file mode 100644
index 000000000..94602a43d
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q20.sql
@@ -0,0 +1,49 @@
+--
+-- 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.
+--
+-- q20 --
+select
+       i_item_id,
+       i_item_desc,
+       i_category,
+       i_class,
+       i_current_price,
+       sum(cs_ext_sales_price) as itemrevenue,
+       sum(cs_ext_sales_price) * 100 / sum(sum(cs_ext_sales_price)) over (partition by i_class) as revenueratio
+from
+       catalog_sales,
+       item,
+       date_dim
+where
+       cs_item_sk = i_item_sk
+       and i_category in ('Jewelry', 'Sports', 'Books')
+       and cs_sold_date_sk = d_date_sk
+       and d_date between cast('2001-01-12' as date)
+       and (cast('2001-01-12' as date) + interval 30 days)
+group by
+       i_item_id,
+       i_item_desc,
+       i_category,
+       i_class,
+       i_current_price
+order by
+       i_category,
+       i_class,
+       i_item_id,
+       i_item_desc,
+       revenueratio
+limit
+       100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q21.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q21.sql
new file mode 100644
index 000000000..1e1c74c6e
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q21.sql
@@ -0,0 +1,70 @@
+--
+-- 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.
+--
+-- q21 --
+select
+    *
+from
+    (
+        select
+            w_warehouse_name,
+            i_item_id,
+            sum(
+                case
+                    when (
+                        cast(d_date as date) < cast('1998-04-08' as date)
+                    ) then inv_quantity_on_hand
+                    else 0
+                end
+            ) as inv_before,
+            sum(
+                case
+                    when (
+                        cast(d_date as date) >= cast('1998-04-08' as date)
+                    ) then inv_quantity_on_hand
+                    else 0
+                end
+            ) as inv_after
+        from
+            inventory,
+            warehouse,
+            item,
+            date_dim
+        where
+            i_current_price between 0.99
+            and 1.49
+            and i_item_sk = inv_item_sk
+            and inv_warehouse_sk = w_warehouse_sk
+            and inv_date_sk = d_date_sk
+            and d_date between (cast('1998-04-08' as date) - interval 30 days)
+            and (cast('1998-04-08' as date) + interval 30 days)
+        group by
+            w_warehouse_name,
+            i_item_id
+    ) x
+where
+    (
+        case
+            when inv_before > 0 then inv_after / inv_before
+            else null
+        end
+    ) between 2.0 / 3.0
+    and 3.0 / 2.0
+order by
+    w_warehouse_name,
+    i_item_id
+limit
+    100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q22.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q22.sql
new file mode 100644
index 000000000..b20739f27
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q22.sql
@@ -0,0 +1,47 @@
+--
+-- 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.
+--
+-- q22 --
+select
+  i_product_name,
+  i_brand,
+  i_class,
+  i_category,
+  avg(inv_quantity_on_hand) qoh
+from
+  inventory,
+  date_dim,
+  item
+where
+  inv_date_sk = d_date_sk
+  and inv_item_sk = i_item_sk
+  and d_month_seq between 1212
+  and 1212 + 11
+group by
+  rollup (
+    i_product_name,
+    i_brand,
+    i_class,
+    i_category
+  )
+order by
+  qoh,
+  i_product_name,
+  i_brand,
+  i_class,
+  i_category
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q23a.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q23a.sql
new file mode 100644
index 000000000..a614cb849
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q23a.sql
@@ -0,0 +1,128 @@
+--
+-- 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.
+--
+-- q23a --
+with frequent_ss_items as (
+   select
+      substr(i_item_desc, 1, 30) itemdesc,
+      i_item_sk item_sk,
+      d_date solddate,
+      count(*) cnt
+   from
+      store_sales,
+      date_dim,
+      item
+   where
+      ss_sold_date_sk = d_date_sk
+      and ss_item_sk = i_item_sk
+      and d_year in (1999, 1999 + 1, 1999 + 2, 1999 + 3)
+   group by
+      substr(i_item_desc, 1, 30),
+      i_item_sk,
+      d_date
+   having
+      count(*) > 4
+),
+max_store_sales as (
+   select
+      max(csales) tpcds_cmax
+   from
+      (
+         select
+            c_customer_sk,
+            sum(ss_quantity * ss_sales_price) csales
+         from
+            store_sales,
+            customer,
+            date_dim
+         where
+            ss_customer_sk = c_customer_sk
+            and ss_sold_date_sk = d_date_sk
+            and d_year in (1999, 1999 + 1, 1999 + 2, 1999 + 3)
+         group by
+            c_customer_sk
+      )
+),
+best_ss_customer as (
+   select
+      c_customer_sk,
+      sum(ss_quantity * ss_sales_price) ssales
+   from
+      store_sales,
+      customer
+   where
+      ss_customer_sk = c_customer_sk
+   group by
+      c_customer_sk
+   having
+      sum(ss_quantity * ss_sales_price) > (95 / 100.0) * (
+         select
+            *
+         from
+            max_store_sales
+      )
+)
+select
+   sum(sales)
+from
+   (
+      select
+         cs_quantity * cs_list_price sales
+      from
+         catalog_sales,
+         date_dim
+      where
+         d_year = 1999
+         and d_moy = 1
+         and cs_sold_date_sk = d_date_sk
+         and cs_item_sk in (
+            select
+               item_sk
+            from
+               frequent_ss_items
+         )
+         and cs_bill_customer_sk in (
+            select
+               c_customer_sk
+            from
+               best_ss_customer
+         )
+      union
+      all
+      select
+         ws_quantity * ws_list_price sales
+      from
+         web_sales,
+         date_dim
+      where
+         d_year = 1999
+         and d_moy = 1
+         and ws_sold_date_sk = d_date_sk
+         and ws_item_sk in (
+            select
+               item_sk
+            from
+               frequent_ss_items
+         )
+         and ws_bill_customer_sk in (
+            select
+               c_customer_sk
+            from
+               best_ss_customer
+         )
+   )
+limit
+   100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q23b.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q23b.sql
new file mode 100644
index 000000000..c7e7af3ef
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q23b.sql
@@ -0,0 +1,148 @@
+--
+-- 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.
+--
+-- q23b --
+with frequent_ss_items as (
+   select
+      substr(i_item_desc, 1, 30) itemdesc,
+      i_item_sk item_sk,
+      d_date solddate,
+      count(*) cnt
+   from
+      store_sales,
+      date_dim,
+      item
+   where
+      ss_sold_date_sk = d_date_sk
+      and ss_item_sk = i_item_sk
+      and d_year in (1999, 1999 + 1, 1999 + 2, 1999 + 3)
+   group by
+      substr(i_item_desc, 1, 30),
+      i_item_sk,
+      d_date
+   having
+      count(*) > 4
+),
+max_store_sales as (
+   select
+      max(csales) tpcds_cmax
+   from
+      (
+         select
+            c_customer_sk,
+            sum(ss_quantity * ss_sales_price) csales
+         from
+            store_sales,
+            customer,
+            date_dim
+         where
+            ss_customer_sk = c_customer_sk
+            and ss_sold_date_sk = d_date_sk
+            and d_year in (1999, 1999 + 1, 1999 + 2, 1999 + 3)
+         group by
+            c_customer_sk
+      )
+),
+best_ss_customer as (
+   select
+      c_customer_sk,
+      sum(ss_quantity * ss_sales_price) ssales
+   from
+      store_sales,
+      customer
+   where
+      ss_customer_sk = c_customer_sk
+   group by
+      c_customer_sk
+   having
+      sum(ss_quantity * ss_sales_price) > (95 / 100.0) * (
+         select
+            *
+         from
+            max_store_sales
+      )
+)
+select
+   c_last_name,
+   c_first_name,
+   sales
+from
+   (
+      select
+         c_last_name,
+         c_first_name,
+         sum(cs_quantity * cs_list_price) sales
+      from
+         catalog_sales,
+         customer,
+         date_dim
+      where
+         d_year = 1999
+         and d_moy = 1
+         and cs_sold_date_sk = d_date_sk
+         and cs_item_sk in (
+            select
+               item_sk
+            from
+               frequent_ss_items
+         )
+         and cs_bill_customer_sk in (
+            select
+               c_customer_sk
+            from
+               best_ss_customer
+         )
+         and cs_bill_customer_sk = c_customer_sk
+      group by
+         c_last_name,
+         c_first_name
+      union
+      all
+      select
+         c_last_name,
+         c_first_name,
+         sum(ws_quantity * ws_list_price) sales
+      from
+         web_sales,
+         customer,
+         date_dim
+      where
+         d_year = 1999
+         and d_moy = 1
+         and ws_sold_date_sk = d_date_sk
+         and ws_item_sk in (
+            select
+               item_sk
+            from
+               frequent_ss_items
+         )
+         and ws_bill_customer_sk in (
+            select
+               c_customer_sk
+            from
+               best_ss_customer
+         )
+         and ws_bill_customer_sk = c_customer_sk
+      group by
+         c_last_name,
+         c_first_name
+   )
+order by
+   c_last_name,
+   c_first_name,
+   sales
+limit
+   100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q24a.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q24a.sql
new file mode 100644
index 000000000..280177e7f
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q24a.sql
@@ -0,0 +1,83 @@
+--
+-- 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.
+--
+-- q24a --
+with ssales as (
+       select
+              c_last_name,
+              c_first_name,
+              s_store_name,
+              ca_state,
+              s_state,
+              i_color,
+              i_current_price,
+              i_manager_id,
+              i_units,
+              i_size,
+              sum(ss_sales_price) netpaid
+       from
+              store_sales,
+              store_returns,
+              store,
+              item,
+              customer,
+              customer_address
+       where
+              ss_ticket_number = sr_ticket_number
+              and ss_item_sk = sr_item_sk
+              and ss_customer_sk = c_customer_sk
+              and ss_item_sk = i_item_sk
+              and ss_store_sk = s_store_sk
+              and c_current_addr_sk = ca_address_sk
+              and c_birth_country <> upper(ca_country)
+              and s_zip = ca_zip
+              and s_market_id = 7
+       group by
+              c_last_name,
+              c_first_name,
+              s_store_name,
+              ca_state,
+              s_state,
+              i_color,
+              i_current_price,
+              i_manager_id,
+              i_units,
+              i_size
+)
+select
+       c_last_name,
+       c_first_name,
+       s_store_name,
+       sum(netpaid) paid
+from
+       ssales
+where
+       i_color = 'orchid'
+group by
+       c_last_name,
+       c_first_name,
+       s_store_name
+having
+       sum(netpaid) > (
+              select
+                     0.05 * avg(netpaid)
+              from
+                     ssales
+       )
+order by
+       c_last_name,
+       c_first_name,
+       s_store_name;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q24b.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q24b.sql
new file mode 100644
index 000000000..0bae81854
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q24b.sql
@@ -0,0 +1,83 @@
+--
+-- 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.
+--
+-- q24b --
+with ssales as (
+       select
+              c_last_name,
+              c_first_name,
+              s_store_name,
+              ca_state,
+              s_state,
+              i_color,
+              i_current_price,
+              i_manager_id,
+              i_units,
+              i_size,
+              sum(ss_sales_price) netpaid
+       from
+              store_sales,
+              store_returns,
+              store,
+              item,
+              customer,
+              customer_address
+       where
+              ss_ticket_number = sr_ticket_number
+              and ss_item_sk = sr_item_sk
+              and ss_customer_sk = c_customer_sk
+              and ss_item_sk = i_item_sk
+              and ss_store_sk = s_store_sk
+              and c_current_addr_sk = ca_address_sk
+              and c_birth_country <> upper(ca_country)
+              and s_zip = ca_zip
+              and s_market_id = 7
+       group by
+              c_last_name,
+              c_first_name,
+              s_store_name,
+              ca_state,
+              s_state,
+              i_color,
+              i_current_price,
+              i_manager_id,
+              i_units,
+              i_size
+)
+select
+       c_last_name,
+       c_first_name,
+       s_store_name,
+       sum(netpaid) paid
+from
+       ssales
+where
+       i_color = 'chiffon'
+group by
+       c_last_name,
+       c_first_name,
+       s_store_name
+having
+       sum(netpaid) > (
+              select
+                     0.05 * avg(netpaid)
+              from
+                     ssales
+       )
+order by
+       c_last_name,
+       c_first_name,
+       s_store_name;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q25.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q25.sql
new file mode 100644
index 000000000..ff27e8ec8
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q25.sql
@@ -0,0 +1,65 @@
+--
+-- 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.
+--
+-- q25 --
+select
+       i_item_id,
+       i_item_desc,
+       s_store_id,
+       s_store_name,
+       sum(ss_net_profit) as store_sales_profit,
+       sum(sr_net_loss) as store_returns_loss,
+       sum(cs_net_profit) as catalog_sales_profit
+from
+       store_sales,
+       store_returns,
+       catalog_sales,
+       date_dim d1,
+       date_dim d2,
+       date_dim d3,
+       store,
+       item
+where
+       d1.d_moy = 4
+       and d1.d_year = 2000
+       and d1.d_date_sk = ss_sold_date_sk
+       and i_item_sk = ss_item_sk
+       and s_store_sk = ss_store_sk
+       and ss_customer_sk = sr_customer_sk
+       and ss_item_sk = sr_item_sk
+       and ss_ticket_number = sr_ticket_number
+       and sr_returned_date_sk = d2.d_date_sk
+       and d2.d_moy between 4
+       and 10
+       and d2.d_year = 2000
+       and sr_customer_sk = cs_bill_customer_sk
+       and sr_item_sk = cs_item_sk
+       and cs_sold_date_sk = d3.d_date_sk
+       and d3.d_moy between 4
+       and 10
+       and d3.d_year = 2000
+group by
+       i_item_id,
+       i_item_desc,
+       s_store_id,
+       s_store_name
+order by
+       i_item_id,
+       i_item_desc,
+       s_store_id,
+       s_store_name
+limit
+       100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q26.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q26.sql
new file mode 100644
index 000000000..401d421df
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q26.sql
@@ -0,0 +1,48 @@
+--
+-- 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.
+--
+-- q26 --
+select
+  i_item_id,
+  avg(cs_quantity) agg1,
+  avg(cs_list_price) agg2,
+  avg(cs_coupon_amt) agg3,
+  avg(cs_sales_price) agg4
+from
+  catalog_sales,
+  customer_demographics,
+  date_dim,
+  item,
+  promotion
+where
+  cs_sold_date_sk = d_date_sk
+  and cs_item_sk = i_item_sk
+  and cs_bill_cdemo_sk = cd_demo_sk
+  and cs_promo_sk = p_promo_sk
+  and cd_gender = 'F'
+  and cd_marital_status = 'W'
+  and cd_education_status = 'Primary'
+  and (
+    p_channel_email = 'N'
+    or p_channel_event = 'N'
+  )
+  and d_year = 1998
+group by
+  i_item_id
+order by
+  i_item_id
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q27.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q27.sql
new file mode 100644
index 000000000..98caea454
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q27.sql
@@ -0,0 +1,48 @@
+--
+-- 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.
+--
+-- q27 --
+select
+  i_item_id,
+  s_state,
+  grouping (s_state) g_state,
+  avg(ss_quantity) agg1,
+  avg(ss_list_price) agg2,
+  avg(ss_coupon_amt) agg3,
+  avg(ss_sales_price) agg4
+from
+  store_sales,
+  customer_demographics,
+  date_dim,
+  store,
+  item
+where
+  ss_sold_date_sk = d_date_sk
+  and ss_item_sk = i_item_sk
+  and ss_store_sk = s_store_sk
+  and ss_cdemo_sk = cd_demo_sk
+  and cd_gender = 'F'
+  and cd_marital_status = 'W'
+  and cd_education_status = 'Primary'
+  and d_year = 1998
+  and s_state in ('TN', 'TN', 'TN', 'TN', 'TN', 'TN')
+group by
+  rollup (i_item_id, s_state)
+order by
+  i_item_id,
+  s_state
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q28.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q28.sql
new file mode 100644
index 000000000..df5c615fa
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q28.sql
@@ -0,0 +1,136 @@
+--
+-- 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.
+--
+-- q28 --
+select
+  *
+from
+  (
+    select
+      avg(ss_list_price) B1_LP,
+      count(ss_list_price) B1_CNT,
+      count(distinct ss_list_price) B1_CNTD
+    from
+      store_sales
+    where
+      ss_quantity between 0
+      and 5
+      and (
+        ss_list_price between 11
+        and 11 + 10
+        or ss_coupon_amt between 460
+        and 460 + 1000
+        or ss_wholesale_cost between 14
+        and 14 + 20
+      )
+  ) B1,
+  (
+    select
+      avg(ss_list_price) B2_LP,
+      count(ss_list_price) B2_CNT,
+      count(distinct ss_list_price) B2_CNTD
+    from
+      store_sales
+    where
+      ss_quantity between 6
+      and 10
+      and (
+        ss_list_price between 91
+        and 91 + 10
+        or ss_coupon_amt between 1430
+        and 1430 + 1000
+        or ss_wholesale_cost between 32
+        and 32 + 20
+      )
+  ) B2,
+  (
+    select
+      avg(ss_list_price) B3_LP,
+      count(ss_list_price) B3_CNT,
+      count(distinct ss_list_price) B3_CNTD
+    from
+      store_sales
+    where
+      ss_quantity between 11
+      and 15
+      and (
+        ss_list_price between 66
+        and 66 + 10
+        or ss_coupon_amt between 920
+        and 920 + 1000
+        or ss_wholesale_cost between 4
+        and 4 + 20
+      )
+  ) B3,
+  (
+    select
+      avg(ss_list_price) B4_LP,
+      count(ss_list_price) B4_CNT,
+      count(distinct ss_list_price) B4_CNTD
+    from
+      store_sales
+    where
+      ss_quantity between 16
+      and 20
+      and (
+        ss_list_price between 142
+        and 142 + 10
+        or ss_coupon_amt between 3054
+        and 3054 + 1000
+        or ss_wholesale_cost between 80
+        and 80 + 20
+      )
+  ) B4,
+  (
+    select
+      avg(ss_list_price) B5_LP,
+      count(ss_list_price) B5_CNT,
+      count(distinct ss_list_price) B5_CNTD
+    from
+      store_sales
+    where
+      ss_quantity between 21
+      and 25
+      and (
+        ss_list_price between 135
+        and 135 + 10
+        or ss_coupon_amt between 14180
+        and 14180 + 1000
+        or ss_wholesale_cost between 38
+        and 38 + 20
+      )
+  ) B5,
+  (
+    select
+      avg(ss_list_price) B6_LP,
+      count(ss_list_price) B6_CNT,
+      count(distinct ss_list_price) B6_CNTD
+    from
+      store_sales
+    where
+      ss_quantity between 26
+      and 30
+      and (
+        ss_list_price between 28
+        and 28 + 10
+        or ss_coupon_amt between 2513
+        and 2513 + 1000
+        or ss_wholesale_cost between 42
+        and 42 + 20
+      )
+  ) B6
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q29.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q29.sql
new file mode 100644
index 000000000..480d8ca97
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q29.sql
@@ -0,0 +1,63 @@
+--
+-- 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.
+--
+-- q29 --
+select
+       i_item_id,
+       i_item_desc,
+       s_store_id,
+       s_store_name,
+       sum(ss_quantity) as store_sales_quantity,
+       sum(sr_return_quantity) as store_returns_quantity,
+       sum(cs_quantity) as catalog_sales_quantity
+from
+       store_sales,
+       store_returns,
+       catalog_sales,
+       date_dim d1,
+       date_dim d2,
+       date_dim d3,
+       store,
+       item
+where
+       d1.d_moy = 4
+       and d1.d_year = 1999
+       and d1.d_date_sk = ss_sold_date_sk
+       and i_item_sk = ss_item_sk
+       and s_store_sk = ss_store_sk
+       and ss_customer_sk = sr_customer_sk
+       and ss_item_sk = sr_item_sk
+       and ss_ticket_number = sr_ticket_number
+       and sr_returned_date_sk = d2.d_date_sk
+       and d2.d_moy between 4
+       and 4 + 3
+       and d2.d_year = 1999
+       and sr_customer_sk = cs_bill_customer_sk
+       and sr_item_sk = cs_item_sk
+       and cs_sold_date_sk = d3.d_date_sk
+       and d3.d_year in (1999, 1999 + 1, 1999 + 2)
+group by
+       i_item_id,
+       i_item_desc,
+       s_store_id,
+       s_store_name
+order by
+       i_item_id,
+       i_item_desc,
+       s_store_id,
+       s_store_name
+limit
+       100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q3.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q3.sql
new file mode 100644
index 000000000..e823f0e25
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q3.sql
@@ -0,0 +1,41 @@
+--
+-- 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.
+--
+-- q3 --
+select
+       dt.d_year,
+       item.i_brand_id brand_id,
+       item.i_brand brand,
+       sum(ss_ext_sales_price) sum_agg
+from
+       date_dim dt,
+       store_sales,
+       item
+where
+       dt.d_date_sk = store_sales.ss_sold_date_sk
+       and store_sales.ss_item_sk = item.i_item_sk
+       and item.i_manufact_id = 436
+       and dt.d_moy = 12
+group by
+       dt.d_year,
+       item.i_brand,
+       item.i_brand_id
+order by
+       dt.d_year,
+       sum_agg desc,
+       brand_id
+limit
+       100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q30.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q30.sql
new file mode 100644
index 000000000..7f5fbb2e0
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q30.sql
@@ -0,0 +1,80 @@
+--
+-- 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.
+--
+-- q30 --
+with customer_total_return as (
+   select
+      wr_returning_customer_sk as ctr_customer_sk,
+      ca_state as ctr_state,
+      sum(wr_return_amt) as ctr_total_return
+   from
+      web_returns,
+      date_dim,
+      customer_address
+   where
+      wr_returned_date_sk = d_date_sk
+      and d_year = 2002
+      and wr_returning_addr_sk = ca_address_sk
+   group by
+      wr_returning_customer_sk,
+      ca_state
+)
+select
+   c_customer_id,
+   c_salutation,
+   c_first_name,
+   c_last_name,
+   c_preferred_cust_flag,
+   c_birth_day,
+   c_birth_month,
+   c_birth_year,
+   c_birth_country,
+   c_login,
+   c_email_address,
+   c_last_review_date_sk,
+   ctr_total_return
+from
+   customer_total_return ctr1,
+   customer_address,
+   customer
+where
+   ctr1.ctr_total_return > (
+      select
+         avg(ctr_total_return) * 1.2
+      from
+         customer_total_return ctr2
+      where
+         ctr1.ctr_state = ctr2.ctr_state
+   )
+   and ca_address_sk = c_current_addr_sk
+   and ca_state = 'IL'
+   and ctr1.ctr_customer_sk = c_customer_sk
+order by
+   c_customer_id,
+   c_salutation,
+   c_first_name,
+   c_last_name,
+   c_preferred_cust_flag,
+   c_birth_day,
+   c_birth_month,
+   c_birth_year,
+   c_birth_country,
+   c_login,
+   c_email_address,
+   c_last_review_date_sk,
+   ctr_total_return
+limit
+   100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q31.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q31.sql
new file mode 100644
index 000000000..06c7d2e85
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q31.sql
@@ -0,0 +1,101 @@
+--
+-- 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.
+--
+-- q31 --
+with ss as (
+  select
+    ca_county,
+    d_qoy,
+    d_year,
+    sum(ss_ext_sales_price) as store_sales
+  from
+    store_sales,
+    date_dim,
+    customer_address
+  where
+    ss_sold_date_sk = d_date_sk
+    and ss_addr_sk = ca_address_sk
+  group by
+    ca_county,
+    d_qoy,
+    d_year
+),
+ws as (
+  select
+    ca_county,
+    d_qoy,
+    d_year,
+    sum(ws_ext_sales_price) as web_sales
+  from
+    web_sales,
+    date_dim,
+    customer_address
+  where
+    ws_sold_date_sk = d_date_sk
+    and ws_bill_addr_sk = ca_address_sk
+  group by
+    ca_county,
+    d_qoy,
+    d_year
+)
+select
+  ss1.ca_county,
+  ss1.d_year,
+  ws2.web_sales / ws1.web_sales web_q1_q2_increase,
+  ss2.store_sales / ss1.store_sales store_q1_q2_increase,
+  ws3.web_sales / ws2.web_sales web_q2_q3_increase,
+  ss3.store_sales / ss2.store_sales store_q2_q3_increase
+from
+  ss ss1,
+  ss ss2,
+  ss ss3,
+  ws ws1,
+  ws ws2,
+  ws ws3
+where
+  ss1.d_qoy = 1
+  and ss1.d_year = 2000
+  and ss1.ca_county = ss2.ca_county
+  and ss2.d_qoy = 2
+  and ss2.d_year = 2000
+  and ss2.ca_county = ss3.ca_county
+  and ss3.d_qoy = 3
+  and ss3.d_year = 2000
+  and ss1.ca_county = ws1.ca_county
+  and ws1.d_qoy = 1
+  and ws1.d_year = 2000
+  and ws1.ca_county = ws2.ca_county
+  and ws2.d_qoy = 2
+  and ws2.d_year = 2000
+  and ws1.ca_county = ws3.ca_county
+  and ws3.d_qoy = 3
+  and ws3.d_year = 2000
+  and case
+    when ws1.web_sales > 0 then ws2.web_sales / ws1.web_sales
+    else null
+  end > case
+    when ss1.store_sales > 0 then ss2.store_sales / ss1.store_sales
+    else null
+  end
+  and case
+    when ws2.web_sales > 0 then ws3.web_sales / ws2.web_sales
+    else null
+  end > case
+    when ss2.store_sales > 0 then ss3.store_sales / ss2.store_sales
+    else null
+  end
+order by
+  ss1.d_year;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q32.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q32.sql
new file mode 100644
index 000000000..b09f43eb9
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q32.sql
@@ -0,0 +1,43 @@
+--
+-- 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.
+--
+-- q32 --
+select
+  sum(cs_ext_discount_amt) as `excess discount amount`
+from
+  catalog_sales,
+  item,
+  date_dim
+where
+  i_manufact_id = 269
+  and i_item_sk = cs_item_sk
+  and d_date between '1998-03-18'
+  and (cast('1998-03-18' as date) + interval 90 days)
+  and d_date_sk = cs_sold_date_sk
+  and cs_ext_discount_amt > (
+    select
+      1.3 * avg(cs_ext_discount_amt)
+    from
+      catalog_sales,
+      date_dim
+    where
+      cs_item_sk = i_item_sk
+      and d_date between '1998-03-18'
+      and (cast('1998-03-18' as date) + interval 90 days)
+      and d_date_sk = cs_sold_date_sk
+  )
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q33.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q33.sql
new file mode 100644
index 000000000..0e15da398
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q33.sql
@@ -0,0 +1,126 @@
+--
+-- 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.
+--
+-- q33 --
+with ss as (
+     select
+          i_manufact_id,
+          sum(ss_ext_sales_price) total_sales
+     from
+          store_sales,
+          date_dim,
+          customer_address,
+          item
+     where
+          i_manufact_id in (
+               select
+                    i_manufact_id
+               from
+                    item
+               where
+                    i_category in ('Books')
+          )
+          and ss_item_sk = i_item_sk
+          and ss_sold_date_sk = d_date_sk
+          and d_year = 1999
+          and d_moy = 3
+          and ss_addr_sk = ca_address_sk
+          and ca_gmt_offset = -5
+     group by
+          i_manufact_id
+),
+cs as (
+     select
+          i_manufact_id,
+          sum(cs_ext_sales_price) total_sales
+     from
+          catalog_sales,
+          date_dim,
+          customer_address,
+          item
+     where
+          i_manufact_id in (
+               select
+                    i_manufact_id
+               from
+                    item
+               where
+                    i_category in ('Books')
+          )
+          and cs_item_sk = i_item_sk
+          and cs_sold_date_sk = d_date_sk
+          and d_year = 1999
+          and d_moy = 3
+          and cs_bill_addr_sk = ca_address_sk
+          and ca_gmt_offset = -5
+     group by
+          i_manufact_id
+),
+ws as (
+     select
+          i_manufact_id,
+          sum(ws_ext_sales_price) total_sales
+     from
+          web_sales,
+          date_dim,
+          customer_address,
+          item
+     where
+          i_manufact_id in (
+               select
+                    i_manufact_id
+               from
+                    item
+               where
+                    i_category in ('Books')
+          )
+          and ws_item_sk = i_item_sk
+          and ws_sold_date_sk = d_date_sk
+          and d_year = 1999
+          and d_moy = 3
+          and ws_bill_addr_sk = ca_address_sk
+          and ca_gmt_offset = -5
+     group by
+          i_manufact_id
+)
+select
+     i_manufact_id,
+     sum(total_sales) total_sales
+from
+     (
+          select
+               *
+          from
+               ss
+          union
+          all
+          select
+               *
+          from
+               cs
+          union
+          all
+          select
+               *
+          from
+               ws
+     ) tmp1
+group by
+     i_manufact_id
+order by
+     total_sales
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q34.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q34.sql
new file mode 100644
index 000000000..48f364dd8
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q34.sql
@@ -0,0 +1,82 @@
+--
+-- 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.
+--
+-- q34 --
+select
+     c_last_name,
+     c_first_name,
+     c_salutation,
+     c_preferred_cust_flag,
+     ss_ticket_number,
+     cnt
+from
+     (
+          select
+               ss_ticket_number,
+               ss_customer_sk,
+               count(*) cnt
+          from
+               store_sales,
+               date_dim,
+               store,
+               household_demographics
+          where
+               store_sales.ss_sold_date_sk = date_dim.d_date_sk
+               and store_sales.ss_store_sk = store.s_store_sk
+               and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
+               and (
+                    date_dim.d_dom between 1
+                    and 3
+                    or date_dim.d_dom between 25
+                    and 28
+               )
+               and (
+                    household_demographics.hd_buy_potential = '>10000'
+                    or household_demographics.hd_buy_potential = 'Unknown'
+               )
+               and household_demographics.hd_vehicle_count > 0
+               and (
+                    case
+                         when household_demographics.hd_vehicle_count > 0 then household_demographics.hd_dep_count / household_demographics.hd_vehicle_count
+                         else null
+                    end
+               ) > 1.2
+               and date_dim.d_year in (1998, 1998 + 1, 1998 + 2)
+               and store.s_county in (
+                    'Williamson County',
+                    'Williamson County',
+                    'Williamson County',
+                    'Williamson County',
+                    'Williamson County',
+                    'Williamson County',
+                    'Williamson County',
+                    'Williamson County'
+               )
+          group by
+               ss_ticket_number,
+               ss_customer_sk
+     ) dn,
+     customer
+where
+     ss_customer_sk = c_customer_sk
+     and cnt between 15
+     and 20
+order by
+     c_last_name,
+     c_first_name,
+     c_salutation,
+     c_preferred_cust_flag desc,
+     ss_ticket_number;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q35.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q35.sql
new file mode 100644
index 000000000..870c7d575
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q35.sql
@@ -0,0 +1,97 @@
+--
+-- 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.
+--
+-- q35 --
+select
+     ca_state,
+     cd_gender,
+     cd_marital_status,
+     cd_dep_count,
+     count(*) cnt1,
+     avg(cd_dep_count),
+     max(cd_dep_count),
+     sum(cd_dep_count),
+     cd_dep_employed_count,
+     count(*) cnt2,
+     avg(cd_dep_employed_count),
+     max(cd_dep_employed_count),
+     sum(cd_dep_employed_count),
+     cd_dep_college_count,
+     count(*) cnt3,
+     avg(cd_dep_college_count),
+     max(cd_dep_college_count),
+     sum(cd_dep_college_count)
+from
+     customer c,
+     customer_address ca,
+     customer_demographics
+where
+     c.c_current_addr_sk = ca.ca_address_sk
+     and cd_demo_sk = c.c_current_cdemo_sk
+     and exists (
+          select
+               *
+          from
+               store_sales,
+               date_dim
+          where
+               c.c_customer_sk = ss_customer_sk
+               and ss_sold_date_sk = d_date_sk
+               and d_year = 1999
+               and d_qoy < 4
+     )
+     and (
+          exists (
+               select
+                    *
+               from
+                    web_sales,
+                    date_dim
+               where
+                    c.c_customer_sk = ws_bill_customer_sk
+                    and ws_sold_date_sk = d_date_sk
+                    and d_year = 1999
+                    and d_qoy < 4
+          )
+          or exists (
+               select
+                    *
+               from
+                    catalog_sales,
+                    date_dim
+               where
+                    c.c_customer_sk = cs_ship_customer_sk
+                    and cs_sold_date_sk = d_date_sk
+                    and d_year = 1999
+                    and d_qoy < 4
+          )
+     )
+group by
+     ca_state,
+     cd_gender,
+     cd_marital_status,
+     cd_dep_count,
+     cd_dep_employed_count,
+     cd_dep_college_count
+order by
+     ca_state,
+     cd_gender,
+     cd_marital_status,
+     cd_dep_count,
+     cd_dep_employed_count,
+     cd_dep_college_count
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q36.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q36.sql
new file mode 100644
index 000000000..fa83d5aa1
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q36.sql
@@ -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.
+--
+-- q36 --
+select
+   sum(ss_net_profit) / sum(ss_ext_sales_price) as gross_margin,
+   i_category,
+   i_class,
+   grouping (i_category) + grouping (i_class) as lochierarchy,
+   rank() over (
+      partition by grouping (i_category) + grouping (i_class),
+      case
+         when grouping (i_class) = 0 then i_category
+      end
+      order by
+         sum(ss_net_profit) / sum(ss_ext_sales_price) asc
+   ) as rank_within_parent
+from
+   store_sales,
+   date_dim d1,
+   item,
+   store
+where
+   d1.d_year = 2000
+   and d1.d_date_sk = ss_sold_date_sk
+   and i_item_sk = ss_item_sk
+   and s_store_sk = ss_store_sk
+   and s_state in (
+      'TN',
+      'TN',
+      'TN',
+      'TN',
+      'TN',
+      'TN',
+      'TN',
+      'TN'
+   )
+group by
+   rollup (i_category, i_class)
+order by
+   lochierarchy desc,
+   case
+      when lochierarchy = 0 then i_category
+   end,
+   rank_within_parent
+limit
+   100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q37.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q37.sql
new file mode 100644
index 000000000..167372139
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q37.sql
@@ -0,0 +1,45 @@
+--
+-- 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.
+--
+-- q37 --
+select
+  i_item_id,
+  i_item_desc,
+  i_current_price
+from
+  item,
+  inventory,
+  date_dim,
+  catalog_sales
+where
+  i_current_price between 22
+  and 22 + 30
+  and inv_item_sk = i_item_sk
+  and d_date_sk = inv_date_sk
+  and d_date between cast('2001-06-02' as date)
+  and (cast('2001-06-02' as date) + interval 60 days)
+  and i_manufact_id in (678, 964, 918, 849)
+  and inv_quantity_on_hand between 100
+  and 500
+  and cs_item_sk = i_item_sk
+group by
+  i_item_id,
+  i_item_desc,
+  i_current_price
+order by
+  i_item_id
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q38.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q38.sql
new file mode 100644
index 000000000..c7a2d7c6b
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q38.sql
@@ -0,0 +1,65 @@
+--
+-- 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.
+--
+-- q38 --
+select
+     count(*)
+from
+     (
+          select
+               distinct c_last_name,
+               c_first_name,
+               d_date
+          from
+               store_sales,
+               date_dim,
+               customer
+          where
+               store_sales.ss_sold_date_sk = date_dim.d_date_sk
+               and store_sales.ss_customer_sk = customer.c_customer_sk
+               and d_month_seq between 1212
+               and 1212 + 11
+          intersect
+          select
+               distinct c_last_name,
+               c_first_name,
+               d_date
+          from
+               catalog_sales,
+               date_dim,
+               customer
+          where
+               catalog_sales.cs_sold_date_sk = date_dim.d_date_sk
+               and catalog_sales.cs_bill_customer_sk = customer.c_customer_sk
+               and d_month_seq between 1212
+               and 1212 + 11
+          intersect
+          select
+               distinct c_last_name,
+               c_first_name,
+               d_date
+          from
+               web_sales,
+               date_dim,
+               customer
+          where
+               web_sales.ws_sold_date_sk = date_dim.d_date_sk
+               and web_sales.ws_bill_customer_sk = customer.c_customer_sk
+               and d_month_seq between 1212
+               and 1212 + 11
+     ) hot_cust
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q39a.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q39a.sql
new file mode 100644
index 000000000..5647b5145
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q39a.sql
@@ -0,0 +1,90 @@
+--
+-- 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.
+--
+-- q39a --
+with inv as (
+  select
+    w_warehouse_name,
+    w_warehouse_sk,
+    i_item_sk,
+    d_moy,
+    stdev,
+    mean,
+    case
+      mean
+      when 0 then null
+      else stdev / mean
+    end cov
+  from
+    (
+      select
+        w_warehouse_name,
+        w_warehouse_sk,
+        i_item_sk,
+        d_moy,
+        stddev_samp(inv_quantity_on_hand) stdev,
+        avg(inv_quantity_on_hand) mean
+      from
+        inventory,
+        item,
+        warehouse,
+        date_dim
+      where
+        inv_item_sk = i_item_sk
+        and inv_warehouse_sk = w_warehouse_sk
+        and inv_date_sk = d_date_sk
+        and d_year = 1998
+      group by
+        w_warehouse_name,
+        w_warehouse_sk,
+        i_item_sk,
+        d_moy
+    ) foo
+  where
+    case
+      mean
+      when 0 then 0
+      else stdev / mean
+    end > 1
+)
+select
+  inv1.w_warehouse_sk,
+  inv1.i_item_sk,
+  inv1.d_moy,
+  inv1.mean,
+  inv1.cov,
+  inv2.w_warehouse_sk,
+  inv2.i_item_sk,
+  inv2.d_moy,
+  inv2.mean,
+  inv2.cov
+from
+  inv inv1,
+  inv inv2
+where
+  inv1.i_item_sk = inv2.i_item_sk
+  and inv1.w_warehouse_sk = inv2.w_warehouse_sk
+  and inv1.d_moy = 4
+  and inv2.d_moy = 4 + 1
+order by
+  inv1.w_warehouse_sk,
+  inv1.i_item_sk,
+  inv1.d_moy,
+  inv1.mean,
+  inv1.cov,
+  inv2.d_moy,
+  inv2.mean,
+  inv2.cov;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q39b.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q39b.sql
new file mode 100644
index 000000000..22f2be995
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q39b.sql
@@ -0,0 +1,91 @@
+--
+-- 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.
+--
+-- q39b --
+with inv as (
+  select
+    w_warehouse_name,
+    w_warehouse_sk,
+    i_item_sk,
+    d_moy,
+    stdev,
+    mean,
+    case
+      mean
+      when 0 then null
+      else stdev / mean
+    end cov
+  from
+    (
+      select
+        w_warehouse_name,
+        w_warehouse_sk,
+        i_item_sk,
+        d_moy,
+        stddev_samp(inv_quantity_on_hand) stdev,
+        avg(inv_quantity_on_hand) mean
+      from
+        inventory,
+        item,
+        warehouse,
+        date_dim
+      where
+        inv_item_sk = i_item_sk
+        and inv_warehouse_sk = w_warehouse_sk
+        and inv_date_sk = d_date_sk
+        and d_year = 1998
+      group by
+        w_warehouse_name,
+        w_warehouse_sk,
+        i_item_sk,
+        d_moy
+    ) foo
+  where
+    case
+      mean
+      when 0 then 0
+      else stdev / mean
+    end > 1
+)
+select
+  inv1.w_warehouse_sk,
+  inv1.i_item_sk,
+  inv1.d_moy,
+  inv1.mean,
+  inv1.cov,
+  inv2.w_warehouse_sk,
+  inv2.i_item_sk,
+  inv2.d_moy,
+  inv2.mean,
+  inv2.cov
+from
+  inv inv1,
+  inv inv2
+where
+  inv1.i_item_sk = inv2.i_item_sk
+  and inv1.w_warehouse_sk = inv2.w_warehouse_sk
+  and inv1.d_moy = 4
+  and inv2.d_moy = 4 + 1
+  and inv1.cov > 1.5
+order by
+  inv1.w_warehouse_sk,
+  inv1.i_item_sk,
+  inv1.d_moy,
+  inv1.mean,
+  inv1.cov,
+  inv2.d_moy,
+  inv2.mean,
+  inv2.cov;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q4.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q4.sql
new file mode 100644
index 000000000..d59d83a8f
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q4.sql
@@ -0,0 +1,180 @@
+--
+-- 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.
+--
+-- q4 --
+with year_total as (
+   select
+      c_customer_id customer_id,
+      c_first_name customer_first_name,
+      c_last_name customer_last_name,
+      c_preferred_cust_flag customer_preferred_cust_flag,
+      c_birth_country customer_birth_country,
+      c_login customer_login,
+      c_email_address customer_email_address,
+      d_year dyear,
+      sum(
+         (
+            (
+               ss_ext_list_price - ss_ext_wholesale_cost - ss_ext_discount_amt
+            ) + ss_ext_sales_price
+         ) / 2
+      ) year_total,
+      's' sale_type
+   from
+      customer,
+      store_sales,
+      date_dim
+   where
+      c_customer_sk = ss_customer_sk
+      and ss_sold_date_sk = d_date_sk
+   group by
+      c_customer_id,
+      c_first_name,
+      c_last_name,
+      c_preferred_cust_flag,
+      c_birth_country,
+      c_login,
+      c_email_address,
+      d_year
+   union
+   all
+   select
+      c_customer_id customer_id,
+      c_first_name customer_first_name,
+      c_last_name customer_last_name,
+      c_preferred_cust_flag customer_preferred_cust_flag,
+      c_birth_country customer_birth_country,
+      c_login customer_login,
+      c_email_address customer_email_address,
+      d_year dyear,
+      sum(
+         (
+            (
+               (
+                  cs_ext_list_price - cs_ext_wholesale_cost - cs_ext_discount_amt
+               ) + cs_ext_sales_price
+            ) / 2
+         )
+      ) year_total,
+      'c' sale_type
+   from
+      customer,
+      catalog_sales,
+      date_dim
+   where
+      c_customer_sk = cs_bill_customer_sk
+      and cs_sold_date_sk = d_date_sk
+   group by
+      c_customer_id,
+      c_first_name,
+      c_last_name,
+      c_preferred_cust_flag,
+      c_birth_country,
+      c_login,
+      c_email_address,
+      d_year
+   union
+   all
+   select
+      c_customer_id customer_id,
+      c_first_name customer_first_name,
+      c_last_name customer_last_name,
+      c_preferred_cust_flag customer_preferred_cust_flag,
+      c_birth_country customer_birth_country,
+      c_login customer_login,
+      c_email_address customer_email_address,
+      d_year dyear,
+      sum(
+         (
+            (
+               (
+                  ws_ext_list_price - ws_ext_wholesale_cost - ws_ext_discount_amt
+               ) + ws_ext_sales_price
+            ) / 2
+         )
+      ) year_total,
+      'w' sale_type
+   from
+      customer,
+      web_sales,
+      date_dim
+   where
+      c_customer_sk = ws_bill_customer_sk
+      and ws_sold_date_sk = d_date_sk
+   group by
+      c_customer_id,
+      c_first_name,
+      c_last_name,
+      c_preferred_cust_flag,
+      c_birth_country,
+      c_login,
+      c_email_address,
+      d_year
+)
+select
+   t_s_secyear.customer_id,
+   t_s_secyear.customer_first_name,
+   t_s_secyear.customer_last_name,
+   t_s_secyear.customer_email_address
+from
+   year_total t_s_firstyear,
+   year_total t_s_secyear,
+   year_total t_c_firstyear,
+   year_total t_c_secyear,
+   year_total t_w_firstyear,
+   year_total t_w_secyear
+where
+   t_s_secyear.customer_id = t_s_firstyear.customer_id
+   and t_s_firstyear.customer_id = t_c_secyear.customer_id
+   and t_s_firstyear.customer_id = t_c_firstyear.customer_id
+   and t_s_firstyear.customer_id = t_w_firstyear.customer_id
+   and t_s_firstyear.customer_id = t_w_secyear.customer_id
+   and t_s_firstyear.sale_type = 's'
+   and t_c_firstyear.sale_type = 'c'
+   and t_w_firstyear.sale_type = 'w'
+   and t_s_secyear.sale_type = 's'
+   and t_c_secyear.sale_type = 'c'
+   and t_w_secyear.sale_type = 'w'
+   and t_s_firstyear.dyear = 2001
+   and t_s_secyear.dyear = 2001 + 1
+   and t_c_firstyear.dyear = 2001
+   and t_c_secyear.dyear = 2001 + 1
+   and t_w_firstyear.dyear = 2001
+   and t_w_secyear.dyear = 2001 + 1
+   and t_s_firstyear.year_total > 0
+   and t_c_firstyear.year_total > 0
+   and t_w_firstyear.year_total > 0
+   and case
+      when t_c_firstyear.year_total > 0 then t_c_secyear.year_total / t_c_firstyear.year_total
+      else null
+   end > case
+      when t_s_firstyear.year_total > 0 then t_s_secyear.year_total / t_s_firstyear.year_total
+      else null
+   end
+   and case
+      when t_c_firstyear.year_total > 0 then t_c_secyear.year_total / t_c_firstyear.year_total
+      else null
+   end > case
+      when t_w_firstyear.year_total > 0 then t_w_secyear.year_total / t_w_firstyear.year_total
+      else null
+   end
+order by
+   t_s_secyear.customer_id,
+   t_s_secyear.customer_first_name,
+   t_s_secyear.customer_last_name,
+   t_s_secyear.customer_email_address
+limit
+   100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q40.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q40.sql
new file mode 100644
index 000000000..3ca5e0310
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q40.sql
@@ -0,0 +1,61 @@
+--
+-- 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.
+--
+-- q40 --
+select
+    w_state,
+    i_item_id,
+    sum(
+        case
+            when (
+                cast(d_date as date) < cast('1998-04-08' as date)
+            ) then cs_sales_price - coalesce(cr_refunded_cash, 0)
+            else 0
+        end
+    ) as sales_before,
+    sum(
+        case
+            when (
+                cast(d_date as date) >= cast('1998-04-08' as date)
+            ) then cs_sales_price - coalesce(cr_refunded_cash, 0)
+            else 0
+        end
+    ) as sales_after
+from
+    catalog_sales
+    left outer join catalog_returns on (
+        cs_order_number = cr_order_number
+        and cs_item_sk = cr_item_sk
+    ),
+    warehouse,
+    item,
+    date_dim
+where
+    i_current_price between 0.99
+    and 1.49
+    and i_item_sk = cs_item_sk
+    and cs_warehouse_sk = w_warehouse_sk
+    and cs_sold_date_sk = d_date_sk
+    and d_date between (cast('1998-04-08' as date) - interval 30 days)
+    and (cast('1998-04-08' as date) + interval 30 days)
+group by
+    w_state,
+    i_item_id
+order by
+    w_state,
+    i_item_id
+limit
+    100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q41.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q41.sql
new file mode 100644
index 000000000..9e2812f54
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q41.sql
@@ -0,0 +1,165 @@
+--
+-- 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.
+--
+-- q41 --
+select
+   distinct(i_product_name)
+from
+   item i1
+where
+   i_manufact_id between 742
+   and 742 + 40
+   and (
+      select
+         count(*) as item_cnt
+      from
+         item
+      where
+         (
+            i_manufact = i1.i_manufact
+            and (
+               (
+                  i_category = 'Women'
+                  and (
+                     i_color = 'orchid'
+                     or i_color = 'papaya'
+                  )
+                  and (
+                     i_units = 'Pound'
+                     or i_units = 'Lb'
+                  )
+                  and (
+                     i_size = 'petite'
+                     or i_size = 'medium'
+                  )
+               )
+               or (
+                  i_category = 'Women'
+                  and (
+                     i_color = 'burlywood'
+                     or i_color = 'navy'
+                  )
+                  and (
+                     i_units = 'Bundle'
+                     or i_units = 'Each'
+                  )
+                  and (
+                     i_size = 'N/A'
+                     or i_size = 'extra large'
+                  )
+               )
+               or (
+                  i_category = 'Men'
+                  and (
+                     i_color = 'bisque'
+                     or i_color = 'azure'
+                  )
+                  and (
+                     i_units = 'N/A'
+                     or i_units = 'Tsp'
+                  )
+                  and (
+                     i_size = 'small'
+                     or i_size = 'large'
+                  )
+               )
+               or (
+                  i_category = 'Men'
+                  and (
+                     i_color = 'chocolate'
+                     or i_color = 'cornflower'
+                  )
+                  and (
+                     i_units = 'Bunch'
+                     or i_units = 'Gross'
+                  )
+                  and (
+                     i_size = 'petite'
+                     or i_size = 'medium'
+                  )
+               )
+            )
+         )
+         or (
+            i_manufact = i1.i_manufact
+            and (
+               (
+                  i_category = 'Women'
+                  and (
+                     i_color = 'salmon'
+                     or i_color = 'midnight'
+                  )
+                  and (
+                     i_units = 'Oz'
+                     or i_units = 'Box'
+                  )
+                  and (
+                     i_size = 'petite'
+                     or i_size = 'medium'
+                  )
+               )
+               or (
+                  i_category = 'Women'
+                  and (
+                     i_color = 'snow'
+                     or i_color = 'steel'
+                  )
+                  and (
+                     i_units = 'Carton'
+                     or i_units = 'Tbl'
+                  )
+                  and (
+                     i_size = 'N/A'
+                     or i_size = 'extra large'
+                  )
+               )
+               or (
+                  i_category = 'Men'
+                  and (
+                     i_color = 'purple'
+                     or i_color = 'gainsboro'
+                  )
+                  and (
+                     i_units = 'Dram'
+                     or i_units = 'Unknown'
+                  )
+                  and (
+                     i_size = 'small'
+                     or i_size = 'large'
+                  )
+               )
+               or (
+                  i_category = 'Men'
+                  and (
+                     i_color = 'metallic'
+                     or i_color = 'forest'
+                  )
+                  and (
+                     i_units = 'Gram'
+                     or i_units = 'Ounce'
+                  )
+                  and (
+                     i_size = 'petite'
+                     or i_size = 'medium'
+                  )
+               )
+            )
+         )
+   ) > 0
+order by
+   i_product_name
+limit
+   100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q42.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q42.sql
new file mode 100644
index 000000000..0716cbc93
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q42.sql
@@ -0,0 +1,43 @@
+--
+-- 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.
+--
+-- q42 --
+select
+       dt.d_year,
+       item.i_category_id,
+       item.i_category,
+       sum(ss_ext_sales_price)
+from
+       date_dim dt,
+       store_sales,
+       item
+where
+       dt.d_date_sk = store_sales.ss_sold_date_sk
+       and store_sales.ss_item_sk = item.i_item_sk
+       and item.i_manager_id = 1
+       and dt.d_moy = 12
+       and dt.d_year = 1998
+group by
+       dt.d_year,
+       item.i_category_id,
+       item.i_category
+order by
+       sum(ss_ext_sales_price) desc,
+       dt.d_year,
+       item.i_category_id,
+       item.i_category
+limit
+       100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q43.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q43.sql
new file mode 100644
index 000000000..bb8e306e9
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q43.sql
@@ -0,0 +1,86 @@
+--
+-- 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.
+--
+-- q43 --
+select
+  s_store_name,
+  s_store_id,
+  sum(
+    case
+      when (d_day_name = 'Sunday') then ss_sales_price
+      else null
+    end
+  ) sun_sales,
+  sum(
+    case
+      when (d_day_name = 'Monday') then ss_sales_price
+      else null
+    end
+  ) mon_sales,
+  sum(
+    case
+      when (d_day_name = 'Tuesday') then ss_sales_price
+      else null
+    end
+  ) tue_sales,
+  sum(
+    case
+      when (d_day_name = 'Wednesday') then ss_sales_price
+      else null
+    end
+  ) wed_sales,
+  sum(
+    case
+      when (d_day_name = 'Thursday') then ss_sales_price
+      else null
+    end
+  ) thu_sales,
+  sum(
+    case
+      when (d_day_name = 'Friday') then ss_sales_price
+      else null
+    end
+  ) fri_sales,
+  sum(
+    case
+      when (d_day_name = 'Saturday') then ss_sales_price
+      else null
+    end
+  ) sat_sales
+from
+  date_dim,
+  store_sales,
+  store
+where
+  d_date_sk = ss_sold_date_sk
+  and s_store_sk = ss_store_sk
+  and s_gmt_offset = -5
+  and d_year = 1998
+group by
+  s_store_name,
+  s_store_id
+order by
+  s_store_name,
+  s_store_id,
+  sun_sales,
+  mon_sales,
+  tue_sales,
+  wed_sales,
+  thu_sales,
+  fri_sales,
+  sat_sales
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q44.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q44.sql
new file mode 100644
index 000000000..79471e4e4
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q44.sql
@@ -0,0 +1,110 @@
+--
+-- 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.
+--
+-- q44 --
+select
+  asceding.rnk,
+  i1.i_product_name best_performing,
+  i2.i_product_name worst_performing
+from
+  (
+    select
+      *
+    from
+      (
+        select
+          item_sk,
+          rank() over (
+            order by
+              rank_col asc
+          ) rnk
+        from
+          (
+            select
+              ss_item_sk item_sk,
+              avg(ss_net_profit) rank_col
+            from
+              store_sales ss1
+            where
+              ss_store_sk = 2
+            group by
+              ss_item_sk
+            having
+              avg(ss_net_profit) > 0.9 * (
+                select
+                  avg(ss_net_profit) rank_col
+                from
+                  store_sales
+                where
+                  ss_store_sk = 2
+                  and ss_hdemo_sk is null
+                group by
+                  ss_store_sk
+              )
+          ) V1
+      ) V11
+    where
+      rnk < 11
+  ) asceding,
+  (
+    select
+      *
+    from
+      (
+        select
+          item_sk,
+          rank() over (
+            order by
+              rank_col desc
+          ) rnk
+        from
+          (
+            select
+              ss_item_sk item_sk,
+              avg(ss_net_profit) rank_col
+            from
+              store_sales ss1
+            where
+              ss_store_sk = 2
+            group by
+              ss_item_sk
+            having
+              avg(ss_net_profit) > 0.9 * (
+                select
+                  avg(ss_net_profit) rank_col
+                from
+                  store_sales
+                where
+                  ss_store_sk = 2
+                  and ss_hdemo_sk is null
+                group by
+                  ss_store_sk
+              )
+          ) V2
+      ) V21
+    where
+      rnk < 11
+  ) descending,
+  item i1,
+  item i2
+where
+  asceding.rnk = descending.rnk
+  and i1.i_item_sk = asceding.item_sk
+  and i2.i_item_sk = descending.item_sk
+order by
+  asceding.rnk
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q45.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q45.sql
new file mode 100644
index 000000000..dde36269b
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q45.sql
@@ -0,0 +1,63 @@
+--
+-- 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.
+--
+-- q45 --
+select
+  ca_zip,
+  ca_county,
+  sum(ws_sales_price)
+from
+  web_sales,
+  customer,
+  customer_address,
+  date_dim,
+  item
+where
+  ws_bill_customer_sk = c_customer_sk
+  and c_current_addr_sk = ca_address_sk
+  and ws_item_sk = i_item_sk
+  and (
+    substr(ca_zip, 1, 5) in (
+      '85669',
+      '86197',
+      '88274',
+      '83405',
+      '86475',
+      '85392',
+      '85460',
+      '80348',
+      '81792'
+    )
+    or i_item_id in (
+      select
+        i_item_id
+      from
+        item
+      where
+        i_item_sk in (2, 3, 5, 7, 11, 13, 17, 19, 23, 29)
+    )
+  )
+  and ws_sold_date_sk = d_date_sk
+  and d_qoy = 2
+  and d_year = 2000
+group by
+  ca_zip,
+  ca_county
+order by
+  ca_zip,
+  ca_county
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q46.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q46.sql
new file mode 100644
index 000000000..a573dccde
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q46.sql
@@ -0,0 +1,77 @@
+--
+-- 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.
+--
+-- q46 --
+select
+     c_last_name,
+     c_first_name,
+     ca_city,
+     bought_city,
+     ss_ticket_number,
+     amt,
+     profit
+from
+     (
+          select
+               ss_ticket_number,
+               ss_customer_sk,
+               ca_city bought_city,
+               sum(ss_coupon_amt) amt,
+               sum(ss_net_profit) profit
+          from
+               store_sales,
+               date_dim,
+               store,
+               household_demographics,
+               customer_address
+          where
+               store_sales.ss_sold_date_sk = date_dim.d_date_sk
+               and store_sales.ss_store_sk = store.s_store_sk
+               and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
+               and store_sales.ss_addr_sk = customer_address.ca_address_sk
+               and (
+                    household_demographics.hd_dep_count = 5
+                    or household_demographics.hd_vehicle_count = 3
+               )
+               and date_dim.d_dow in (6, 0)
+               and date_dim.d_year in (1999, 1999 + 1, 1999 + 2)
+               and store.s_city in (
+                    'Midway',
+                    'Fairview',
+                    'Fairview',
+                    'Midway',
+                    'Fairview'
+               )
+          group by
+               ss_ticket_number,
+               ss_customer_sk,
+               ss_addr_sk,
+               ca_city
+     ) dn,
+     customer,
+     customer_address current_addr
+where
+     ss_customer_sk = c_customer_sk
+     and customer.c_current_addr_sk = current_addr.ca_address_sk
+     and current_addr.ca_city <> bought_city
+order by
+     c_last_name,
+     c_first_name,
+     ca_city,
+     bought_city,
+     ss_ticket_number
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q47.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q47.sql
new file mode 100644
index 000000000..8632d7b26
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q47.sql
@@ -0,0 +1,112 @@
+--
+-- 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.
+--
+-- q47 --
+with v1 as (
+     select
+          i_category,
+          i_brand,
+          s_store_name,
+          s_company_name,
+          d_year,
+          d_moy,
+          sum(ss_sales_price) sum_sales,
+          avg(sum(ss_sales_price)) over (
+               partition by i_category,
+               i_brand,
+               s_store_name,
+               s_company_name,
+               d_year
+          ) avg_monthly_sales,
+          rank() over (
+               partition by i_category,
+               i_brand,
+               s_store_name,
+               s_company_name
+               order by
+                    d_year,
+                    d_moy
+          ) rn
+     from
+          item,
+          store_sales,
+          date_dim,
+          store
+     where
+          ss_item_sk = i_item_sk
+          and ss_sold_date_sk = d_date_sk
+          and ss_store_sk = s_store_sk
+          and (
+               d_year = 2000
+               or (
+                    d_year = 2000 - 1
+                    and d_moy = 12
+               )
+               or (
+                    d_year = 2000 + 1
+                    and d_moy = 1
+               )
+          )
+     group by
+          i_category,
+          i_brand,
+          s_store_name,
+          s_company_name,
+          d_year,
+          d_moy
+),
+v2 as (
+     select
+          v1.i_category,
+          v1.i_brand,
+          v1.d_year,
+          v1.d_moy,
+          v1.avg_monthly_sales,
+          v1.sum_sales,
+          v1_lag.sum_sales psum,
+          v1_lead.sum_sales nsum
+     from
+          v1,
+          v1 v1_lag,
+          v1 v1_lead
+     where
+          v1.i_category = v1_lag.i_category
+          and v1.i_category = v1_lead.i_category
+          and v1.i_brand = v1_lag.i_brand
+          and v1.i_brand = v1_lead.i_brand
+          and v1.s_store_name = v1_lag.s_store_name
+          and v1.s_store_name = v1_lead.s_store_name
+          and v1.s_company_name = v1_lag.s_company_name
+          and v1.s_company_name = v1_lead.s_company_name
+          and v1.rn = v1_lag.rn + 1
+          and v1.rn = v1_lead.rn - 1
+)
+select
+     *
+from
+     v2
+where
+     d_year = 2000
+     and avg_monthly_sales > 0
+     and case
+          when avg_monthly_sales > 0 then abs(sum_sales - avg_monthly_sales) / avg_monthly_sales
+          else null
+     end > 0.1
+order by
+     sum_sales - avg_monthly_sales,
+     nsum
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q48.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q48.sql
new file mode 100644
index 000000000..ecae61a7a
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q48.sql
@@ -0,0 +1,75 @@
+--
+-- 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.
+--
+-- q48 --
+select
+    sum(ss_quantity)
+from
+    store_sales,
+    store,
+    customer_demographics,
+    customer_address,
+    date_dim
+where
+    s_store_sk = ss_store_sk
+    and ss_sold_date_sk = d_date_sk
+    and d_year = 1998
+    and (
+        (
+            cd_demo_sk = ss_cdemo_sk
+            and cd_marital_status = 'M'
+            and cd_education_status = '4 yr Degree'
+            and ss_sales_price between 100.00
+            and 150.00
+        )
+        or (
+            cd_demo_sk = ss_cdemo_sk
+            and cd_marital_status = 'D'
+            and cd_education_status = 'Primary'
+            and ss_sales_price between 50.00
+            and 100.00
+        )
+        or (
+            cd_demo_sk = ss_cdemo_sk
+            and cd_marital_status = 'U'
+            and cd_education_status = 'Advanced Degree'
+            and ss_sales_price between 150.00
+            and 200.00
+        )
+    )
+    and (
+        (
+            ss_addr_sk = ca_address_sk
+            and ca_country = 'United States'
+            and ca_state in ('KY', 'GA', 'NM')
+            and ss_net_profit between 0
+            and 2000
+        )
+        or (
+            ss_addr_sk = ca_address_sk
+            and ca_country = 'United States'
+            and ca_state in ('MT', 'OR', 'IN')
+            and ss_net_profit between 150
+            and 3000
+        )
+        or (
+            ss_addr_sk = ca_address_sk
+            and ca_country = 'United States'
+            and ca_state in ('WI', 'MO', 'WV')
+            and ss_net_profit between 50
+            and 25000
+        )
+    );
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q49.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q49.sql
new file mode 100644
index 000000000..8eec88c22
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q49.sql
@@ -0,0 +1,221 @@
+--
+-- 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.
+--
+-- q49 --
+select
+   channel,
+   item,
+   return_ratio,
+   return_rank,
+   currency_rank
+from
+   (
+      select
+         'web' as channel,
+         web.item,
+         web.return_ratio,
+         web.return_rank,
+         web.currency_rank
+      from
+         (
+            select
+               item,
+               return_ratio,
+               currency_ratio,
+               rank() over (
+                  order by
+                     return_ratio
+               ) as return_rank,
+               rank() over (
+                  order by
+                     currency_ratio
+               ) as currency_rank
+            from
+               (
+                  select
+                     ws.ws_item_sk as item,
+                     (
+                        cast(
+                           sum(coalesce(wr.wr_return_quantity, 0)) as decimal(15, 4)
+                        ) / cast(
+                           sum(coalesce(ws.ws_quantity, 0)) as decimal(15, 4)
+                        )
+                     ) as return_ratio,
+                     (
+                        cast(
+                           sum(coalesce(wr.wr_return_amt, 0)) as decimal(15, 4)
+                        ) / cast(
+                           sum(coalesce(ws.ws_net_paid, 0)) as decimal(15, 4)
+                        )
+                     ) as currency_ratio
+                  from
+                     web_sales ws
+                     left outer join web_returns wr on (
+                        ws.ws_order_number = wr.wr_order_number
+                        and ws.ws_item_sk = wr.wr_item_sk
+                     ),
+                     date_dim
+                  where
+                     wr.wr_return_amt > 10000
+                     and ws.ws_net_profit > 1
+                     and ws.ws_net_paid > 0
+                     and ws.ws_quantity > 0
+                     and ws_sold_date_sk = d_date_sk
+                     and d_year = 2000
+                     and d_moy = 12
+                  group by
+                     ws.ws_item_sk
+               ) in_web
+         ) web
+      where
+         (
+            web.return_rank <= 10
+            or web.currency_rank <= 10
+         )
+      union
+      select
+         'catalog' as channel,
+         catalog.item,
+         catalog.return_ratio,
+         catalog.return_rank,
+         catalog.currency_rank
+      from
+         (
+            select
+               item,
+               return_ratio,
+               currency_ratio,
+               rank() over (
+                  order by
+                     return_ratio
+               ) as return_rank,
+               rank() over (
+                  order by
+                     currency_ratio
+               ) as currency_rank
+            from
+               (
+                  select
+                     cs.cs_item_sk as item,
+                     (
+                        cast(
+                           sum(coalesce(cr.cr_return_quantity, 0)) as decimal(15, 4)
+                        ) / cast(
+                           sum(coalesce(cs.cs_quantity, 0)) as decimal(15, 4)
+                        )
+                     ) as return_ratio,
+                     (
+                        cast(
+                           sum(coalesce(cr.cr_return_amount, 0)) as decimal(15, 4)
+                        ) / cast(
+                           sum(coalesce(cs.cs_net_paid, 0)) as decimal(15, 4)
+                        )
+                     ) as currency_ratio
+                  from
+                     catalog_sales cs
+                     left outer join catalog_returns cr on (
+                        cs.cs_order_number = cr.cr_order_number
+                        and cs.cs_item_sk = cr.cr_item_sk
+                     ),
+                     date_dim
+                  where
+                     cr.cr_return_amount > 10000
+                     and cs.cs_net_profit > 1
+                     and cs.cs_net_paid > 0
+                     and cs.cs_quantity > 0
+                     and cs_sold_date_sk = d_date_sk
+                     and d_year = 2000
+                     and d_moy = 12
+                  group by
+                     cs.cs_item_sk
+               ) in_cat
+         ) catalog
+      where
+         (
+            catalog.return_rank <= 10
+            or catalog.currency_rank <= 10
+         )
+      union
+      select
+         'store' as channel,
+         store.item,
+         store.return_ratio,
+         store.return_rank,
+         store.currency_rank
+      from
+         (
+            select
+               item,
+               return_ratio,
+               currency_ratio,
+               rank() over (
+                  order by
+                     return_ratio
+               ) as return_rank,
+               rank() over (
+                  order by
+                     currency_ratio
+               ) as currency_rank
+            from
+               (
+                  select
+                     sts.ss_item_sk as item,
+                     (
+                        cast(
+                           sum(coalesce(sr.sr_return_quantity, 0)) as decimal(15, 4)
+                        ) / cast(
+                           sum(coalesce(sts.ss_quantity, 0)) as decimal(15, 4)
+                        )
+                     ) as return_ratio,
+                     (
+                        cast(
+                           sum(coalesce(sr.sr_return_amt, 0)) as decimal(15, 4)
+                        ) / cast(
+                           sum(coalesce(sts.ss_net_paid, 0)) as decimal(15, 4)
+                        )
+                     ) as currency_ratio
+                  from
+                     store_sales sts
+                     left outer join store_returns sr on (
+                        sts.ss_ticket_number = sr.sr_ticket_number
+                        and sts.ss_item_sk = sr.sr_item_sk
+                     ),
+                     date_dim
+                  where
+                     sr.sr_return_amt > 10000
+                     and sts.ss_net_profit > 1
+                     and sts.ss_net_paid > 0
+                     and sts.ss_quantity > 0
+                     and ss_sold_date_sk = d_date_sk
+                     and d_year = 2000
+                     and d_moy = 12
+                  group by
+                     sts.ss_item_sk
+               ) in_store
+         ) store
+      where
+         (
+            store.return_rank <= 10
+            or store.currency_rank <= 10
+         )
+   )
+order by
+   1,
+   4,
+   5,
+   2
+limit
+   100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q5.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q5.sql
new file mode 100644
index 000000000..8d0136d79
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q5.sql
@@ -0,0 +1,185 @@
+--
+-- 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.
+--
+-- q5 --
+with ssr as (
+  select
+    s_store_id,
+    sum(sales_price) as sales,
+    sum(profit) as profit,
+    sum(return_amt) as returns,
+    sum(net_loss) as profit_loss
+  from
+    (
+      select
+        ss_store_sk as store_sk,
+        ss_sold_date_sk as date_sk,
+        ss_ext_sales_price as sales_price,
+        ss_net_profit as profit,
+        cast(0 as decimal(7, 2)) as return_amt,
+        cast(0 as decimal(7, 2)) as net_loss
+      from
+        store_sales
+      union
+      all
+      select
+        sr_store_sk as store_sk,
+        sr_returned_date_sk as date_sk,
+        cast(0 as decimal(7, 2)) as sales_price,
+        cast(0 as decimal(7, 2)) as profit,
+        sr_return_amt as return_amt,
+        sr_net_loss as net_loss
+      from
+        store_returns
+    ) salesreturns,
+    date_dim,
+    store
+  where
+    date_sk = d_date_sk
+    and d_date between cast('1998-08-04' as date)
+    and (cast('1998-08-04' as date) + interval 14 days)
+    and store_sk = s_store_sk
+  group by
+    s_store_id
+),
+csr as (
+  select
+    cp_catalog_page_id,
+    sum(sales_price) as sales,
+    sum(profit) as profit,
+    sum(return_amt) as returns,
+    sum(net_loss) as profit_loss
+  from
+    (
+      select
+        cs_catalog_page_sk as page_sk,
+        cs_sold_date_sk as date_sk,
+        cs_ext_sales_price as sales_price,
+        cs_net_profit as profit,
+        cast(0 as decimal(7, 2)) as return_amt,
+        cast(0 as decimal(7, 2)) as net_loss
+      from
+        catalog_sales
+      union
+      all
+      select
+        cr_catalog_page_sk as page_sk,
+        cr_returned_date_sk as date_sk,
+        cast(0 as decimal(7, 2)) as sales_price,
+        cast(0 as decimal(7, 2)) as profit,
+        cr_return_amount as return_amt,
+        cr_net_loss as net_loss
+      from
+        catalog_returns
+    ) salesreturns,
+    date_dim,
+    catalog_page
+  where
+    date_sk = d_date_sk
+    and d_date between cast('1998-08-04' as date)
+    and (cast('1998-08-04' as date) + interval 14 days)
+    and page_sk = cp_catalog_page_sk
+  group by
+    cp_catalog_page_id
+),
+wsr as (
+  select
+    web_site_id,
+    sum(sales_price) as sales,
+    sum(profit) as profit,
+    sum(return_amt) as returns,
+    sum(net_loss) as profit_loss
+  from
+    (
+      select
+        ws_web_site_sk as wsr_web_site_sk,
+        ws_sold_date_sk as date_sk,
+        ws_ext_sales_price as sales_price,
+        ws_net_profit as profit,
+        cast(0 as decimal(7, 2)) as return_amt,
+        cast(0 as decimal(7, 2)) as net_loss
+      from
+        web_sales
+      union
+      all
+      select
+        ws_web_site_sk as wsr_web_site_sk,
+        wr_returned_date_sk as date_sk,
+        cast(0 as decimal(7, 2)) as sales_price,
+        cast(0 as decimal(7, 2)) as profit,
+        wr_return_amt as return_amt,
+        wr_net_loss as net_loss
+      from
+        web_returns
+        left outer join web_sales on (
+          wr_item_sk = ws_item_sk
+          and wr_order_number = ws_order_number
+        )
+    ) salesreturns,
+    date_dim,
+    web_site
+  where
+    date_sk = d_date_sk
+    and d_date between cast('1998-08-04' as date)
+    and (cast('1998-08-04' as date) + interval 14 days)
+    and wsr_web_site_sk = web_site_sk
+  group by
+    web_site_id
+)
+select
+  channel,
+  id,
+  sum(sales) as sales,
+  sum(returns) as returns,
+  sum(profit) as profit
+from
+  (
+    select
+      'store channel' as channel,
+      'store' || s_store_id as id,
+      sales,
+      returns,
+      (profit - profit_loss) as profit
+    from
+      ssr
+    union
+    all
+    select
+      'catalog channel' as channel,
+      'catalog_page' || cp_catalog_page_id as id,
+      sales,
+      returns,
+      (profit - profit_loss) as profit
+    from
+      csr
+    union
+    all
+    select
+      'web channel' as channel,
+      'web_site' || web_site_id as id,
+      sales,
+      returns,
+      (profit - profit_loss) as profit
+    from
+      wsr
+  ) x
+group by
+  rollup (channel, id)
+order by
+  channel,
+  id
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q50.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q50.sql
new file mode 100644
index 000000000..da04a4b40
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q50.sql
@@ -0,0 +1,100 @@
+--
+-- 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.
+--
+-- q50 --
+select
+     s_store_name,
+     s_company_id,
+     s_street_number,
+     s_street_name,
+     s_street_type,
+     s_suite_number,
+     s_city,
+     s_county,
+     s_state,
+     s_zip,
+     sum(
+          case
+               when (sr_returned_date_sk - ss_sold_date_sk <= 30) then 1
+               else 0
+          end
+     ) as `30 days`,
+     sum(
+          case
+               when (sr_returned_date_sk - ss_sold_date_sk > 30)
+               and (sr_returned_date_sk - ss_sold_date_sk <= 60) then 1
+               else 0
+          end
+     ) as `31-60 days`,
+     sum(
+          case
+               when (sr_returned_date_sk - ss_sold_date_sk > 60)
+               and (sr_returned_date_sk - ss_sold_date_sk <= 90) then 1
+               else 0
+          end
+     ) as `61-90 days`,
+     sum(
+          case
+               when (sr_returned_date_sk - ss_sold_date_sk > 90)
+               and (sr_returned_date_sk - ss_sold_date_sk <= 120) then 1
+               else 0
+          end
+     ) as `91-120 days`,
+     sum(
+          case
+               when (sr_returned_date_sk - ss_sold_date_sk > 120) then 1
+               else 0
+          end
+     ) as `>120 days`
+from
+     store_sales,
+     store_returns,
+     store,
+     date_dim d1,
+     date_dim d2
+where
+     d2.d_year = 2000
+     and d2.d_moy = 9
+     and ss_ticket_number = sr_ticket_number
+     and ss_item_sk = sr_item_sk
+     and ss_sold_date_sk = d1.d_date_sk
+     and sr_returned_date_sk = d2.d_date_sk
+     and ss_customer_sk = sr_customer_sk
+     and ss_store_sk = s_store_sk
+group by
+     s_store_name,
+     s_company_id,
+     s_street_number,
+     s_street_name,
+     s_street_type,
+     s_suite_number,
+     s_city,
+     s_county,
+     s_state,
+     s_zip
+order by
+     s_store_name,
+     s_company_id,
+     s_street_number,
+     s_street_name,
+     s_street_type,
+     s_suite_number,
+     s_city,
+     s_county,
+     s_state,
+     s_zip
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q51.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q51.sql
new file mode 100644
index 000000000..8bcf6c5e2
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q51.sql
@@ -0,0 +1,110 @@
+--
+-- 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.
+--
+-- q51 --
+WITH web_v1 as (
+  select
+    ws_item_sk item_sk,
+    d_date,
+    sum(sum(ws_sales_price)) over (
+      partition by ws_item_sk
+      order by
+        d_date rows between unbounded preceding
+        and current row
+    ) cume_sales
+  from
+    web_sales,
+    date_dim
+  where
+    ws_sold_date_sk = d_date_sk
+    and d_month_seq between 1212
+    and 1212 + 11
+    and ws_item_sk is not NULL
+  group by
+    ws_item_sk,
+    d_date
+),
+store_v1 as (
+  select
+    ss_item_sk item_sk,
+    d_date,
+    sum(sum(ss_sales_price)) over (
+      partition by ss_item_sk
+      order by
+        d_date rows between unbounded preceding
+        and current row
+    ) cume_sales
+  from
+    store_sales,
+    date_dim
+  where
+    ss_sold_date_sk = d_date_sk
+    and d_month_seq between 1212
+    and 1212 + 11
+    and ss_item_sk is not NULL
+  group by
+    ss_item_sk,
+    d_date
+)
+select
+  *
+from
+  (
+    select
+      item_sk,
+      d_date,
+      web_sales,
+      store_sales,
+      max(web_sales) over (
+        partition by item_sk
+        order by
+          d_date rows between unbounded preceding
+          and current row
+      ) web_cumulative,
+      max(store_sales) over (
+        partition by item_sk
+        order by
+          d_date rows between unbounded preceding
+          and current row
+      ) store_cumulative
+    from
+      (
+        select
+          case
+            when web.item_sk is not null then web.item_sk
+            else store.item_sk
+          end item_sk,
+          case
+            when web.d_date is not null then web.d_date
+            else store.d_date
+          end d_date,
+          web.cume_sales web_sales,
+          store.cume_sales store_sales
+        from
+          web_v1 web full
+          outer join store_v1 store on (
+            web.item_sk = store.item_sk
+            and web.d_date = store.d_date
+          )
+      ) x
+  ) y
+where
+  web_cumulative > store_cumulative
+order by
+  item_sk,
+  d_date
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q52.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q52.sql
new file mode 100644
index 000000000..1c2ba7f00
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q52.sql
@@ -0,0 +1,42 @@
+--
+-- 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.
+--
+-- q52 --
+select
+       dt.d_year,
+       item.i_brand_id brand_id,
+       item.i_brand brand,
+       sum(ss_ext_sales_price) ext_price
+from
+       date_dim dt,
+       store_sales,
+       item
+where
+       dt.d_date_sk = store_sales.ss_sold_date_sk
+       and store_sales.ss_item_sk = item.i_item_sk
+       and item.i_manager_id = 1
+       and dt.d_moy = 12
+       and dt.d_year = 1998
+group by
+       dt.d_year,
+       item.i_brand,
+       item.i_brand_id
+order by
+       dt.d_year,
+       ext_price desc,
+       brand_id
+limit
+       100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q53.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q53.sql
new file mode 100644
index 000000000..4df9ba5e6
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q53.sql
@@ -0,0 +1,90 @@
+--
+-- 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.
+--
+-- q53 --
+select
+    *
+from
+    (
+        select
+            i_manufact_id,
+            sum(ss_sales_price) sum_sales,
+            avg(sum(ss_sales_price)) over (partition by i_manufact_id) avg_quarterly_sales
+        from
+            item,
+            store_sales,
+            date_dim,
+            store
+        where
+            ss_item_sk = i_item_sk
+            and ss_sold_date_sk = d_date_sk
+            and ss_store_sk = s_store_sk
+            and d_month_seq in (
+                1212,
+                1212 + 1,
+                1212 + 2,
+                1212 + 3,
+                1212 + 4,
+                1212 + 5,
+                1212 + 6,
+                1212 + 7,
+                1212 + 8,
+                1212 + 9,
+                1212 + 10,
+                1212 + 11
+            )
+            and (
+                (
+                    i_category in ('Books', 'Children', 'Electronics')
+                    and i_class in ('personal', 'portable', 'reference', 'self-help')
+                    and i_brand in (
+                        'scholaramalgamalg #14',
+                        'scholaramalgamalg #7',
+                        'exportiunivamalg #9',
+                        'scholaramalgamalg #9'
+                    )
+                )
+                or (
+                    i_category in ('Women', 'Music', 'Men')
+                    and i_class in (
+                        'accessories',
+                        'classical',
+                        'fragrances',
+                        'pants'
+                    )
+                    and i_brand in (
+                        'amalgimporto #1',
+                        'edu packscholar #1',
+                        'exportiimporto #1',
+                        'importoamalg #1'
+                    )
+                )
+            )
+        group by
+            i_manufact_id,
+            d_qoy
+    ) tmp1
+where
+    case
+        when avg_quarterly_sales > 0 then abs(sum_sales - avg_quarterly_sales) / avg_quarterly_sales
+        else null
+    end > 0.1
+order by
+    avg_quarterly_sales,
+    sum_sales,
+    i_manufact_id
+limit
+    100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q54.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q54.sql
new file mode 100644
index 000000000..2110e5ec6
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q54.sql
@@ -0,0 +1,106 @@
+--
+-- 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.
+--
+-- q54 --
+with my_customers as (
+     select
+          distinct c_customer_sk,
+          c_current_addr_sk
+     from
+          (
+               select
+                    cs_sold_date_sk sold_date_sk,
+                    cs_bill_customer_sk customer_sk,
+                    cs_item_sk item_sk
+               from
+                    catalog_sales
+               union
+               all
+               select
+                    ws_sold_date_sk sold_date_sk,
+                    ws_bill_customer_sk customer_sk,
+                    ws_item_sk item_sk
+               from
+                    web_sales
+          ) cs_or_ws_sales,
+          item,
+          date_dim,
+          customer
+     where
+          sold_date_sk = d_date_sk
+          and item_sk = i_item_sk
+          and i_category = 'Jewelry'
+          and i_class = 'consignment'
+          and c_customer_sk = cs_or_ws_sales.customer_sk
+          and d_moy = 3
+          and d_year = 1999
+),
+my_revenue as (
+     select
+          c_customer_sk,
+          sum(ss_ext_sales_price) as revenue
+     from
+          my_customers,
+          store_sales,
+          customer_address,
+          store,
+          date_dim
+     where
+          c_current_addr_sk = ca_address_sk
+          and ca_county = s_county
+          and ca_state = s_state
+          and ss_sold_date_sk = d_date_sk
+          and c_customer_sk = ss_customer_sk
+          and d_month_seq between (
+               select
+                    distinct d_month_seq + 1
+               from
+                    date_dim
+               where
+                    d_year = 1999
+                    and d_moy = 3
+          )
+          and (
+               select
+                    distinct d_month_seq + 3
+               from
+                    date_dim
+               where
+                    d_year = 1999
+                    and d_moy = 3
+          )
+     group by
+          c_customer_sk
+),
+segments as (
+     select
+          cast((revenue / 50) as int) as segment
+     from
+          my_revenue
+)
+select
+     segment,
+     count(*) as num_customers,
+     segment * 50 as segment_base
+from
+     segments
+group by
+     segment
+order by
+     segment,
+     num_customers
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q55.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q55.sql
new file mode 100644
index 000000000..85fb9fd75
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q55.sql
@@ -0,0 +1,39 @@
+--
+-- 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.
+--
+-- q55 --
+select
+  i_brand_id brand_id,
+  i_brand brand,
+  sum(ss_ext_sales_price) ext_price
+from
+  date_dim,
+  store_sales,
+  item
+where
+  d_date_sk = ss_sold_date_sk
+  and ss_item_sk = i_item_sk
+  and i_manager_id = 36
+  and d_moy = 12
+  and d_year = 2001
+group by
+  i_brand,
+  i_brand_id
+order by
+  ext_price desc,
+  i_brand_id
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q56.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q56.sql
new file mode 100644
index 000000000..56ce5a33d
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q56.sql
@@ -0,0 +1,127 @@
+--
+-- 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.
+--
+-- q56 --
+with ss as (
+     select
+          i_item_id,
+          sum(ss_ext_sales_price) total_sales
+     from
+          store_sales,
+          date_dim,
+          customer_address,
+          item
+     where
+          i_item_id in (
+               select
+                    i_item_id
+               from
+                    item
+               where
+                    i_color in ('orchid', 'chiffon', 'lace')
+          )
+          and ss_item_sk = i_item_sk
+          and ss_sold_date_sk = d_date_sk
+          and d_year = 2000
+          and d_moy = 1
+          and ss_addr_sk = ca_address_sk
+          and ca_gmt_offset = -8
+     group by
+          i_item_id
+),
+cs as (
+     select
+          i_item_id,
+          sum(cs_ext_sales_price) total_sales
+     from
+          catalog_sales,
+          date_dim,
+          customer_address,
+          item
+     where
+          i_item_id in (
+               select
+                    i_item_id
+               from
+                    item
+               where
+                    i_color in ('orchid', 'chiffon', 'lace')
+          )
+          and cs_item_sk = i_item_sk
+          and cs_sold_date_sk = d_date_sk
+          and d_year = 2000
+          and d_moy = 1
+          and cs_bill_addr_sk = ca_address_sk
+          and ca_gmt_offset = -8
+     group by
+          i_item_id
+),
+ws as (
+     select
+          i_item_id,
+          sum(ws_ext_sales_price) total_sales
+     from
+          web_sales,
+          date_dim,
+          customer_address,
+          item
+     where
+          i_item_id in (
+               select
+                    i_item_id
+               from
+                    item
+               where
+                    i_color in ('orchid', 'chiffon', 'lace')
+          )
+          and ws_item_sk = i_item_sk
+          and ws_sold_date_sk = d_date_sk
+          and d_year = 2000
+          and d_moy = 1
+          and ws_bill_addr_sk = ca_address_sk
+          and ca_gmt_offset = -8
+     group by
+          i_item_id
+)
+select
+     i_item_id,
+     sum(total_sales) total_sales
+from
+     (
+          select
+               *
+          from
+               ss
+          union
+          all
+          select
+               *
+          from
+               cs
+          union
+          all
+          select
+               *
+          from
+               ws
+     ) tmp1
+group by
+     i_item_id
+order by
+     total_sales,
+     i_item_id
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q57.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q57.sql
new file mode 100644
index 000000000..ef4485d69
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q57.sql
@@ -0,0 +1,105 @@
+--
+-- 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.
+--
+-- q57 --
+with v1 as (
+     select
+          i_category,
+          i_brand,
+          cc_name,
+          d_year,
+          d_moy,
+          sum(cs_sales_price) sum_sales,
+          avg(sum(cs_sales_price)) over (
+               partition by i_category,
+               i_brand,
+               cc_name,
+               d_year
+          ) avg_monthly_sales,
+          rank() over (
+               partition by i_category,
+               i_brand,
+               cc_name
+               order by
+                    d_year,
+                    d_moy
+          ) rn
+     from
+          item,
+          catalog_sales,
+          date_dim,
+          call_center
+     where
+          cs_item_sk = i_item_sk
+          and cs_sold_date_sk = d_date_sk
+          and cc_call_center_sk = cs_call_center_sk
+          and (
+               d_year = 2000
+               or (
+                    d_year = 2000 - 1
+                    and d_moy = 12
+               )
+               or (
+                    d_year = 2000 + 1
+                    and d_moy = 1
+               )
+          )
+     group by
+          i_category,
+          i_brand,
+          cc_name,
+          d_year,
+          d_moy
+),
+v2 as (
+     select
+          v1.cc_name,
+          v1.d_year,
+          v1.d_moy,
+          v1.avg_monthly_sales,
+          v1.sum_sales,
+          v1_lag.sum_sales psum,
+          v1_lead.sum_sales nsum
+     from
+          v1,
+          v1 v1_lag,
+          v1 v1_lead
+     where
+          v1.i_category = v1_lag.i_category
+          and v1.i_category = v1_lead.i_category
+          and v1.i_brand = v1_lag.i_brand
+          and v1.i_brand = v1_lead.i_brand
+          and v1.cc_name = v1_lag.cc_name
+          and v1.cc_name = v1_lead.cc_name
+          and v1.rn = v1_lag.rn + 1
+          and v1.rn = v1_lead.rn - 1
+)
+select
+     *
+from
+     v2
+where
+     d_year = 2000
+     and avg_monthly_sales > 0
+     and case
+          when avg_monthly_sales > 0 then abs(sum_sales - avg_monthly_sales) / avg_monthly_sales
+          else null
+     end > 0.1
+order by
+     sum_sales - avg_monthly_sales,
+     nsum
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q58.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q58.sql
new file mode 100644
index 000000000..061456a75
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q58.sql
@@ -0,0 +1,137 @@
+--
+-- 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.
+--
+-- q58 --
+with ss_items as (
+  select
+    i_item_id item_id,
+    sum(ss_ext_sales_price) ss_item_rev
+  from
+    store_sales,
+    item,
+    date_dim
+  where
+    ss_item_sk = i_item_sk
+    and d_date in (
+      select
+        d_date
+      from
+        date_dim
+      where
+        d_week_seq = (
+          select
+            d_week_seq
+          from
+            date_dim
+          where
+            d_date = '1998-02-19'
+        )
+    )
+    and ss_sold_date_sk = d_date_sk
+  group by
+    i_item_id
+),
+cs_items as (
+  select
+    i_item_id item_id,
+    sum(cs_ext_sales_price) cs_item_rev
+  from
+    catalog_sales,
+    item,
+    date_dim
+  where
+    cs_item_sk = i_item_sk
+    and d_date in (
+      select
+        d_date
+      from
+        date_dim
+      where
+        d_week_seq = (
+          select
+            d_week_seq
+          from
+            date_dim
+          where
+            d_date = '1998-02-19'
+        )
+    )
+    and cs_sold_date_sk = d_date_sk
+  group by
+    i_item_id
+),
+ws_items as (
+  select
+    i_item_id item_id,
+    sum(ws_ext_sales_price) ws_item_rev
+  from
+    web_sales,
+    item,
+    date_dim
+  where
+    ws_item_sk = i_item_sk
+    and d_date in (
+      select
+        d_date
+      from
+        date_dim
+      where
+        d_week_seq = (
+          select
+            d_week_seq
+          from
+            date_dim
+          where
+            d_date = '1998-02-19'
+        )
+    )
+    and ws_sold_date_sk = d_date_sk
+  group by
+    i_item_id
+)
+select
+  ss_items.item_id,
+  ss_item_rev,
+  ss_item_rev / ((ss_item_rev + cs_item_rev + ws_item_rev) / 3) * 100 ss_dev,
+  cs_item_rev,
+  cs_item_rev / ((ss_item_rev + cs_item_rev + ws_item_rev) / 3) * 100 cs_dev,
+  ws_item_rev,
+  ws_item_rev / ((ss_item_rev + cs_item_rev + ws_item_rev) / 3) * 100 ws_dev,
+  (ss_item_rev + cs_item_rev + ws_item_rev) / 3 average
+from
+  ss_items,
+  cs_items,
+  ws_items
+where
+  ss_items.item_id = cs_items.item_id
+  and ss_items.item_id = ws_items.item_id
+  and ss_item_rev between 0.9 * cs_item_rev
+  and 1.1 * cs_item_rev
+  and ss_item_rev between 0.9 * ws_item_rev
+  and 1.1 * ws_item_rev
+  and cs_item_rev between 0.9 * ss_item_rev
+  and 1.1 * ss_item_rev
+  and cs_item_rev between 0.9 * ws_item_rev
+  and 1.1 * ws_item_rev
+  and ws_item_rev between 0.9 * ss_item_rev
+  and 1.1 * ss_item_rev
+  and ws_item_rev between 0.9 * cs_item_rev
+  and 1.1 * cs_item_rev
+order by
+  item_id,
+  ss_item_rev
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q59.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q59.sql
new file mode 100644
index 000000000..ed8a66646
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q59.sql
@@ -0,0 +1,137 @@
+--
+-- 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.
+--
+-- q59 --
+with wss as (
+     select
+          d_week_seq,
+          ss_store_sk,
+          sum(
+               case
+                    when (d_day_name = 'Sunday') then ss_sales_price
+                    else null
+               end
+          ) sun_sales,
+          sum(
+               case
+                    when (d_day_name = 'Monday') then ss_sales_price
+                    else null
+               end
+          ) mon_sales,
+          sum(
+               case
+                    when (d_day_name = 'Tuesday') then ss_sales_price
+                    else null
+               end
+          ) tue_sales,
+          sum(
+               case
+                    when (d_day_name = 'Wednesday') then ss_sales_price
+                    else null
+               end
+          ) wed_sales,
+          sum(
+               case
+                    when (d_day_name = 'Thursday') then ss_sales_price
+                    else null
+               end
+          ) thu_sales,
+          sum(
+               case
+                    when (d_day_name = 'Friday') then ss_sales_price
+                    else null
+               end
+          ) fri_sales,
+          sum(
+               case
+                    when (d_day_name = 'Saturday') then ss_sales_price
+                    else null
+               end
+          ) sat_sales
+     from
+          store_sales,
+          date_dim
+     where
+          d_date_sk = ss_sold_date_sk
+     group by
+          d_week_seq,
+          ss_store_sk
+)
+select
+     s_store_name1,
+     s_store_id1,
+     d_week_seq1,
+     sun_sales1 / sun_sales2,
+     mon_sales1 / mon_sales2,
+     tue_sales1 / tue_sales2,
+     wed_sales1 / wed_sales2,
+     thu_sales1 / thu_sales2,
+     fri_sales1 / fri_sales2,
+     sat_sales1 / sat_sales2
+from
+     (
+          select
+               s_store_name s_store_name1,
+               wss.d_week_seq d_week_seq1,
+               s_store_id s_store_id1,
+               sun_sales sun_sales1,
+               mon_sales mon_sales1,
+               tue_sales tue_sales1,
+               wed_sales wed_sales1,
+               thu_sales thu_sales1,
+               fri_sales fri_sales1,
+               sat_sales sat_sales1
+          from
+               wss,
+               store,
+               date_dim d
+          where
+               d.d_week_seq = wss.d_week_seq
+               and ss_store_sk = s_store_sk
+               and d_month_seq between 1185
+               and 1185 + 11
+     ) y,
+     (
+          select
+               s_store_name s_store_name2,
+               wss.d_week_seq d_week_seq2,
+               s_store_id s_store_id2,
+               sun_sales sun_sales2,
+               mon_sales mon_sales2,
+               tue_sales tue_sales2,
+               wed_sales wed_sales2,
+               thu_sales thu_sales2,
+               fri_sales fri_sales2,
+               sat_sales sat_sales2
+          from
+               wss,
+               store,
+               date_dim d
+          where
+               d.d_week_seq = wss.d_week_seq
+               and ss_store_sk = s_store_sk
+               and d_month_seq between 1185 + 12
+               and 1185 + 23
+     ) x
+where
+     s_store_id1 = s_store_id2
+     and d_week_seq1 = d_week_seq2 - 52
+order by
+     s_store_name1,
+     s_store_id1,
+     d_week_seq1
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q6.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q6.sql
new file mode 100644
index 000000000..3e638f514
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q6.sql
@@ -0,0 +1,57 @@
+--
+-- 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.
+--
+-- q6 --
+select
+  a.ca_state state,
+  count(*) cnt
+from
+  customer_address a,
+  customer c,
+  store_sales s,
+  date_dim d,
+  item i
+where
+  a.ca_address_sk = c.c_current_addr_sk
+  and c.c_customer_sk = s.ss_customer_sk
+  and s.ss_sold_date_sk = d.d_date_sk
+  and s.ss_item_sk = i.i_item_sk
+  and d.d_month_seq = (
+    select
+      distinct (d_month_seq)
+    from
+      date_dim
+    where
+      d_year = 2000
+      and d_moy = 2
+  )
+  and i.i_current_price > 1.2 * (
+    select
+      avg(j.i_current_price)
+    from
+      item j
+    where
+      j.i_category = i.i_category
+  )
+group by
+  a.ca_state
+having
+  count(*) >= 10
+order by
+  cnt,
+  a.ca_state
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q60.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q60.sql
new file mode 100644
index 000000000..4049e5642
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q60.sql
@@ -0,0 +1,127 @@
+--
+-- 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.
+--
+-- q60 --
+with ss as (
+     select
+          i_item_id,
+          sum(ss_ext_sales_price) total_sales
+     from
+          store_sales,
+          date_dim,
+          customer_address,
+          item
+     where
+          i_item_id in (
+               select
+                    i_item_id
+               from
+                    item
+               where
+                    i_category in ('Children')
+          )
+          and ss_item_sk = i_item_sk
+          and ss_sold_date_sk = d_date_sk
+          and d_year = 1999
+          and d_moy = 9
+          and ss_addr_sk = ca_address_sk
+          and ca_gmt_offset = -6
+     group by
+          i_item_id
+),
+cs as (
+     select
+          i_item_id,
+          sum(cs_ext_sales_price) total_sales
+     from
+          catalog_sales,
+          date_dim,
+          customer_address,
+          item
+     where
+          i_item_id in (
+               select
+                    i_item_id
+               from
+                    item
+               where
+                    i_category in ('Children')
+          )
+          and cs_item_sk = i_item_sk
+          and cs_sold_date_sk = d_date_sk
+          and d_year = 1999
+          and d_moy = 9
+          and cs_bill_addr_sk = ca_address_sk
+          and ca_gmt_offset = -6
+     group by
+          i_item_id
+),
+ws as (
+     select
+          i_item_id,
+          sum(ws_ext_sales_price) total_sales
+     from
+          web_sales,
+          date_dim,
+          customer_address,
+          item
+     where
+          i_item_id in (
+               select
+                    i_item_id
+               from
+                    item
+               where
+                    i_category in ('Children')
+          )
+          and ws_item_sk = i_item_sk
+          and ws_sold_date_sk = d_date_sk
+          and d_year = 1999
+          and d_moy = 9
+          and ws_bill_addr_sk = ca_address_sk
+          and ca_gmt_offset = -6
+     group by
+          i_item_id
+)
+select
+     i_item_id,
+     sum(total_sales) total_sales
+from
+     (
+          select
+               *
+          from
+               ss
+          union
+          all
+          select
+               *
+          from
+               cs
+          union
+          all
+          select
+               *
+          from
+               ws
+     ) tmp1
+group by
+     i_item_id
+order by
+     i_item_id,
+     total_sales
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q61.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q61.sql
new file mode 100644
index 000000000..532f38767
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q61.sql
@@ -0,0 +1,78 @@
+--
+-- 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.
+--
+-- q61 --
+select
+   promotions,
+   total,
+   cast(promotions as decimal(15, 4)) / cast(total as decimal(15, 4)) * 100
+from
+   (
+      select
+         sum(ss_ext_sales_price) promotions
+      from
+         store_sales,
+         store,
+         promotion,
+         date_dim,
+         customer,
+         customer_address,
+         item
+      where
+         ss_sold_date_sk = d_date_sk
+         and ss_store_sk = s_store_sk
+         and ss_promo_sk = p_promo_sk
+         and ss_customer_sk = c_customer_sk
+         and ca_address_sk = c_current_addr_sk
+         and ss_item_sk = i_item_sk
+         and ca_gmt_offset = -7
+         and i_category = 'Books'
+         and (
+            p_channel_dmail = 'Y'
+            or p_channel_email = 'Y'
+            or p_channel_tv = 'Y'
+         )
+         and s_gmt_offset = -7
+         and d_year = 1999
+         and d_moy = 11
+   ) promotional_sales,
+   (
+      select
+         sum(ss_ext_sales_price) total
+      from
+         store_sales,
+         store,
+         date_dim,
+         customer,
+         customer_address,
+         item
+      where
+         ss_sold_date_sk = d_date_sk
+         and ss_store_sk = s_store_sk
+         and ss_customer_sk = c_customer_sk
+         and ca_address_sk = c_current_addr_sk
+         and ss_item_sk = i_item_sk
+         and ca_gmt_offset = -7
+         and i_category = 'Books'
+         and s_gmt_offset = -7
+         and d_year = 1999
+         and d_moy = 11
+   ) all_sales
+order by
+   promotions,
+   total
+limit
+   100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q62.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q62.sql
new file mode 100644
index 000000000..8e56cd145
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q62.sql
@@ -0,0 +1,77 @@
+--
+-- 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.
+--
+-- q62 --
+select
+     substr(w_warehouse_name, 1, 20),
+     sm_type,
+     web_name,
+     sum(
+          case
+               when (ws_ship_date_sk - ws_sold_date_sk <= 30) then 1
+               else 0
+          end
+     ) as `30 days`,
+     sum(
+          case
+               when (ws_ship_date_sk - ws_sold_date_sk > 30)
+               and (ws_ship_date_sk - ws_sold_date_sk <= 60) then 1
+               else 0
+          end
+     ) as `31-60 days`,
+     sum(
+          case
+               when (ws_ship_date_sk - ws_sold_date_sk > 60)
+               and (ws_ship_date_sk - ws_sold_date_sk <= 90) then 1
+               else 0
+          end
+     ) as `61-90 days`,
+     sum(
+          case
+               when (ws_ship_date_sk - ws_sold_date_sk > 90)
+               and (ws_ship_date_sk - ws_sold_date_sk <= 120) then 1
+               else 0
+          end
+     ) as `91-120 days`,
+     sum(
+          case
+               when (ws_ship_date_sk - ws_sold_date_sk > 120) then 1
+               else 0
+          end
+     ) as `>120 days`
+from
+     web_sales,
+     warehouse,
+     ship_mode,
+     web_site,
+     date_dim
+where
+     d_month_seq between 1212
+     and 1212 + 11
+     and ws_ship_date_sk = d_date_sk
+     and ws_warehouse_sk = w_warehouse_sk
+     and ws_ship_mode_sk = sm_ship_mode_sk
+     and ws_web_site_sk = web_site_sk
+group by
+     substr(w_warehouse_name, 1, 20),
+     sm_type,
+     web_name
+order by
+     substr(w_warehouse_name, 1, 20),
+     sm_type,
+     web_name
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q63.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q63.sql
new file mode 100644
index 000000000..31236d7af
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q63.sql
@@ -0,0 +1,90 @@
+--
+-- 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.
+--
+-- q63 --
+select
+  *
+from
+  (
+    select
+      i_manager_id,
+      sum(ss_sales_price) sum_sales,
+      avg(sum(ss_sales_price)) over (partition by i_manager_id) avg_monthly_sales
+    from
+      item,
+      store_sales,
+      date_dim,
+      store
+    where
+      ss_item_sk = i_item_sk
+      and ss_sold_date_sk = d_date_sk
+      and ss_store_sk = s_store_sk
+      and d_month_seq in (
+        1212,
+        1212 + 1,
+        1212 + 2,
+        1212 + 3,
+        1212 + 4,
+        1212 + 5,
+        1212 + 6,
+        1212 + 7,
+        1212 + 8,
+        1212 + 9,
+        1212 + 10,
+        1212 + 11
+      )
+      and (
+        (
+          i_category in ('Books', 'Children', 'Electronics')
+          and i_class in ('personal', 'portable', 'reference', 'self-help')
+          and i_brand in (
+            'scholaramalgamalg #14',
+            'scholaramalgamalg #7',
+            'exportiunivamalg #9',
+            'scholaramalgamalg #9'
+          )
+        )
+        or (
+          i_category in ('Women', 'Music', 'Men')
+          and i_class in (
+            'accessories',
+            'classical',
+            'fragrances',
+            'pants'
+          )
+          and i_brand in (
+            'amalgimporto #1',
+            'edu packscholar #1',
+            'exportiimporto #1',
+            'importoamalg #1'
+          )
+        )
+      )
+    group by
+      i_manager_id,
+      d_moy
+  ) tmp1
+where
+  case
+    when avg_monthly_sales > 0 then abs(sum_sales - avg_monthly_sales) / avg_monthly_sales
+    else null
+  end > 0.1
+order by
+  i_manager_id,
+  avg_monthly_sales,
+  sum_sales
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q64.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q64.sql
new file mode 100644
index 000000000..8ac58c486
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q64.sql
@@ -0,0 +1,164 @@
+--
+-- 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.
+--
+-- q64 --
+with cs_ui as (
+  select
+    cs_item_sk,
+    sum(cs_ext_list_price) as sale,
+    sum(
+      cr_refunded_cash + cr_reversed_charge + cr_store_credit
+    ) as refund
+  from
+    catalog_sales,
+    catalog_returns
+  where
+    cs_item_sk = cr_item_sk
+    and cs_order_number = cr_order_number
+  group by
+    cs_item_sk
+  having
+    sum(cs_ext_list_price) > 2 * sum(
+      cr_refunded_cash + cr_reversed_charge + cr_store_credit
+    )
+),
+cross_sales as (
+  select
+    i_product_name product_name,
+    i_item_sk item_sk,
+    s_store_name store_name,
+    s_zip store_zip,
+    ad1.ca_street_number b_street_number,
+    ad1.ca_street_name b_street_name,
+    ad1.ca_city b_city,
+    ad1.ca_zip b_zip,
+    ad2.ca_street_number c_street_number,
+    ad2.ca_street_name c_street_name,
+    ad2.ca_city c_city,
+    ad2.ca_zip c_zip,
+    d1.d_year as syear,
+    d2.d_year as fsyear,
+    d3.d_year s2year,
+    count(*) cnt,
+    sum(ss_wholesale_cost) s1,
+    sum(ss_list_price) s2,
+    sum(ss_coupon_amt) s3
+  FROM
+    store_sales,
+    store_returns,
+    cs_ui,
+    date_dim d1,
+    date_dim d2,
+    date_dim d3,
+    store,
+    customer,
+    customer_demographics cd1,
+    customer_demographics cd2,
+    promotion,
+    household_demographics hd1,
+    household_demographics hd2,
+    customer_address ad1,
+    customer_address ad2,
+    income_band ib1,
+    income_band ib2,
+    item
+  WHERE
+    ss_store_sk = s_store_sk
+    AND ss_sold_date_sk = d1.d_date_sk
+    AND ss_customer_sk = c_customer_sk
+    AND ss_cdemo_sk = cd1.cd_demo_sk
+    AND ss_hdemo_sk = hd1.hd_demo_sk
+    AND ss_addr_sk = ad1.ca_address_sk
+    and ss_item_sk = i_item_sk
+    and ss_item_sk = sr_item_sk
+    and ss_ticket_number = sr_ticket_number
+    and ss_item_sk = cs_ui.cs_item_sk
+    and c_current_cdemo_sk = cd2.cd_demo_sk
+    AND c_current_hdemo_sk = hd2.hd_demo_sk
+    AND c_current_addr_sk = ad2.ca_address_sk
+    and c_first_sales_date_sk = d2.d_date_sk
+    and c_first_shipto_date_sk = d3.d_date_sk
+    and ss_promo_sk = p_promo_sk
+    and hd1.hd_income_band_sk = ib1.ib_income_band_sk
+    and hd2.hd_income_band_sk = ib2.ib_income_band_sk
+    and cd1.cd_marital_status <> cd2.cd_marital_status
+    and i_color in (
+      'maroon',
+      'burnished',
+      'dim',
+      'steel',
+      'navajo',
+      'chocolate'
+    )
+    and i_current_price between 35
+    and 35 + 10
+    and i_current_price between 35 + 1
+    and 35 + 15
+  group by
+    i_product_name,
+    i_item_sk,
+    s_store_name,
+    s_zip,
+    ad1.ca_street_number,
+    ad1.ca_street_name,
+    ad1.ca_city,
+    ad1.ca_zip,
+    ad2.ca_street_number,
+    ad2.ca_street_name,
+    ad2.ca_city,
+    ad2.ca_zip,
+    d1.d_year,
+    d2.d_year,
+    d3.d_year
+)
+select
+  cs1.product_name,
+  cs1.store_name,
+  cs1.store_zip,
+  cs1.b_street_number,
+  cs1.b_street_name,
+  cs1.b_city,
+  cs1.b_zip,
+  cs1.c_street_number,
+  cs1.c_street_name,
+  cs1.c_city,
+  cs1.c_zip,
+  cs1.syear,
+  cs1.cnt,
+  cs1.s1 as s11,
+  cs1.s2 as s21,
+  cs1.s3 as s31,
+  cs2.s1 as s12,
+  cs2.s2 as s22,
+  cs2.s3 as s32,
+  cs2.syear,
+  cs2.cnt
+from
+  cross_sales cs1,
+  cross_sales cs2
+where
+  cs1.item_sk = cs2.item_sk
+  and cs1.syear = 2000
+  and cs2.syear = 2000 + 1
+  and cs2.cnt <= cs1.cnt
+  and cs1.store_name = cs2.store_name
+  and cs1.store_zip = cs2.store_zip
+order by
+  cs1.product_name,
+  cs1.store_name,
+  cs2.cnt,
+  cs1.s1,
+  cs2.s1;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q65.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q65.sql
new file mode 100644
index 000000000..7efb6fee6
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q65.sql
@@ -0,0 +1,77 @@
+--
+-- 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.
+--
+-- q65 --
+select
+  s_store_name,
+  i_item_desc,
+  sc.revenue,
+  i_current_price,
+  i_wholesale_cost,
+  i_brand
+from
+  store,
+  item,
+  (
+    select
+      ss_store_sk,
+      avg(revenue) as ave
+    from
+      (
+        select
+          ss_store_sk,
+          ss_item_sk,
+          sum(ss_sales_price) as revenue
+        from
+          store_sales,
+          date_dim
+        where
+          ss_sold_date_sk = d_date_sk
+          and d_month_seq between 1212
+          and 1212 + 11
+        group by
+          ss_store_sk,
+          ss_item_sk
+      ) sa
+    group by
+      ss_store_sk
+  ) sb,
+  (
+    select
+      ss_store_sk,
+      ss_item_sk,
+      sum(ss_sales_price) as revenue
+    from
+      store_sales,
+      date_dim
+    where
+      ss_sold_date_sk = d_date_sk
+      and d_month_seq between 1212
+      and 1212 + 11
+    group by
+      ss_store_sk,
+      ss_item_sk
+  ) sc
+where
+  sb.ss_store_sk = sc.ss_store_sk
+  and sc.revenue <= 0.1 * sb.ave
+  and s_store_sk = sc.ss_store_sk
+  and i_item_sk = sc.ss_item_sk
+order by
+  s_store_name,
+  i_item_desc
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q66.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q66.sql
new file mode 100644
index 000000000..866d53367
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q66.sql
@@ -0,0 +1,432 @@
+--
+-- 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.
+--
+-- q66 --
+select
+    w_warehouse_name,
+    w_warehouse_sq_ft,
+    w_city,
+    w_county,
+    w_state,
+    w_country,
+    ship_carriers,
+    year,
+    sum(jan_sales) as jan_sales,
+    sum(feb_sales) as feb_sales,
+    sum(mar_sales) as mar_sales,
+    sum(apr_sales) as apr_sales,
+    sum(may_sales) as may_sales,
+    sum(jun_sales) as jun_sales,
+    sum(jul_sales) as jul_sales,
+    sum(aug_sales) as aug_sales,
+    sum(sep_sales) as sep_sales,
+    sum(oct_sales) as oct_sales,
+    sum(nov_sales) as nov_sales,
+    sum(dec_sales) as dec_sales,
+    sum(jan_sales / w_warehouse_sq_ft) as jan_sales_per_sq_foot,
+    sum(feb_sales / w_warehouse_sq_ft) as feb_sales_per_sq_foot,
+    sum(mar_sales / w_warehouse_sq_ft) as mar_sales_per_sq_foot,
+    sum(apr_sales / w_warehouse_sq_ft) as apr_sales_per_sq_foot,
+    sum(may_sales / w_warehouse_sq_ft) as may_sales_per_sq_foot,
+    sum(jun_sales / w_warehouse_sq_ft) as jun_sales_per_sq_foot,
+    sum(jul_sales / w_warehouse_sq_ft) as jul_sales_per_sq_foot,
+    sum(aug_sales / w_warehouse_sq_ft) as aug_sales_per_sq_foot,
+    sum(sep_sales / w_warehouse_sq_ft) as sep_sales_per_sq_foot,
+    sum(oct_sales / w_warehouse_sq_ft) as oct_sales_per_sq_foot,
+    sum(nov_sales / w_warehouse_sq_ft) as nov_sales_per_sq_foot,
+    sum(dec_sales / w_warehouse_sq_ft) as dec_sales_per_sq_foot,
+    sum(jan_net) as jan_net,
+    sum(feb_net) as feb_net,
+    sum(mar_net) as mar_net,
+    sum(apr_net) as apr_net,
+    sum(may_net) as may_net,
+    sum(jun_net) as jun_net,
+    sum(jul_net) as jul_net,
+    sum(aug_net) as aug_net,
+    sum(sep_net) as sep_net,
+    sum(oct_net) as oct_net,
+    sum(nov_net) as nov_net,
+    sum(dec_net) as dec_net
+from
+    (
+        select
+            w_warehouse_name,
+            w_warehouse_sq_ft,
+            w_city,
+            w_county,
+            w_state,
+            w_country,
+            'DIAMOND' || ',' || 'AIRBORNE' as ship_carriers,
+            d_year as year,
+            sum(
+                case
+                    when d_moy = 1 then ws_sales_price * ws_quantity
+                    else 0
+                end
+            ) as jan_sales,
+            sum(
+                case
+                    when d_moy = 2 then ws_sales_price * ws_quantity
+                    else 0
+                end
+            ) as feb_sales,
+            sum(
+                case
+                    when d_moy = 3 then ws_sales_price * ws_quantity
+                    else 0
+                end
+            ) as mar_sales,
+            sum(
+                case
+                    when d_moy = 4 then ws_sales_price * ws_quantity
+                    else 0
+                end
+            ) as apr_sales,
+            sum(
+                case
+                    when d_moy = 5 then ws_sales_price * ws_quantity
+                    else 0
+                end
+            ) as may_sales,
+            sum(
+                case
+                    when d_moy = 6 then ws_sales_price * ws_quantity
+                    else 0
+                end
+            ) as jun_sales,
+            sum(
+                case
+                    when d_moy = 7 then ws_sales_price * ws_quantity
+                    else 0
+                end
+            ) as jul_sales,
+            sum(
+                case
+                    when d_moy = 8 then ws_sales_price * ws_quantity
+                    else 0
+                end
+            ) as aug_sales,
+            sum(
+                case
+                    when d_moy = 9 then ws_sales_price * ws_quantity
+                    else 0
+                end
+            ) as sep_sales,
+            sum(
+                case
+                    when d_moy = 10 then ws_sales_price * ws_quantity
+                    else 0
+                end
+            ) as oct_sales,
+            sum(
+                case
+                    when d_moy = 11 then ws_sales_price * ws_quantity
+                    else 0
+                end
+            ) as nov_sales,
+            sum(
+                case
+                    when d_moy = 12 then ws_sales_price * ws_quantity
+                    else 0
+                end
+            ) as dec_sales,
+            sum(
+                case
+                    when d_moy = 1 then ws_net_paid_inc_tax * ws_quantity
+                    else 0
+                end
+            ) as jan_net,
+            sum(
+                case
+                    when d_moy = 2 then ws_net_paid_inc_tax * ws_quantity
+                    else 0
+                end
+            ) as feb_net,
+            sum(
+                case
+                    when d_moy = 3 then ws_net_paid_inc_tax * ws_quantity
+                    else 0
+                end
+            ) as mar_net,
+            sum(
+                case
+                    when d_moy = 4 then ws_net_paid_inc_tax * ws_quantity
+                    else 0
+                end
+            ) as apr_net,
+            sum(
+                case
+                    when d_moy = 5 then ws_net_paid_inc_tax * ws_quantity
+                    else 0
+                end
+            ) as may_net,
+            sum(
+                case
+                    when d_moy = 6 then ws_net_paid_inc_tax * ws_quantity
+                    else 0
+                end
+            ) as jun_net,
+            sum(
+                case
+                    when d_moy = 7 then ws_net_paid_inc_tax * ws_quantity
+                    else 0
+                end
+            ) as jul_net,
+            sum(
+                case
+                    when d_moy = 8 then ws_net_paid_inc_tax * ws_quantity
+                    else 0
+                end
+            ) as aug_net,
+            sum(
+                case
+                    when d_moy = 9 then ws_net_paid_inc_tax * ws_quantity
+                    else 0
+                end
+            ) as sep_net,
+            sum(
+                case
+                    when d_moy = 10 then ws_net_paid_inc_tax * ws_quantity
+                    else 0
+                end
+            ) as oct_net,
+            sum(
+                case
+                    when d_moy = 11 then ws_net_paid_inc_tax * ws_quantity
+                    else 0
+                end
+            ) as nov_net,
+            sum(
+                case
+                    when d_moy = 12 then ws_net_paid_inc_tax * ws_quantity
+                    else 0
+                end
+            ) as dec_net
+        from
+            web_sales,
+            warehouse,
+            date_dim,
+            time_dim,
+            ship_mode
+        where
+            ws_warehouse_sk = w_warehouse_sk
+            and ws_sold_date_sk = d_date_sk
+            and ws_sold_time_sk = t_time_sk
+            and ws_ship_mode_sk = sm_ship_mode_sk
+            and d_year = 2002
+            and t_time between 49530
+            and 49530 + 28800
+            and sm_carrier in ('DIAMOND', 'AIRBORNE')
+        group by
+            w_warehouse_name,
+            w_warehouse_sq_ft,
+            w_city,
+            w_county,
+            w_state,
+            w_country,
+            d_year
+        union
+        all
+        select
+            w_warehouse_name,
+            w_warehouse_sq_ft,
+            w_city,
+            w_county,
+            w_state,
+            w_country,
+            'DIAMOND' || ',' || 'AIRBORNE' as ship_carriers,
+            d_year as year,
+            sum(
+                case
+                    when d_moy = 1 then cs_ext_sales_price * cs_quantity
+                    else 0
+                end
+            ) as jan_sales,
+            sum(
+                case
+                    when d_moy = 2 then cs_ext_sales_price * cs_quantity
+                    else 0
+                end
+            ) as feb_sales,
+            sum(
+                case
+                    when d_moy = 3 then cs_ext_sales_price * cs_quantity
+                    else 0
+                end
+            ) as mar_sales,
+            sum(
+                case
+                    when d_moy = 4 then cs_ext_sales_price * cs_quantity
+                    else 0
+                end
+            ) as apr_sales,
+            sum(
+                case
+                    when d_moy = 5 then cs_ext_sales_price * cs_quantity
+                    else 0
+                end
+            ) as may_sales,
+            sum(
+                case
+                    when d_moy = 6 then cs_ext_sales_price * cs_quantity
+                    else 0
+                end
+            ) as jun_sales,
+            sum(
+                case
+                    when d_moy = 7 then cs_ext_sales_price * cs_quantity
+                    else 0
+                end
+            ) as jul_sales,
+            sum(
+                case
+                    when d_moy = 8 then cs_ext_sales_price * cs_quantity
+                    else 0
+                end
+            ) as aug_sales,
+            sum(
+                case
+                    when d_moy = 9 then cs_ext_sales_price * cs_quantity
+                    else 0
+                end
+            ) as sep_sales,
+            sum(
+                case
+                    when d_moy = 10 then cs_ext_sales_price * cs_quantity
+                    else 0
+                end
+            ) as oct_sales,
+            sum(
+                case
+                    when d_moy = 11 then cs_ext_sales_price * cs_quantity
+                    else 0
+                end
+            ) as nov_sales,
+            sum(
+                case
+                    when d_moy = 12 then cs_ext_sales_price * cs_quantity
+                    else 0
+                end
+            ) as dec_sales,
+            sum(
+                case
+                    when d_moy = 1 then cs_net_paid_inc_ship_tax * cs_quantity
+                    else 0
+                end
+            ) as jan_net,
+            sum(
+                case
+                    when d_moy = 2 then cs_net_paid_inc_ship_tax * cs_quantity
+                    else 0
+                end
+            ) as feb_net,
+            sum(
+                case
+                    when d_moy = 3 then cs_net_paid_inc_ship_tax * cs_quantity
+                    else 0
+                end
+            ) as mar_net,
+            sum(
+                case
+                    when d_moy = 4 then cs_net_paid_inc_ship_tax * cs_quantity
+                    else 0
+                end
+            ) as apr_net,
+            sum(
+                case
+                    when d_moy = 5 then cs_net_paid_inc_ship_tax * cs_quantity
+                    else 0
+                end
+            ) as may_net,
+            sum(
+                case
+                    when d_moy = 6 then cs_net_paid_inc_ship_tax * cs_quantity
+                    else 0
+                end
+            ) as jun_net,
+            sum(
+                case
+                    when d_moy = 7 then cs_net_paid_inc_ship_tax * cs_quantity
+                    else 0
+                end
+            ) as jul_net,
+            sum(
+                case
+                    when d_moy = 8 then cs_net_paid_inc_ship_tax * cs_quantity
+                    else 0
+                end
+            ) as aug_net,
+            sum(
+                case
+                    when d_moy = 9 then cs_net_paid_inc_ship_tax * cs_quantity
+                    else 0
+                end
+            ) as sep_net,
+            sum(
+                case
+                    when d_moy = 10 then cs_net_paid_inc_ship_tax * cs_quantity
+                    else 0
+                end
+            ) as oct_net,
+            sum(
+                case
+                    when d_moy = 11 then cs_net_paid_inc_ship_tax * cs_quantity
+                    else 0
+                end
+            ) as nov_net,
+            sum(
+                case
+                    when d_moy = 12 then cs_net_paid_inc_ship_tax * cs_quantity
+                    else 0
+                end
+            ) as dec_net
+        from
+            catalog_sales,
+            warehouse,
+            date_dim,
+            time_dim,
+            ship_mode
+        where
+            cs_warehouse_sk = w_warehouse_sk
+            and cs_sold_date_sk = d_date_sk
+            and cs_sold_time_sk = t_time_sk
+            and cs_ship_mode_sk = sm_ship_mode_sk
+            and d_year = 2002
+            and t_time between 49530
+            AND 49530 + 28800
+            and sm_carrier in ('DIAMOND', 'AIRBORNE')
+        group by
+            w_warehouse_name,
+            w_warehouse_sq_ft,
+            w_city,
+            w_county,
+            w_state,
+            w_country,
+            d_year
+    ) x
+group by
+    w_warehouse_name,
+    w_warehouse_sq_ft,
+    w_city,
+    w_county,
+    w_state,
+    w_country,
+    ship_carriers,
+    year
+order by
+    w_warehouse_name
+limit
+    100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q67.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q67.sql
new file mode 100644
index 000000000..f07b1c09a
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q67.sql
@@ -0,0 +1,87 @@
+--
+-- 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.
+--
+-- q67 --
+select
+  *
+from
+  (
+    select
+      i_category,
+      i_class,
+      i_brand,
+      i_product_name,
+      d_year,
+      d_qoy,
+      d_moy,
+      s_store_id,
+      sumsales,
+      rank() over (
+        partition by i_category
+        order by
+          sumsales desc
+      ) rk
+    from
+      (
+        select
+          i_category,
+          i_class,
+          i_brand,
+          i_product_name,
+          d_year,
+          d_qoy,
+          d_moy,
+          s_store_id,
+          sum(coalesce(ss_sales_price * ss_quantity, 0)) sumsales
+        from
+          store_sales,
+          date_dim,
+          store,
+          item
+        where
+          ss_sold_date_sk = d_date_sk
+          and ss_item_sk = i_item_sk
+          and ss_store_sk = s_store_sk
+          and d_month_seq between 1212
+          and 1212 + 11
+        group by
+          rollup (
+            i_category,
+            i_class,
+            i_brand,
+            i_product_name,
+            d_year,
+            d_qoy,
+            d_moy,
+            s_store_id
+          )
+      ) dw1
+  ) dw2
+where
+  rk <= 100
+order by
+  i_category,
+  i_class,
+  i_brand,
+  i_product_name,
+  d_year,
+  d_qoy,
+  d_moy,
+  s_store_id,
+  sumsales,
+  rk
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q68.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q68.sql
new file mode 100644
index 000000000..d2565591d
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q68.sql
@@ -0,0 +1,71 @@
+--
+-- 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.
+--
+-- q68 --
+select
+     c_last_name,
+     c_first_name,
+     ca_city,
+     bought_city,
+     ss_ticket_number,
+     extended_price,
+     extended_tax,
+     list_price
+from
+     (
+          select
+               ss_ticket_number,
+               ss_customer_sk,
+               ca_city bought_city,
+               sum(ss_ext_sales_price) extended_price,
+               sum(ss_ext_list_price) list_price,
+               sum(ss_ext_tax) extended_tax
+          from
+               store_sales,
+               date_dim,
+               store,
+               household_demographics,
+               customer_address
+          where
+               store_sales.ss_sold_date_sk = date_dim.d_date_sk
+               and store_sales.ss_store_sk = store.s_store_sk
+               and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
+               and store_sales.ss_addr_sk = customer_address.ca_address_sk
+               and date_dim.d_dom between 1
+               and 2
+               and (
+                    household_demographics.hd_dep_count = 5
+                    or household_demographics.hd_vehicle_count = 3
+               )
+               and date_dim.d_year in (1999, 1999 + 1, 1999 + 2)
+               and store.s_city in ('Midway', 'Fairview')
+          group by
+               ss_ticket_number,
+               ss_customer_sk,
+               ss_addr_sk,
+               ca_city
+     ) dn,
+     customer,
+     customer_address current_addr
+where
+     ss_customer_sk = c_customer_sk
+     and customer.c_current_addr_sk = current_addr.ca_address_sk
+     and current_addr.ca_city <> bought_city
+order by
+     c_last_name,
+     ss_ticket_number
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q69.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q69.sql
new file mode 100644
index 000000000..b76fad33e
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q69.sql
@@ -0,0 +1,89 @@
+--
+-- 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.
+--
+-- q69 --
+select
+     cd_gender,
+     cd_marital_status,
+     cd_education_status,
+     count(*) cnt1,
+     cd_purchase_estimate,
+     count(*) cnt2,
+     cd_credit_rating,
+     count(*) cnt3
+from
+     customer c,
+     customer_address ca,
+     customer_demographics
+where
+     c.c_current_addr_sk = ca.ca_address_sk
+     and ca_state in ('CO', 'IL', 'MN')
+     and cd_demo_sk = c.c_current_cdemo_sk
+     and exists (
+          select
+               *
+          from
+               store_sales,
+               date_dim
+          where
+               c.c_customer_sk = ss_customer_sk
+               and ss_sold_date_sk = d_date_sk
+               and d_year = 1999
+               and d_moy between 1
+               and 1 + 2
+     )
+     and (
+          not exists (
+               select
+                    *
+               from
+                    web_sales,
+                    date_dim
+               where
+                    c.c_customer_sk = ws_bill_customer_sk
+                    and ws_sold_date_sk = d_date_sk
+                    and d_year = 1999
+                    and d_moy between 1
+                    and 1 + 2
+          )
+          and not exists (
+               select
+                    *
+               from
+                    catalog_sales,
+                    date_dim
+               where
+                    c.c_customer_sk = cs_ship_customer_sk
+                    and cs_sold_date_sk = d_date_sk
+                    and d_year = 1999
+                    and d_moy between 1
+                    and 1 + 2
+          )
+     )
+group by
+     cd_gender,
+     cd_marital_status,
+     cd_education_status,
+     cd_purchase_estimate,
+     cd_credit_rating
+order by
+     cd_gender,
+     cd_marital_status,
+     cd_education_status,
+     cd_purchase_estimate,
+     cd_credit_rating
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q7.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q7.sql
new file mode 100644
index 000000000..a779acc10
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q7.sql
@@ -0,0 +1,48 @@
+--
+-- 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.
+--
+-- q7 --
+select
+  i_item_id,
+  avg(ss_quantity) agg1,
+  avg(ss_list_price) agg2,
+  avg(ss_coupon_amt) agg3,
+  avg(ss_sales_price) agg4
+from
+  store_sales,
+  customer_demographics,
+  date_dim,
+  item,
+  promotion
+where
+  ss_sold_date_sk = d_date_sk
+  and ss_item_sk = i_item_sk
+  and ss_cdemo_sk = cd_demo_sk
+  and ss_promo_sk = p_promo_sk
+  and cd_gender = 'F'
+  and cd_marital_status = 'W'
+  and cd_education_status = 'Primary'
+  and (
+    p_channel_email = 'N'
+    or p_channel_event = 'N'
+  )
+  and d_year = 1998
+group by
+  i_item_id
+order by
+  i_item_id
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q70.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q70.sql
new file mode 100644
index 000000000..9156149e3
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q70.sql
@@ -0,0 +1,76 @@
+--
+-- 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.
+--
+-- q70 --
+select
+       sum(ss_net_profit) as total_sum,
+       s_state,
+       s_county,
+       grouping (s_state) + grouping (s_county) as lochierarchy,
+       rank() over (
+              partition by grouping (s_state) + grouping (s_county),
+              case
+                     when grouping (s_county) = 0 then s_state
+              end
+              order by
+                     sum(ss_net_profit) desc
+       ) as rank_within_parent
+from
+       store_sales,
+       date_dim d1,
+       store
+where
+       d1.d_month_seq between 1212
+       and 1212 + 11
+       and d1.d_date_sk = ss_sold_date_sk
+       and s_store_sk = ss_store_sk
+       and s_state in (
+              select
+                     s_state
+              from
+                     (
+                            select
+                                   s_state as s_state,
+                                   rank() over (
+                                          partition by s_state
+                                          order by
+                                                 sum(ss_net_profit) desc
+                                   ) as ranking
+                            from
+                                   store_sales,
+                                   store,
+                                   date_dim
+                            where
+                                   d_month_seq between 1212
+                                   and 1212 + 11
+                                   and d_date_sk = ss_sold_date_sk
+                                   and s_store_sk = ss_store_sk
+                            group by
+                                   s_state
+                     ) tmp1
+              where
+                     ranking <= 5
+       )
+group by
+       rollup (s_state, s_county)
+order by
+       lochierarchy desc,
+       case
+              when lochierarchy = 0 then s_state
+       end,
+       rank_within_parent
+limit
+       100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q71.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q71.sql
new file mode 100644
index 000000000..77ffa9e86
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q71.sql
@@ -0,0 +1,84 @@
+--
+-- 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.
+--
+-- q71 --
+select
+  i_brand_id brand_id,
+  i_brand brand,
+  t_hour,
+  t_minute,
+  sum(ext_price) ext_price
+from
+  item,
+  (
+    select
+      ws_ext_sales_price as ext_price,
+      ws_sold_date_sk as sold_date_sk,
+      ws_item_sk as sold_item_sk,
+      ws_sold_time_sk as time_sk
+    from
+      web_sales,
+      date_dim
+    where
+      d_date_sk = ws_sold_date_sk
+      and d_moy = 12
+      and d_year = 2000
+    union
+    all
+    select
+      cs_ext_sales_price as ext_price,
+      cs_sold_date_sk as sold_date_sk,
+      cs_item_sk as sold_item_sk,
+      cs_sold_time_sk as time_sk
+    from
+      catalog_sales,
+      date_dim
+    where
+      d_date_sk = cs_sold_date_sk
+      and d_moy = 12
+      and d_year = 2000
+    union
+    all
+    select
+      ss_ext_sales_price as ext_price,
+      ss_sold_date_sk as sold_date_sk,
+      ss_item_sk as sold_item_sk,
+      ss_sold_time_sk as time_sk
+    from
+      store_sales,
+      date_dim
+    where
+      d_date_sk = ss_sold_date_sk
+      and d_moy = 12
+      and d_year = 2000
+  ) tmp,
+  time_dim
+where
+  sold_item_sk = i_item_sk
+  and i_manager_id = 1
+  and time_sk = t_time_sk
+  and (
+    t_meal_time = 'breakfast'
+    or t_meal_time = 'dinner'
+  )
+group by
+  i_brand,
+  i_brand_id,
+  t_hour,
+  t_minute
+order by
+  ext_price desc,
+  i_brand_id;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q72.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q72.sql
new file mode 100644
index 000000000..3e80e0ee3
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q72.sql
@@ -0,0 +1,67 @@
+--
+-- 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.
+--
+-- q72 --
+select
+  i_item_desc,
+  w_warehouse_name,
+  d1.d_week_seq,
+  sum(
+    case
+      when p_promo_sk is null then 1
+      else 0
+    end
+  ) no_promo,
+  sum(
+    case
+      when p_promo_sk is not null then 1
+      else 0
+    end
+  ) promo,
+  count(*) total_cnt
+from
+  catalog_sales
+  join inventory on (cs_item_sk = inv_item_sk)
+  join warehouse on (w_warehouse_sk = inv_warehouse_sk)
+  join item on (i_item_sk = cs_item_sk)
+  join customer_demographics on (cs_bill_cdemo_sk = cd_demo_sk)
+  join household_demographics on (cs_bill_hdemo_sk = hd_demo_sk)
+  join date_dim d1 on (cs_sold_date_sk = d1.d_date_sk)
+  join date_dim d2 on (inv_date_sk = d2.d_date_sk)
+  join date_dim d3 on (cs_ship_date_sk = d3.d_date_sk)
+  left outer join promotion on (cs_promo_sk = p_promo_sk)
+  left outer join catalog_returns on (
+    cr_item_sk = cs_item_sk
+    and cr_order_number = cs_order_number
+  )
+where
+  d1.d_week_seq = d2.d_week_seq
+  and inv_quantity_on_hand < cs_quantity
+  and d3.d_date > d1.d_date + 5
+  and hd_buy_potential = '1001-5000'
+  and d1.d_year = 2001
+  and cd_marital_status = 'M'
+group by
+  i_item_desc,
+  w_warehouse_name,
+  d1.d_week_seq
+order by
+  total_cnt desc,
+  i_item_desc,
+  w_warehouse_name,
+  d_week_seq
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q73.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q73.sql
new file mode 100644
index 000000000..ad211e34d
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q73.sql
@@ -0,0 +1,69 @@
+--
+-- 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.
+--
+-- q73 --
+select
+     c_last_name,
+     c_first_name,
+     c_salutation,
+     c_preferred_cust_flag,
+     ss_ticket_number,
+     cnt
+from
+     (
+          select
+               ss_ticket_number,
+               ss_customer_sk,
+               count(*) cnt
+          from
+               store_sales,
+               date_dim,
+               store,
+               household_demographics
+          where
+               store_sales.ss_sold_date_sk = date_dim.d_date_sk
+               and store_sales.ss_store_sk = store.s_store_sk
+               and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
+               and date_dim.d_dom between 1
+               and 2
+               and (
+                    household_demographics.hd_buy_potential = '>10000'
+                    or household_demographics.hd_buy_potential = 'Unknown'
+               )
+               and household_demographics.hd_vehicle_count > 0
+               and case
+                    when household_demographics.hd_vehicle_count > 0 then household_demographics.hd_dep_count / household_demographics.hd_vehicle_count
+                    else null
+               end > 1
+               and date_dim.d_year in (1998, 1998 + 1, 1998 + 2)
+               and store.s_county in (
+                    'Williamson County',
+                    'Williamson County',
+                    'Williamson County',
+                    'Williamson County'
+               )
+          group by
+               ss_ticket_number,
+               ss_customer_sk
+     ) dj,
+     customer
+where
+     ss_customer_sk = c_customer_sk
+     and cnt between 1
+     and 5
+order by
+     cnt desc,
+     c_last_name asc;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q74.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q74.sql
new file mode 100644
index 000000000..b9835e6aa
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q74.sql
@@ -0,0 +1,97 @@
+--
+-- 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.
+--
+-- q74 --
+with year_total as (
+  select
+    c_customer_id customer_id,
+    c_first_name customer_first_name,
+    c_last_name customer_last_name,
+    d_year as year,
+    max(ss_net_paid) year_total,
+    's' sale_type
+  from
+    customer,
+    store_sales,
+    date_dim
+  where
+    c_customer_sk = ss_customer_sk
+    and ss_sold_date_sk = d_date_sk
+    and d_year in (2001, 2001 + 1)
+  group by
+    c_customer_id,
+    c_first_name,
+    c_last_name,
+    d_year
+  union
+  all
+  select
+    c_customer_id customer_id,
+    c_first_name customer_first_name,
+    c_last_name customer_last_name,
+    d_year as year,
+    max(ws_net_paid) year_total,
+    'w' sale_type
+  from
+    customer,
+    web_sales,
+    date_dim
+  where
+    c_customer_sk = ws_bill_customer_sk
+    and ws_sold_date_sk = d_date_sk
+    and d_year in (2001, 2001 + 1)
+  group by
+    c_customer_id,
+    c_first_name,
+    c_last_name,
+    d_year
+)
+select
+  t_s_secyear.customer_id,
+  t_s_secyear.customer_first_name,
+  t_s_secyear.customer_last_name
+from
+  year_total t_s_firstyear,
+  year_total t_s_secyear,
+  year_total t_w_firstyear,
+  year_total t_w_secyear
+where
+  t_s_secyear.customer_id = t_s_firstyear.customer_id
+  and t_s_firstyear.customer_id = t_w_secyear.customer_id
+  and t_s_firstyear.customer_id = t_w_firstyear.customer_id
+  and t_s_firstyear.sale_type = 's'
+  and t_w_firstyear.sale_type = 'w'
+  and t_s_secyear.sale_type = 's'
+  and t_w_secyear.sale_type = 'w'
+  and t_s_firstyear.year = 2001
+  and t_s_secyear.year = 2001 + 1
+  and t_w_firstyear.year = 2001
+  and t_w_secyear.year = 2001 + 1
+  and t_s_firstyear.year_total > 0
+  and t_w_firstyear.year_total > 0
+  and case
+    when t_w_firstyear.year_total > 0 then t_w_secyear.year_total / t_w_firstyear.year_total
+    else null
+  end > case
+    when t_s_firstyear.year_total > 0 then t_s_secyear.year_total / t_s_firstyear.year_total
+    else null
+  end
+order by
+  2,
+  1,
+  3
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q75.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q75.sql
new file mode 100644
index 000000000..ddb437727
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q75.sql
@@ -0,0 +1,119 @@
+--
+-- 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.
+--
+-- q75 --
+WITH all_sales AS (
+     SELECT
+          d_year,
+          i_brand_id,
+          i_class_id,
+          i_category_id,
+          i_manufact_id,
+          SUM(sales_cnt) AS sales_cnt,
+          SUM(sales_amt) AS sales_amt
+     FROM
+          (
+               SELECT
+                    d_year,
+                    i_brand_id,
+                    i_class_id,
+                    i_category_id,
+                    i_manufact_id,
+                    cs_quantity - COALESCE(cr_return_quantity, 0) AS sales_cnt,
+                    cs_ext_sales_price - COALESCE(cr_return_amount, 0.0) AS sales_amt
+               FROM
+                    catalog_sales
+                    JOIN item ON i_item_sk = cs_item_sk
+                    JOIN date_dim ON d_date_sk = cs_sold_date_sk
+                    LEFT JOIN catalog_returns ON (
+                         cs_order_number = cr_order_number
+                         AND cs_item_sk = cr_item_sk
+                    )
+               WHERE
+                    i_category = 'Sports'
+               UNION
+               SELECT
+                    d_year,
+                    i_brand_id,
+                    i_class_id,
+                    i_category_id,
+                    i_manufact_id,
+                    ss_quantity - COALESCE(sr_return_quantity, 0) AS sales_cnt,
+                    ss_ext_sales_price - COALESCE(sr_return_amt, 0.0) AS sales_amt
+               FROM
+                    store_sales
+                    JOIN item ON i_item_sk = ss_item_sk
+                    JOIN date_dim ON d_date_sk = ss_sold_date_sk
+                    LEFT JOIN store_returns ON (
+                         ss_ticket_number = sr_ticket_number
+                         AND ss_item_sk = sr_item_sk
+                    )
+               WHERE
+                    i_category = 'Sports'
+               UNION
+               SELECT
+                    d_year,
+                    i_brand_id,
+                    i_class_id,
+                    i_category_id,
+                    i_manufact_id,
+                    ws_quantity - COALESCE(wr_return_quantity, 0) AS sales_cnt,
+                    ws_ext_sales_price - COALESCE(wr_return_amt, 0.0) AS sales_amt
+               FROM
+                    web_sales
+                    JOIN item ON i_item_sk = ws_item_sk
+                    JOIN date_dim ON d_date_sk = ws_sold_date_sk
+                    LEFT JOIN web_returns ON (
+                         ws_order_number = wr_order_number
+                         AND ws_item_sk = wr_item_sk
+                    )
+               WHERE
+                    i_category = 'Sports'
+          ) sales_detail
+     GROUP BY
+          d_year,
+          i_brand_id,
+          i_class_id,
+          i_category_id,
+          i_manufact_id
+)
+SELECT
+     prev_yr.d_year AS prev_year,
+     curr_yr.d_year AS year,
+     curr_yr.i_brand_id,
+     curr_yr.i_class_id,
+     curr_yr.i_category_id,
+     curr_yr.i_manufact_id,
+     prev_yr.sales_cnt AS prev_yr_cnt,
+     curr_yr.sales_cnt AS curr_yr_cnt,
+     curr_yr.sales_cnt - prev_yr.sales_cnt AS sales_cnt_diff,
+     curr_yr.sales_amt - prev_yr.sales_amt AS sales_amt_diff
+FROM
+     all_sales curr_yr,
+     all_sales prev_yr
+WHERE
+     curr_yr.i_brand_id = prev_yr.i_brand_id
+     AND curr_yr.i_class_id = prev_yr.i_class_id
+     AND curr_yr.i_category_id = prev_yr.i_category_id
+     AND curr_yr.i_manufact_id = prev_yr.i_manufact_id
+     AND curr_yr.d_year = 2002
+     AND prev_yr.d_year = 2002 - 1
+     AND CAST(curr_yr.sales_cnt AS DECIMAL(17, 2)) / CAST(prev_yr.sales_cnt AS DECIMAL(17, 2)) < 0.9
+ORDER BY
+     sales_cnt_diff,
+     sales_amt_diff
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q76.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q76.sql
new file mode 100644
index 000000000..ee7a505be
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q76.sql
@@ -0,0 +1,50 @@
+--
+-- 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.
+--
+-- q76 --
+select channel, col_name, d_year, d_qoy, i_category, COUNT(*) sales_cnt, SUM(ext_sales_price) sales_amt
+FROM (SELECT 'store' as channel, 'ss_addr_sk' col_name, d_year, d_qoy, i_category, ss_ext_sales_price ext_sales_price
+      FROM store_sales,
+           item,
+           date_dim
+      WHERE ss_addr_sk IS NULL
+        AND ss_sold_date_sk = d_date_sk
+        AND ss_item_sk = i_item_sk
+      UNION ALL
+      SELECT 'web' as channel, 'ws_web_page_sk' col_name, d_year, d_qoy, i_category, ws_ext_sales_price ext_sales_price
+      FROM web_sales,
+           item,
+           date_dim
+      WHERE ws_web_page_sk IS NULL
+        AND ws_sold_date_sk = d_date_sk
+        AND ws_item_sk = i_item_sk
+      UNION ALL
+      SELECT 'catalog' as       channel,
+             'cs_warehouse_sk'  col_name,
+             d_year,
+             d_qoy,
+             i_category,
+             cs_ext_sales_price ext_sales_price
+      FROM catalog_sales,
+           item,
+           date_dim
+      WHERE cs_warehouse_sk IS NULL
+        AND cs_sold_date_sk = d_date_sk
+        AND cs_item_sk = i_item_sk) foo
+GROUP BY channel, col_name, d_year, d_qoy, i_category
+ORDER BY channel, col_name, d_year, d_qoy, i_category
+limit 100;
+
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q77.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q77.sql
new file mode 100644
index 000000000..a63bf8aa6
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q77.sql
@@ -0,0 +1,162 @@
+--
+-- 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.
+--
+-- q77 --
+with ss as (
+     select
+          s_store_sk,
+          sum(ss_ext_sales_price) as sales,
+          sum(ss_net_profit) as profit
+     from
+          store_sales,
+          date_dim,
+          store
+     where
+          ss_sold_date_sk = d_date_sk
+          and d_date between cast('1998-08-04' as date)
+          and (cast('1998-08-04' as date) + interval 30 days)
+          and ss_store_sk = s_store_sk
+     group by
+          s_store_sk
+),
+sr as (
+     select
+          s_store_sk,
+          sum(sr_return_amt) as returns,
+          sum(sr_net_loss) as profit_loss
+     from
+          store_returns,
+          date_dim,
+          store
+     where
+          sr_returned_date_sk = d_date_sk
+          and d_date between cast('1998-08-04' as date)
+          and (cast('1998-08-04' as date) + interval 30 days)
+          and sr_store_sk = s_store_sk
+     group by
+          s_store_sk
+),
+cs as (
+     select
+          cs_call_center_sk,
+          sum(cs_ext_sales_price) as sales,
+          sum(cs_net_profit) as profit
+     from
+          catalog_sales,
+          date_dim
+     where
+          cs_sold_date_sk = d_date_sk
+          and d_date between cast('1998-08-04' as date)
+          and (cast('1998-08-04' as date) + interval 30 days)
+     group by
+          cs_call_center_sk
+),
+cr as (
+     select
+          cr_call_center_sk,
+          sum(cr_return_amount) as returns,
+          sum(cr_net_loss) as profit_loss
+     from
+          catalog_returns,
+          date_dim
+     where
+          cr_returned_date_sk = d_date_sk
+          and d_date between cast('1998-08-04' as date)
+          and (cast('1998-08-04' as date) + interval 30 days)
+     group by
+          cr_call_center_sk
+),
+ws as (
+     select
+          wp_web_page_sk,
+          sum(ws_ext_sales_price) as sales,
+          sum(ws_net_profit) as profit
+     from
+          web_sales,
+          date_dim,
+          web_page
+     where
+          ws_sold_date_sk = d_date_sk
+          and d_date between cast('1998-08-04' as date)
+          and (cast('1998-08-04' as date) + interval 30 days)
+          and ws_web_page_sk = wp_web_page_sk
+     group by
+          wp_web_page_sk
+),
+wr as (
+     select
+          wp_web_page_sk,
+          sum(wr_return_amt) as returns,
+          sum(wr_net_loss) as profit_loss
+     from
+          web_returns,
+          date_dim,
+          web_page
+     where
+          wr_returned_date_sk = d_date_sk
+          and d_date between cast('1998-08-04' as date)
+          and (cast('1998-08-04' as date) + interval 30 days)
+          and wr_web_page_sk = wp_web_page_sk
+     group by
+          wp_web_page_sk
+)
+select
+     channel,
+     id,
+     sum(sales) as sales,
+     sum(returns) as returns,
+     sum(profit) as profit
+from
+     (
+          select
+               'store channel' as channel,
+               ss.s_store_sk as id,
+               sales,
+               coalesce(returns, 0) as returns,
+               (profit - coalesce(profit_loss, 0)) as profit
+          from
+               ss
+               left join sr on ss.s_store_sk = sr.s_store_sk
+          union
+          all
+          select
+               'catalog channel' as channel,
+               cs_call_center_sk as id,
+               sales,
+               returns,
+               (profit - profit_loss) as profit
+          from
+               cs,
+               cr
+          union
+          all
+          select
+               'web channel' as channel,
+               ws.wp_web_page_sk as id,
+               sales,
+               coalesce(returns, 0) returns,
+               (profit - coalesce(profit_loss, 0)) as profit
+          from
+               ws
+               left join wr on ws.wp_web_page_sk = wr.wp_web_page_sk
+     ) x
+group by
+     rollup (channel, id)
+order by
+     channel,
+     id
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q78.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q78.sql
new file mode 100644
index 000000000..7173f019a
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q78.sql
@@ -0,0 +1,122 @@
+--
+-- 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.
+--
+-- q78 --
+with ws as (
+        select
+                d_year AS ws_sold_year,
+                ws_item_sk,
+                ws_bill_customer_sk ws_customer_sk,
+                sum(ws_quantity) ws_qty,
+                sum(ws_wholesale_cost) ws_wc,
+                sum(ws_sales_price) ws_sp
+        from
+                web_sales
+                left join web_returns on wr_order_number = ws_order_number
+                and ws_item_sk = wr_item_sk
+                join date_dim on ws_sold_date_sk = d_date_sk
+        where
+                wr_order_number is null
+        group by
+                d_year,
+                ws_item_sk,
+                ws_bill_customer_sk
+),
+cs as (
+        select
+                d_year AS cs_sold_year,
+                cs_item_sk,
+                cs_bill_customer_sk cs_customer_sk,
+                sum(cs_quantity) cs_qty,
+                sum(cs_wholesale_cost) cs_wc,
+                sum(cs_sales_price) cs_sp
+        from
+                catalog_sales
+                left join catalog_returns on cr_order_number = cs_order_number
+                and cs_item_sk = cr_item_sk
+                join date_dim on cs_sold_date_sk = d_date_sk
+        where
+                cr_order_number is null
+        group by
+                d_year,
+                cs_item_sk,
+                cs_bill_customer_sk
+),
+ss as (
+        select
+                d_year AS ss_sold_year,
+                ss_item_sk,
+                ss_customer_sk,
+                sum(ss_quantity) ss_qty,
+                sum(ss_wholesale_cost) ss_wc,
+                sum(ss_sales_price) ss_sp
+        from
+                store_sales
+                left join store_returns on sr_ticket_number = ss_ticket_number
+                and ss_item_sk = sr_item_sk
+                join date_dim on ss_sold_date_sk = d_date_sk
+        where
+                sr_ticket_number is null
+        group by
+                d_year,
+                ss_item_sk,
+                ss_customer_sk
+)
+select
+        ss_sold_year,
+        ss_item_sk,
+        ss_customer_sk,
+        round(
+                ss_qty / (coalesce(ws_qty, 0) + coalesce(cs_qty, 0)),
+                2
+        ) ratio,
+        ss_qty store_qty,
+        ss_wc store_wholesale_cost,
+        ss_sp store_sales_price,
+        coalesce(ws_qty, 0) + coalesce(cs_qty, 0) other_chan_qty,
+        coalesce(ws_wc, 0) + coalesce(cs_wc, 0) other_chan_wholesale_cost,
+        coalesce(ws_sp, 0) + coalesce(cs_sp, 0) other_chan_sales_price
+from
+        ss
+        left join ws on (
+                ws_sold_year = ss_sold_year
+                and ws_item_sk = ss_item_sk
+                and ws_customer_sk = ss_customer_sk
+        )
+        left join cs on (
+                cs_sold_year = ss_sold_year
+                and cs_item_sk = ss_item_sk
+                and cs_customer_sk = ss_customer_sk
+        )
+where
+        (
+                coalesce(ws_qty, 0) > 0
+                or coalesce(cs_qty, 0) > 0
+        )
+        and ss_sold_year = 2000
+order by
+        ss_sold_year,
+        ss_item_sk,
+        ss_customer_sk,
+        ss_qty desc,
+        ss_wc desc,
+        ss_sp desc,
+        other_chan_qty,
+        other_chan_wholesale_cost,
+        other_chan_sales_price,
+        ratio
+limit
+        100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q79.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q79.sql
new file mode 100644
index 000000000..9cb4b618e
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q79.sql
@@ -0,0 +1,65 @@
+--
+-- 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.
+--
+-- q79 --
+select
+     c_last_name,
+     c_first_name,
+     substr(s_city, 1, 30),
+     ss_ticket_number,
+     amt,
+     profit
+from
+     (
+          select
+               ss_ticket_number,
+               ss_customer_sk,
+               store.s_city,
+               sum(ss_coupon_amt) amt,
+               sum(ss_net_profit) profit
+          from
+               store_sales,
+               date_dim,
+               store,
+               household_demographics
+          where
+               store_sales.ss_sold_date_sk = date_dim.d_date_sk
+               and store_sales.ss_store_sk = store.s_store_sk
+               and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
+               and (
+                    household_demographics.hd_dep_count = 8
+                    or household_demographics.hd_vehicle_count > 0
+               )
+               and date_dim.d_dow = 1
+               and date_dim.d_year in (1998, 1998 + 1, 1998 + 2)
+               and store.s_number_employees between 200
+               and 295
+          group by
+               ss_ticket_number,
+               ss_customer_sk,
+               ss_addr_sk,
+               store.s_city
+     ) ms,
+     customer
+where
+     ss_customer_sk = c_customer_sk
+order by
+     c_last_name,
+     c_first_name,
+     substr(s_city, 1, 30),
+     profit
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q8.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q8.sql
new file mode 100644
index 000000000..466c27c60
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q8.sql
@@ -0,0 +1,469 @@
+--
+-- 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.
+--
+-- q8 --
+select
+  s_store_name,
+  sum(ss_net_profit)
+from
+  store_sales,
+  date_dim,
+  store,
+  (
+    select
+      ca_zip
+    from
+      (
+        SELECT
+          substr(ca_zip, 1, 5) ca_zip
+        FROM
+          customer_address
+        WHERE
+          substr(ca_zip, 1, 5) IN (
+            '89436',
+            '30868',
+            '65085',
+            '22977',
+            '83927',
+            '77557',
+            '58429',
+            '40697',
+            '80614',
+            '10502',
+            '32779',
+            '91137',
+            '61265',
+            '98294',
+            '17921',
+            '18427',
+            '21203',
+            '59362',
+            '87291',
+            '84093',
+            '21505',
+            '17184',
+            '10866',
+            '67898',
+            '25797',
+            '28055',
+            '18377',
+            '80332',
+            '74535',
+            '21757',
+            '29742',
+            '90885',
+            '29898',
+            '17819',
+            '40811',
+            '25990',
+            '47513',
+            '89531',
+            '91068',
+            '10391',
+            '18846',
+            '99223',
+            '82637',
+            '41368',
+            '83658',
+            '86199',
+            '81625',
+            '26696',
+            '89338',
+            '88425',
+            '32200',
+            '81427',
+            '19053',
+            '77471',
+            '36610',
+            '99823',
+            '43276',
+            '41249',
+            '48584',
+            '83550',
+            '82276',
+            '18842',
+            '78890',
+            '14090',
+            '38123',
+            '40936',
+            '34425',
+            '19850',
+            '43286',
+            '80072',
+            '79188',
+            '54191',
+            '11395',
+            '50497',
+            '84861',
+            '90733',
+            '21068',
+            '57666',
+            '37119',
+            '25004',
+            '57835',
+            '70067',
+            '62878',
+            '95806',
+            '19303',
+            '18840',
+            '19124',
+            '29785',
+            '16737',
+            '16022',
+            '49613',
+            '89977',
+            '68310',
+            '60069',
+            '98360',
+            '48649',
+            '39050',
+            '41793',
+            '25002',
+            '27413',
+            '39736',
+            '47208',
+            '16515',
+            '94808',
+            '57648',
+            '15009',
+            '80015',
+            '42961',
+            '63982',
+            '21744',
+            '71853',
+            '81087',
+            '67468',
+            '34175',
+            '64008',
+            '20261',
+            '11201',
+            '51799',
+            '48043',
+            '45645',
+            '61163',
+            '48375',
+            '36447',
+            '57042',
+            '21218',
+            '41100',
+            '89951',
+            '22745',
+            '35851',
+            '83326',
+            '61125',
+            '78298',
+            '80752',
+            '49858',
+            '52940',
+            '96976',
+            '63792',
+            '11376',
+            '53582',
+            '18717',
+            '90226',
+            '50530',
+            '94203',
+            '99447',
+            '27670',
+            '96577',
+            '57856',
+            '56372',
+            '16165',
+            '23427',
+            '54561',
+            '28806',
+            '44439',
+            '22926',
+            '30123',
+            '61451',
+            '92397',
+            '56979',
+            '92309',
+            '70873',
+            '13355',
+            '21801',
+            '46346',
+            '37562',
+            '56458',
+            '28286',
+            '47306',
+            '99555',
+            '69399',
+            '26234',
+            '47546',
+            '49661',
+            '88601',
+            '35943',
+            '39936',
+            '25632',
+            '24611',
+            '44166',
+            '56648',
+            '30379',
+            '59785',
+            '11110',
+            '14329',
+            '93815',
+            '52226',
+            '71381',
+            '13842',
+            '25612',
+            '63294',
+            '14664',
+            '21077',
+            '82626',
+            '18799',
+            '60915',
+            '81020',
+            '56447',
+            '76619',
+            '11433',
+            '13414',
+            '42548',
+            '92713',
+            '70467',
+            '30884',
+            '47484',
+            '16072',
+            '38936',
+            '13036',
+            '88376',
+            '45539',
+            '35901',
+            '19506',
+            '65690',
+            '73957',
+            '71850',
+            '49231',
+            '14276',
+            '20005',
+            '18384',
+            '76615',
+            '11635',
+            '38177',
+            '55607',
+            '41369',
+            '95447',
+            '58581',
+            '58149',
+            '91946',
+            '33790',
+            '76232',
+            '75692',
+            '95464',
+            '22246',
+            '51061',
+            '56692',
+            '53121',
+            '77209',
+            '15482',
+            '10688',
+            '14868',
+            '45907',
+            '73520',
+            '72666',
+            '25734',
+            '17959',
+            '24677',
+            '66446',
+            '94627',
+            '53535',
+            '15560',
+            '41967',
+            '69297',
+            '11929',
+            '59403',
+            '33283',
+            '52232',
+            '57350',
+            '43933',
+            '40921',
+            '36635',
+            '10827',
+            '71286',
+            '19736',
+            '80619',
+            '25251',
+            '95042',
+            '15526',
+            '36496',
+            '55854',
+            '49124',
+            '81980',
+            '35375',
+            '49157',
+            '63512',
+            '28944',
+            '14946',
+            '36503',
+            '54010',
+            '18767',
+            '23969',
+            '43905',
+            '66979',
+            '33113',
+            '21286',
+            '58471',
+            '59080',
+            '13395',
+            '79144',
+            '70373',
+            '67031',
+            '38360',
+            '26705',
+            '50906',
+            '52406',
+            '26066',
+            '73146',
+            '15884',
+            '31897',
+            '30045',
+            '61068',
+            '45550',
+            '92454',
+            '13376',
+            '14354',
+            '19770',
+            '22928',
+            '97790',
+            '50723',
+            '46081',
+            '30202',
+            '14410',
+            '20223',
+            '88500',
+            '67298',
+            '13261',
+            '14172',
+            '81410',
+            '93578',
+            '83583',
+            '46047',
+            '94167',
+            '82564',
+            '21156',
+            '15799',
+            '86709',
+            '37931',
+            '74703',
+            '83103',
+            '23054',
+            '70470',
+            '72008',
+            '49247',
+            '91911',
+            '69998',
+            '20961',
+            '70070',
+            '63197',
+            '54853',
+            '88191',
+            '91830',
+            '49521',
+            '19454',
+            '81450',
+            '89091',
+            '62378',
+            '25683',
+            '61869',
+            '51744',
+            '36580',
+            '85778',
+            '36871',
+            '48121',
+            '28810',
+            '83712',
+            '45486',
+            '67393',
+            '26935',
+            '42393',
+            '20132',
+            '55349',
+            '86057',
+            '21309',
+            '80218',
+            '10094',
+            '11357',
+            '48819',
+            '39734',
+            '40758',
+            '30432',
+            '21204',
+            '29467',
+            '30214',
+            '61024',
+            '55307',
+            '74621',
+            '11622',
+            '68908',
+            '33032',
+            '52868',
+            '99194',
+            '99900',
+            '84936',
+            '69036',
+            '99149',
+            '45013',
+            '32895',
+            '59004',
+            '32322',
+            '14933',
+            '32936',
+            '33562',
+            '72550',
+            '27385',
+            '58049',
+            '58200',
+            '16808',
+            '21360',
+            '32961',
+            '18586',
+            '79307',
+            '15492'
+          )
+        intersect
+        select
+          ca_zip
+        from
+          (
+            SELECT
+              substr(ca_zip, 1, 5) ca_zip,
+              count(*) cnt
+            FROM
+              customer_address,
+              customer
+            WHERE
+              ca_address_sk = c_current_addr_sk
+              and c_preferred_cust_flag = 'Y'
+            group by
+              ca_zip
+            having
+              count(*) > 10
+          ) A1
+      ) A2
+  ) V1
+where
+  ss_store_sk = s_store_sk
+  and ss_sold_date_sk = d_date_sk
+  and d_qoy = 1
+  and d_year = 2002
+  and (substr(s_zip, 1, 2) = substr(V1.ca_zip, 1, 2))
+group by
+  s_store_name
+order by
+  s_store_name
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q80.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q80.sql
new file mode 100644
index 000000000..240d4c6cf
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q80.sql
@@ -0,0 +1,145 @@
+--
+-- 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.
+--
+-- q80 --
+with ssr as (
+  select
+    s_store_id as store_id,
+    sum(ss_ext_sales_price) as sales,
+    sum(coalesce(sr_return_amt, 0)) as returns,
+    sum(ss_net_profit - coalesce(sr_net_loss, 0)) as profit
+  from
+    store_sales
+    left outer join store_returns on (
+      ss_item_sk = sr_item_sk
+      and ss_ticket_number = sr_ticket_number
+    ),
+    date_dim,
+    store,
+    item,
+    promotion
+  where
+    ss_sold_date_sk = d_date_sk
+    and d_date between cast('1998-08-04' as date)
+    and (cast('1998-08-04' as date) + interval 30 days)
+    and ss_store_sk = s_store_sk
+    and ss_item_sk = i_item_sk
+    and i_current_price > 50
+    and ss_promo_sk = p_promo_sk
+    and p_channel_tv = 'N'
+  group by
+    s_store_id
+),
+csr as (
+  select
+    cp_catalog_page_id as catalog_page_id,
+    sum(cs_ext_sales_price) as sales,
+    sum(coalesce(cr_return_amount, 0)) as returns,
+    sum(cs_net_profit - coalesce(cr_net_loss, 0)) as profit
+  from
+    catalog_sales
+    left outer join catalog_returns on (
+      cs_item_sk = cr_item_sk
+      and cs_order_number = cr_order_number
+    ),
+    date_dim,
+    catalog_page,
+    item,
+    promotion
+  where
+    cs_sold_date_sk = d_date_sk
+    and d_date between cast('1998-08-04' as date)
+    and (cast('1998-08-04' as date) + interval 30 days)
+    and cs_catalog_page_sk = cp_catalog_page_sk
+    and cs_item_sk = i_item_sk
+    and i_current_price > 50
+    and cs_promo_sk = p_promo_sk
+    and p_channel_tv = 'N'
+  group by
+    cp_catalog_page_id
+),
+wsr as (
+  select
+    web_site_id,
+    sum(ws_ext_sales_price) as sales,
+    sum(coalesce(wr_return_amt, 0)) as returns,
+    sum(ws_net_profit - coalesce(wr_net_loss, 0)) as profit
+  from
+    web_sales
+    left outer join web_returns on (
+      ws_item_sk = wr_item_sk
+      and ws_order_number = wr_order_number
+    ),
+    date_dim,
+    web_site,
+    item,
+    promotion
+  where
+    ws_sold_date_sk = d_date_sk
+    and d_date between cast('1998-08-04' as date)
+    and (cast('1998-08-04' as date) + interval 30 days)
+    and ws_web_site_sk = web_site_sk
+    and ws_item_sk = i_item_sk
+    and i_current_price > 50
+    and ws_promo_sk = p_promo_sk
+    and p_channel_tv = 'N'
+  group by
+    web_site_id
+)
+select
+  channel,
+  id,
+  sum(sales) as sales,
+  sum(returns) as returns,
+  sum(profit) as profit
+from
+  (
+    select
+      'store channel' as channel,
+      'store' || store_id as id,
+      sales,
+      returns,
+      profit
+    from
+      ssr
+    union
+    all
+    select
+      'catalog channel' as channel,
+      'catalog_page' || catalog_page_id as id,
+      sales,
+      returns,
+      profit
+    from
+      csr
+    union
+    all
+    select
+      'web channel' as channel,
+      'web_site' || web_site_id as id,
+      sales,
+      returns,
+      profit
+    from
+      wsr
+  ) x
+group by
+  rollup (channel, id)
+order by
+  channel,
+  id
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q81.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q81.sql
new file mode 100644
index 000000000..779ee7ac5
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q81.sql
@@ -0,0 +1,86 @@
+--
+-- 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.
+--
+-- q81 --
+with customer_total_return as (
+   select
+      cr_returning_customer_sk as ctr_customer_sk,
+      ca_state as ctr_state,
+      sum(cr_return_amt_inc_tax) as ctr_total_return
+   from
+      catalog_returns,
+      date_dim,
+      customer_address
+   where
+      cr_returned_date_sk = d_date_sk
+      and d_year = 1998
+      and cr_returning_addr_sk = ca_address_sk
+   group by
+      cr_returning_customer_sk,
+      ca_state
+)
+select
+   c_customer_id,
+   c_salutation,
+   c_first_name,
+   c_last_name,
+   ca_street_number,
+   ca_street_name,
+   ca_street_type,
+   ca_suite_number,
+   ca_city,
+   ca_county,
+   ca_state,
+   ca_zip,
+   ca_country,
+   ca_gmt_offset,
+   ca_location_type,
+   ctr_total_return
+from
+   customer_total_return ctr1,
+   customer_address,
+   customer
+where
+   ctr1.ctr_total_return > (
+      select
+         avg(ctr_total_return) * 1.2
+      from
+         customer_total_return ctr2
+      where
+         ctr1.ctr_state = ctr2.ctr_state
+   )
+   and ca_address_sk = c_current_addr_sk
+   and ca_state = 'IL'
+   and ctr1.ctr_customer_sk = c_customer_sk
+order by
+   c_customer_id,
+   c_salutation,
+   c_first_name,
+   c_last_name,
+   ca_street_number,
+   ca_street_name,
+   ca_street_type,
+   ca_suite_number,
+   ca_city,
+   ca_county,
+   ca_state,
+   ca_zip,
+   ca_country,
+   ca_gmt_offset,
+   ca_location_type,
+   ctr_total_return
+limit
+   100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q82.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q82.sql
new file mode 100644
index 000000000..46a164ca5
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q82.sql
@@ -0,0 +1,45 @@
+--
+-- 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.
+--
+-- q82 --
+select
+  i_item_id,
+  i_item_desc,
+  i_current_price
+from
+  item,
+  inventory,
+  date_dim,
+  store_sales
+where
+  i_current_price between 30
+  and 30 + 30
+  and inv_item_sk = i_item_sk
+  and d_date_sk = inv_date_sk
+  and d_date between cast('2002-05-30' as date)
+  and (cast('2002-05-30' as date) + interval 60 days)
+  and i_manufact_id in (437, 129, 727, 663)
+  and inv_quantity_on_hand between 100
+  and 500
+  and ss_item_sk = i_item_sk
+group by
+  i_item_id,
+  i_item_desc,
+  i_current_price
+order by
+  i_item_id
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q83.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q83.sql
new file mode 100644
index 000000000..5fa67513c
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q83.sql
@@ -0,0 +1,125 @@
+--
+-- 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.
+--
+-- q83 --
+with sr_items as (
+     select
+          i_item_id item_id,
+          sum(sr_return_quantity) sr_item_qty
+     from
+          store_returns,
+          item,
+          date_dim
+     where
+          sr_item_sk = i_item_sk
+          and d_date in (
+               select
+                    d_date
+               from
+                    date_dim
+               where
+                    d_week_seq in (
+                         select
+                              d_week_seq
+                         from
+                              date_dim
+                         where
+                              d_date in ('1998-01-02', '1998-10-15', '1998-11-10')
+                    )
+          )
+          and sr_returned_date_sk = d_date_sk
+     group by
+          i_item_id
+),
+cr_items as (
+     select
+          i_item_id item_id,
+          sum(cr_return_quantity) cr_item_qty
+     from
+          catalog_returns,
+          item,
+          date_dim
+     where
+          cr_item_sk = i_item_sk
+          and d_date in (
+               select
+                    d_date
+               from
+                    date_dim
+               where
+                    d_week_seq in (
+                         select
+                              d_week_seq
+                         from
+                              date_dim
+                         where
+                              d_date in ('1998-01-02', '1998-10-15', '1998-11-10')
+                    )
+          )
+          and cr_returned_date_sk = d_date_sk
+     group by
+          i_item_id
+),
+wr_items as (
+     select
+          i_item_id item_id,
+          sum(wr_return_quantity) wr_item_qty
+     from
+          web_returns,
+          item,
+          date_dim
+     where
+          wr_item_sk = i_item_sk
+          and d_date in (
+               select
+                    d_date
+               from
+                    date_dim
+               where
+                    d_week_seq in (
+                         select
+                              d_week_seq
+                         from
+                              date_dim
+                         where
+                              d_date in ('1998-01-02', '1998-10-15', '1998-11-10')
+                    )
+          )
+          and wr_returned_date_sk = d_date_sk
+     group by
+          i_item_id
+)
+select
+     sr_items.item_id,
+     sr_item_qty,
+     sr_item_qty / (sr_item_qty + cr_item_qty + wr_item_qty) / 3.0 * 100 sr_dev,
+     cr_item_qty,
+     cr_item_qty / (sr_item_qty + cr_item_qty + wr_item_qty) / 3.0 * 100 cr_dev,
+     wr_item_qty,
+     wr_item_qty / (sr_item_qty + cr_item_qty + wr_item_qty) / 3.0 * 100 wr_dev,
+     (sr_item_qty + cr_item_qty + wr_item_qty) / 3.0 average
+from
+     sr_items,
+     cr_items,
+     wr_items
+where
+     sr_items.item_id = cr_items.item_id
+     and sr_items.item_id = wr_items.item_id
+order by
+     sr_items.item_id,
+     sr_item_qty
+limit
+     100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q84.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q84.sql
new file mode 100644
index 000000000..d0d5a6449
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q84.sql
@@ -0,0 +1,40 @@
+--
+-- 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.
+--
+-- q84 --
+select
+  c_customer_id as customer_id,
+  coalesce(c_last_name, '') || ', ' || coalesce(c_first_name, '') as customername
+from
+  customer,
+  customer_address,
+  customer_demographics,
+  household_demographics,
+  income_band,
+  store_returns
+where
+  ca_city = 'Hopewell'
+  and c_current_addr_sk = ca_address_sk
+  and ib_lower_bound >= 32287
+  and ib_upper_bound <= 32287 + 50000
+  and ib_income_band_sk = hd_income_band_sk
+  and cd_demo_sk = c_current_cdemo_sk
+  and hd_demo_sk = c_current_hdemo_sk
+  and sr_cdemo_sk = cd_demo_sk
+order by
+  c_customer_id
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q85.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q85.sql
new file mode 100644
index 000000000..9bac82133
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q85.sql
@@ -0,0 +1,96 @@
+--
+-- 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.
+--
+-- q85 --
+select
+    substr(r_reason_desc, 1, 20),
+    avg(ws_quantity),
+    avg(wr_refunded_cash),
+    avg(wr_fee)
+from
+    web_sales,
+    web_returns,
+    web_page,
+    customer_demographics cd1,
+    customer_demographics cd2,
+    customer_address,
+    date_dim,
+    reason
+where
+    ws_web_page_sk = wp_web_page_sk
+    and ws_item_sk = wr_item_sk
+    and ws_order_number = wr_order_number
+    and ws_sold_date_sk = d_date_sk
+    and d_year = 1998
+    and cd1.cd_demo_sk = wr_refunded_cdemo_sk
+    and cd2.cd_demo_sk = wr_returning_cdemo_sk
+    and ca_address_sk = wr_refunded_addr_sk
+    and r_reason_sk = wr_reason_sk
+    and (
+        (
+            cd1.cd_marital_status = 'M'
+            and cd1.cd_marital_status = cd2.cd_marital_status
+            and cd1.cd_education_status = '4 yr Degree'
+            and cd1.cd_education_status = cd2.cd_education_status
+            and ws_sales_price between 100.00
+            and 150.00
+        )
+        or (
+            cd1.cd_marital_status = 'D'
+            and cd1.cd_marital_status = cd2.cd_marital_status
+            and cd1.cd_education_status = 'Primary'
+            and cd1.cd_education_status = cd2.cd_education_status
+            and ws_sales_price between 50.00
+            and 100.00
+        )
+        or (
+            cd1.cd_marital_status = 'U'
+            and cd1.cd_marital_status = cd2.cd_marital_status
+            and cd1.cd_education_status = 'Advanced Degree'
+            and cd1.cd_education_status = cd2.cd_education_status
+            and ws_sales_price between 150.00
+            and 200.00
+        )
+    )
+    and (
+        (
+            ca_country = 'United States'
+            and ca_state in ('KY', 'GA', 'NM')
+            and ws_net_profit between 100
+            and 200
+        )
+        or (
+            ca_country = 'United States'
+            and ca_state in ('MT', 'OR', 'IN')
+            and ws_net_profit between 150
+            and 300
+        )
+        or (
+            ca_country = 'United States'
+            and ca_state in ('WI', 'MO', 'WV')
+            and ws_net_profit between 50
+            and 250
+        )
+    )
+group by
+    r_reason_desc
+order by
+    substr(r_reason_desc, 1, 20),
+    avg(ws_quantity),
+    avg(wr_refunded_cash),
+    avg(wr_fee)
+limit
+    100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q86.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q86.sql
new file mode 100644
index 000000000..dd47ba382
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q86.sql
@@ -0,0 +1,49 @@
+--
+-- 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.
+--
+-- q86 --
+select
+  sum(ws_net_paid) as total_sum,
+  i_category,
+  i_class,
+  grouping (i_category) + grouping (i_class) as lochierarchy,
+  rank() over (
+    partition by grouping (i_category) + grouping (i_class),
+    case
+      when grouping (i_class) = 0 then i_category
+    end
+    order by
+      sum(ws_net_paid) desc
+  ) as rank_within_parent
+from
+  web_sales,
+  date_dim d1,
+  item
+where
+  d1.d_month_seq between 1212
+  and 1212 + 11
+  and d1.d_date_sk = ws_sold_date_sk
+  and i_item_sk = ws_item_sk
+group by
+  rollup (i_category, i_class)
+order by
+  lochierarchy desc,
+  case
+    when lochierarchy = 0 then i_category
+  end,
+  rank_within_parent
+limit
+  100;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q87.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q87.sql
new file mode 100644
index 000000000..3172c3802
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q87.sql
@@ -0,0 +1,69 @@
+--
+-- 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.
+--
+-- q87 --
+select
+     count(*)
+from
+     (
+          (
+               select
+                    distinct c_last_name,
+                    c_first_name,
+                    d_date
+               from
+                    store_sales,
+                    date_dim,
+                    customer
+               where
+                    store_sales.ss_sold_date_sk = date_dim.d_date_sk
+                    and store_sales.ss_customer_sk = customer.c_customer_sk
+                    and d_month_seq between 1212
+                    and 1212 + 11
+          )
+          except
+               (
+                    select
+                         distinct c_last_name,
+                         c_first_name,
+                         d_date
+                    from
+                         catalog_sales,
+                         date_dim,
+                         customer
+                    where
+                         catalog_sales.cs_sold_date_sk = date_dim.d_date_sk
+                         and catalog_sales.cs_bill_customer_sk = customer.c_customer_sk
+                         and d_month_seq between 1212
+                         and 1212 + 11
+               )
+          except
+               (
+                    select
+                         distinct c_last_name,
+                         c_first_name,
+                         d_date
+                    from
+                         web_sales,
+                         date_dim,
+                         customer
+                    where
+                         web_sales.ws_sold_date_sk = date_dim.d_date_sk
+                         and web_sales.ws_bill_customer_sk = customer.c_customer_sk
+                         and d_month_seq between 1212
+                         and 1212 + 11
+               )
+     ) cool_cust;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q88.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q88.sql
new file mode 100644
index 000000000..15cccaf41
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q88.sql
@@ -0,0 +1,260 @@
+--
+-- 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.
+--
+-- q88 --
+select
+     *
+from
+     (
+          select
+               count(*) h8_30_to_9
+          from
+               store_sales,
+               household_demographics,
+               time_dim,
+               store
+          where
+               ss_sold_time_sk = time_dim.t_time_sk
+               and ss_hdemo_sk = household_demographics.hd_demo_sk
+               and ss_store_sk = s_store_sk
+               and time_dim.t_hour = 8
+               and time_dim.t_minute >= 30
+               and (
+                    (
+                         household_demographics.hd_dep_count = 3
+                         and household_demographics.hd_vehicle_count <= 3 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 0
+                         and household_demographics.hd_vehicle_count <= 0 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 1
+                         and household_demographics.hd_vehicle_count <= 1 + 2
+                    )
+               )
+               and store.s_store_name = 'ese'
+     ) s1,
+     (
+          select
+               count(*) h9_to_9_30
+          from
+               store_sales,
+               household_demographics,
+               time_dim,
+               store
+          where
+               ss_sold_time_sk = time_dim.t_time_sk
+               and ss_hdemo_sk = household_demographics.hd_demo_sk
+               and ss_store_sk = s_store_sk
+               and time_dim.t_hour = 9
+               and time_dim.t_minute < 30
+               and (
+                    (
+                         household_demographics.hd_dep_count = 3
+                         and household_demographics.hd_vehicle_count <= 3 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 0
+                         and household_demographics.hd_vehicle_count <= 0 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 1
+                         and household_demographics.hd_vehicle_count <= 1 + 2
+                    )
+               )
+               and store.s_store_name = 'ese'
+     ) s2,
+     (
+          select
+               count(*) h9_30_to_10
+          from
+               store_sales,
+               household_demographics,
+               time_dim,
+               store
+          where
+               ss_sold_time_sk = time_dim.t_time_sk
+               and ss_hdemo_sk = household_demographics.hd_demo_sk
+               and ss_store_sk = s_store_sk
+               and time_dim.t_hour = 9
+               and time_dim.t_minute >= 30
+               and (
+                    (
+                         household_demographics.hd_dep_count = 3
+                         and household_demographics.hd_vehicle_count <= 3 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 0
+                         and household_demographics.hd_vehicle_count <= 0 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 1
+                         and household_demographics.hd_vehicle_count <= 1 + 2
+                    )
+               )
+               and store.s_store_name = 'ese'
+     ) s3,
+     (
+          select
+               count(*) h10_to_10_30
+          from
+               store_sales,
+               household_demographics,
+               time_dim,
+               store
+          where
+               ss_sold_time_sk = time_dim.t_time_sk
+               and ss_hdemo_sk = household_demographics.hd_demo_sk
+               and ss_store_sk = s_store_sk
+               and time_dim.t_hour = 10
+               and time_dim.t_minute < 30
+               and (
+                    (
+                         household_demographics.hd_dep_count = 3
+                         and household_demographics.hd_vehicle_count <= 3 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 0
+                         and household_demographics.hd_vehicle_count <= 0 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 1
+                         and household_demographics.hd_vehicle_count <= 1 + 2
+                    )
+               )
+               and store.s_store_name = 'ese'
+     ) s4,
+     (
+          select
+               count(*) h10_30_to_11
+          from
+               store_sales,
+               household_demographics,
+               time_dim,
+               store
+          where
+               ss_sold_time_sk = time_dim.t_time_sk
+               and ss_hdemo_sk = household_demographics.hd_demo_sk
+               and ss_store_sk = s_store_sk
+               and time_dim.t_hour = 10
+               and time_dim.t_minute >= 30
+               and (
+                    (
+                         household_demographics.hd_dep_count = 3
+                         and household_demographics.hd_vehicle_count <= 3 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 0
+                         and household_demographics.hd_vehicle_count <= 0 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 1
+                         and household_demographics.hd_vehicle_count <= 1 + 2
+                    )
+               )
+               and store.s_store_name = 'ese'
+     ) s5,
+     (
+          select
+               count(*) h11_to_11_30
+          from
+               store_sales,
+               household_demographics,
+               time_dim,
+               store
+          where
+               ss_sold_time_sk = time_dim.t_time_sk
+               and ss_hdemo_sk = household_demographics.hd_demo_sk
+               and ss_store_sk = s_store_sk
+               and time_dim.t_hour = 11
+               and time_dim.t_minute < 30
+               and (
+                    (
+                         household_demographics.hd_dep_count = 3
+                         and household_demographics.hd_vehicle_count <= 3 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 0
+                         and household_demographics.hd_vehicle_count <= 0 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 1
+                         and household_demographics.hd_vehicle_count <= 1 + 2
+                    )
+               )
+               and store.s_store_name = 'ese'
+     ) s6,
+     (
+          select
+               count(*) h11_30_to_12
+          from
+               store_sales,
+               household_demographics,
+               time_dim,
+               store
+          where
+               ss_sold_time_sk = time_dim.t_time_sk
+               and ss_hdemo_sk = household_demographics.hd_demo_sk
+               and ss_store_sk = s_store_sk
+               and time_dim.t_hour = 11
+               and time_dim.t_minute >= 30
+               and (
+                    (
+                         household_demographics.hd_dep_count = 3
+                         and household_demographics.hd_vehicle_count <= 3 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 0
+                         and household_demographics.hd_vehicle_count <= 0 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 1
+                         and household_demographics.hd_vehicle_count <= 1 + 2
+                    )
+               )
+               and store.s_store_name = 'ese'
+     ) s7,
+     (
+          select
+               count(*) h12_to_12_30
+          from
+               store_sales,
+               household_demographics,
+               time_dim,
+               store
+          where
+               ss_sold_time_sk = time_dim.t_time_sk
+               and ss_hdemo_sk = household_demographics.hd_demo_sk
+               and ss_store_sk = s_store_sk
+               and time_dim.t_hour = 12
+               and time_dim.t_minute < 30
+               and (
+                    (
+                         household_demographics.hd_dep_count = 3
+                         and household_demographics.hd_vehicle_count <= 3 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 0
+                         and household_demographics.hd_vehicle_count <= 0 + 2
+                    )
+                    or (
+                         household_demographics.hd_dep_count = 1
+                         and household_demographics.hd_vehicle_count <= 1 + 2
+                    )
+               )
+               and store.s_store_name = 'ese'
+     ) s8;
diff --git a/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q89.sql b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q89.sql
new file mode 100644
index 000000000..272123a35
--- /dev/null
+++ b/extensions/spark/kyuubi-spark-connector-tpcds/src/main/resources/tpcds_3.2/q89.sql
@@ -0,0 +1,75 @@
+--
+-- 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.
+--
+-- q89 --
+select
+      *
+from
+      (
+            select
+                  i_category,
+                  i_class,
+                  i_brand,
... 971 lines suppressed ...