********************************* Session Variables ********************************* Each client connection to TajoMaster creates a unique session, and the client and TajoMaster uses the session until disconnect. A session provides session variables which are used for various configs per session. ``tsql`` provides the meta command ``\set`` to manipulate session variables. Just ``\set`` command shows all session variables. :: default> \set 'name1'='val1' 'name2'='val2' 'name3'='val3' ... ``\set key val`` will set the session variable named *key* with the value *val*. :: default> \set 'CURRENT_DATABASE'='default' default> \set key1 val1 default> \set 'CURRENT_DATABASE'='default' 'key1'='val1' Also, ``\unset key`` will unset the session variable named *key*. Now, tajo provides the following session variables. * ``DIST_QUERY_BROADCAST_JOIN_THRESHOLD`` * ``DIST_QUERY_JOIN_TASK_VOLUME`` * ``DIST_QUERY_SORT_TASK_VOLUME`` * ``DIST_QUERY_GROUPBY_TASK_VOLUME`` * ``DIST_QUERY_JOIN_PARTITION_VOLUME`` * ``DIST_QUERY_GROUPBY_PARTITION_VOLUME`` * ``DIST_QUERY_TABLE_PARTITION_VOLUME`` * ``EXECUTOR_EXTERNAL_SORT_BUFFER_SIZE`` * ``EXECUTOR_HASH_JOIN_SIZE_THRESHOLD`` * ``EXECUTOR_INNER_HASH_JOIN_SIZE_THRESHOLD`` * ``EXECUTOR_OUTER_HASH_JOIN_SIZE_THRESHOLD`` * ``EXECUTOR_GROUPBY_INMEMORY_HASH_THRESHOLD`` * ``MAX_OUTPUT_FILE_SIZE`` * ``CODEGEN`` * ``CLIENT_SESSION_EXPIRY_TIME`` * ``CLI_MAX_COLUMN`` * ``CLI_NULL_CHAR`` * ``CLI_PRINT_PAUSE_NUM_RECORDS`` * ``CLI_PRINT_PAUSE`` * ``CLI_PRINT_ERROR_TRACE`` * ``CLI_OUTPUT_FORMATTER_CLASS`` * ``CLI_ERROR_STOP`` * ``TIMEZONE`` * ``DATE_ORDER`` * ``CSVFILE_NULL`` * ``DEBUG_ENABLED`` * ``TEST_BROADCAST_JOIN_ENABLED`` * ``TEST_JOIN_OPT_ENABLED`` * ``TEST_FILTER_PUSHDOWN_ENABLED`` * ``TEST_MIN_TASK_NUM`` * ``BEHAVIOR_ARITHMETIC_ABORT`` * ``RESULT_SET_FETCH_ROWNUM``