code: def init_drill_schema(drill, dir_data_lc, **kwargs):
      timeout = 300
  
      smiles_test = kwargs.get("smiles_test", False)
      testsWithNulls = Settings.data["RunSettings"]["testsWithNulls"]
  
      if smiles_test:
          dir_data_lc = dir_data_lc + "smiles/"
          table_names = smilesTables
      else:
          if testsWithNulls == "true":
              dir_data_lc = dir_data_lc + "tpch-with-nulls/"
          else:
              dir_data_lc = dir_data_lc + "tpch/"
          table_names = tpchTables
  
      for name in table_names:
          drill.query(
              "DROP TABLE IF EXISTS "
              + "dfs.tmp.`%(table)s`" % {"table": name},
              timeout,
          )
  
      num_files = kwargs.get("n_files")
      if num_files is not None:
          dir_data_lc = getFiles_to_tmp(dir_data_lc, num_files, "psv")
  
      bool_test = kwargs.get("bool_test", None)
      if bool_test:
          drill.query(
              "DROP TABLE IF EXISTS "
              + "dfs.tmp.`%(table)s`" % {"table": "bool_orders"},
              timeout,
          )
  
          drill.query(
              """
          create table dfs.tmp.`bool_orders/` as
              select CASE WHEN columns[0] = '' OR columns[0] = 'null' THEN null
                  ELSE cast(columns[0] as bigint) END as o_orderkey,
                  CASE WHEN columns[1] = '' OR columns[1] = 'null' THEN null
                  ELSE cast(columns[1] as int) END as o_custkey,
                  columns[2] as o_orderstatus,
                  CASE WHEN columns[3] = '' OR columns[3] = 'null' THEN null
                  ELSE cast(columns[3] as double) END as o_totalprice,
                  columns[4] as o_orderdate,
                  columns[5] as o_orderpriority,
                  columns[6] as o_clerk,
                  CASE WHEN columns[7] = '' OR columns[7] = 'null' THEN null
                  ELSE cast(columns[7] as int) END as o_shippriority,
                  columns[8] as o_comment,
                  CASE WHEN columns[9] = '' OR columns[9] = 'null' THEN null
                  ELSE cast(columns[9] as boolean) END as o_confirmed
          FROM table(dfs.`%(dir_data_lc)s/bool_orders_*.psv`
           (type => 'text', fieldDelimiter => '|'))
          """
              % {"dir_data_lc": dir_data_lc},
              timeout,
          )
  
      interval_test = kwargs.get("interval_test", None)
      if interval_test:
          drill.query(
              "DROP TABLE IF EXISTS "
              + "dfs.tmp.`%(table)s`" % {"table": "interval_table"},
              timeout,
          )
  
          drill.query(
              """
          create table dfs.tmp.`interval_table/` as
              select CASE WHEN columns[0] = '' OR columns[0] = 'null' THEN null
                  ELSE cast(columns[0] as bigint) END as i_id,
                  CASE WHEN columns[1] = '' OR columns[1] = 'null' THEN null
                  ELSE columns[1] END as i_duration_s,
                  CASE WHEN columns[2] = '' OR columns[2] = 'null' THEN null
                  ELSE columns[2] END as i_duration_ms
          FROM table(dfs.`%(dir_data_lc)s/interval_table_*.psv`
           (type => 'text', fieldDelimiter => '|'))
          """
              % {"dir_data_lc": dir_data_lc},
              timeout,
          )
  
      for table_name in table_names:
          drill.query(
              """ create table dfs.tmp.`%(table_name)s` as select * FROM
                       table(dfs.`%(dir_data_lc)s/%(table_name)s_*.parquet`
                       (type => 'parquet'))
                      """
              % {"dir_data_lc": dir_data_lc, "table_name": table_name},
              timeout,
          )
  
imports: import os
  import re
  import tempfile
  from collections import OrderedDict
  from os import listdir
  from os.path import isdir
  import glob
  from enum import IntEnum, unique
  import cudf
  import dask_cudf
  import numpy
  import pandas
  import pyblazing
  from blazingsql import DataType
  from pyhive import hive
  from Configuration import Settings
  from DemoTest.chronometer import Chronometer
label_desc: Use image node_id 9 for calling a global function with example usage: init_drill_schema(drill, dir_data_lc) without return types