#!/usr/bin/env bash

#
# Copyright 2015-2019 Intel Corporation.
# This software and the related documents are Intel copyrighted materials, and your use of them 
# is governed by the express license under which they were provided to you ("License"). Unless the 
# License provides otherwise, you may not use, modify, copy, publish, distribute, disclose or 
# transmit this software or the related documents without Intel's prior written permission.
# 
# This software and the related documents are provided as is, with no express or implied warranties, 
# other than those that are expressly stated in the License.
# 
#


helpModule () {
  echo "This module cleans all query results from HDFS as well as from the metastore for one query"
  echo
  echo "Options:"
  echo -e "-d\tdatabase to use"
  echo -e "-h\tshow this help"
  echo
  echo "INTERNAL options:"
  echo -e "-q\tquery number to run (required)"
  echo -e "-p\tbenchmark phase to use"
  echo -e "-t\tstream number for query run"
  echo -e "-z\tfile with user defined engine settings"
}

runModule () {
  if ! initQueryEnv
  then
    return 1
  fi

  echo "==============================================="
  echo "Cleaning query : $QUERY_NAME"
  echo "-----------------------------------------------"
  echo "benchmark phase: $BIG_BENCH_BENCHMARK_PHASE"
  echo "stream number  : $BIG_BENCH_STREAM_NUMBER"
  echo "user parameter file: $USER_QUERY_PARAMS_FILE"
  echo "user settings file : $USER_ENGINE_SETTINGS_FILE"
  if [ -n "$DEBUG_QUERY_PART" ]
  then
    echo "query part to debug: $DEBUG_QUERY_PART"
  fi
  echo "log: $LOG_FILE_NAME"
  echo "==============================================="

  ### Checking required folder: logs/; tmp/; result/ if they exist, create them and set permissions

  # Run the clean method implemented in the query's run.sh
  runCmdWithErrorCheck "$QUERY_CLEAN_METHOD"

  echo "cleaning dir $RESULT_DIR"
  hadoop fs -rm -r -f -skipTrash "$RESULT_DIR"

  echo "cleaning dir $TEMP_DIR"
  hadoop fs -rm -r -f -skipTrash "$TEMP_DIR"
  wait

  echo "cleaning log $LOG_FILE_NAME"
  rm -rf "$LOG_FILE_NAME"
}
