2021-11-06 02:31:15 +00:00
|
|
|
#pragma once
|
|
|
|
|
2022-09-28 08:45:15 +00:00
|
|
|
#include "config.h"
|
2021-11-09 12:20:45 +00:00
|
|
|
|
2021-11-22 02:52:10 +00:00
|
|
|
#if USE_HIVE
|
2021-11-06 02:31:15 +00:00
|
|
|
|
2021-12-21 06:44:31 +00:00
|
|
|
#include <Poco/Util/AbstractConfiguration.h>
|
2021-11-06 02:31:15 +00:00
|
|
|
#include <Core/BaseSettings.h>
|
|
|
|
#include <Core/Settings.h>
|
|
|
|
|
|
|
|
namespace DB
|
|
|
|
{
|
|
|
|
class ASTStorage;
|
|
|
|
|
2023-02-01 13:54:03 +00:00
|
|
|
#define HIVE_RELATED_SETTINGS(M, ALIAS) \
|
2021-11-06 02:31:15 +00:00
|
|
|
M(Char, hive_text_field_delimeter, '\x01', "How to split one row of hive data with format text", 0) \
|
2021-11-24 08:35:11 +00:00
|
|
|
M(Bool, enable_orc_stripe_minmax_index, false, "Enable using ORC stripe level minmax index.", 0) \
|
|
|
|
M(Bool, enable_parquet_rowgroup_minmax_index, false, "Enable using Parquet row-group level minmax index.", 0) \
|
|
|
|
M(Bool, enable_orc_file_minmax_index, true, "Enable using ORC file level minmax index.", 0)
|
2021-11-06 02:31:15 +00:00
|
|
|
|
2023-02-01 13:54:03 +00:00
|
|
|
#define LIST_OF_HIVE_SETTINGS(M, ALIAS) \
|
|
|
|
HIVE_RELATED_SETTINGS(M, ALIAS) \
|
2023-09-20 16:00:28 +00:00
|
|
|
LIST_OF_ALL_FORMAT_SETTINGS(M, ALIAS)
|
2021-11-06 02:31:15 +00:00
|
|
|
|
2023-02-01 13:54:03 +00:00
|
|
|
DECLARE_SETTINGS_TRAITS(HiveSettingsTraits, LIST_OF_HIVE_SETTINGS)
|
2021-11-06 02:31:15 +00:00
|
|
|
|
|
|
|
|
|
|
|
/** Settings for the Hive engine.
|
|
|
|
* Could be loaded from a CREATE TABLE query (SETTINGS clause).
|
|
|
|
*/
|
|
|
|
class HiveSettings : public BaseSettings<HiveSettingsTraits>
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
void loadFromConfig(const String & config_elem, const Poco::Util::AbstractConfiguration & config);
|
|
|
|
void loadFromQuery(ASTStorage & storage_def);
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|