ClickHouse/src/Analyzer/SetUtils.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

30 lines
832 B
C++
Raw Normal View History

2022-07-22 15:09:56 +00:00
#pragma once
#include <Core/Settings.h>
#include <DataTypes/IDataType.h>
#include <QueryPipeline/SizeLimits.h>
namespace DB
{
class Set;
using SetPtr = std::shared_ptr<Set>;
/** Make set for constant part of IN subquery.
* Throws exception if parameters are not valid for IN function.
*
* Example: SELECT id FROM test_table WHERE id IN (1, 2, 3, 4);
* Example: SELECT id FROM test_table WHERE id IN ((1, 2), (3, 4));
*
* @param expression_type - type of first argument of function IN.
* @param value - constant value of second argument of function IN.
2022-08-31 15:21:17 +00:00
* @param value_type - type of second argument of function IN.
2022-07-22 15:09:56 +00:00
*
* @return SetPtr for constant value.
*/
2023-05-04 17:54:08 +00:00
Block makeSetForConstantValue(const DataTypePtr & expression_type, const Field & value, const DataTypePtr & value_type, bool transform_null_in);
2022-07-22 15:09:56 +00:00
}