@iarayan/ch-orm
Version:
A Developer-First ClickHouse ORM with Powerful CLI Tools
188 lines • 6.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Functions = exports.IntervalTypes = exports.TableEngines = exports.DataTypes = void 0;
/**
* ClickHouse data types enumeration
* Comprehensive list of data types supported by ClickHouse
*/
var DataTypes;
(function (DataTypes) {
// Integer types
DataTypes["INT8"] = "Int8";
DataTypes["UINT8"] = "UInt8";
DataTypes["INT16"] = "Int16";
DataTypes["UINT16"] = "UInt16";
DataTypes["INT32"] = "Int32";
DataTypes["UINT32"] = "UInt32";
DataTypes["INT64"] = "Int64";
DataTypes["UINT64"] = "UInt64";
DataTypes["INT128"] = "Int128";
DataTypes["UINT128"] = "UInt128";
DataTypes["INT256"] = "Int256";
DataTypes["UINT256"] = "UInt256";
// Floating point types
DataTypes["FLOAT32"] = "Float32";
DataTypes["FLOAT64"] = "Float64";
// Decimal types
DataTypes["DECIMAL"] = "Decimal";
DataTypes["DECIMAL32"] = "Decimal32";
DataTypes["DECIMAL64"] = "Decimal64";
DataTypes["DECIMAL128"] = "Decimal128";
DataTypes["DECIMAL256"] = "Decimal256";
// String types
DataTypes["STRING"] = "String";
DataTypes["FIXED_STRING"] = "FixedString";
// Date and time types
DataTypes["DATE"] = "Date";
DataTypes["DATE32"] = "Date32";
DataTypes["DATETIME"] = "DateTime";
DataTypes["DATETIME64"] = "DateTime64";
// Boolean type (represented as UInt8)
DataTypes["BOOLEAN"] = "Bool";
// UUID type
DataTypes["UUID"] = "UUID";
// Array type
DataTypes["ARRAY"] = "Array";
// Tuple type
DataTypes["TUPLE"] = "Tuple";
// Map type
DataTypes["MAP"] = "Map";
// Nullable modifier
DataTypes["NULLABLE"] = "Nullable";
// Enum types
DataTypes["ENUM8"] = "Enum8";
DataTypes["ENUM16"] = "Enum16";
// LowCardinality modifier
DataTypes["LOW_CARDINALITY"] = "LowCardinality";
// Nested type
DataTypes["NESTED"] = "Nested";
// IPv4 and IPv6 types
DataTypes["IPV4"] = "IPv4";
DataTypes["IPV6"] = "IPv6";
// Geo types
DataTypes["POINT"] = "Point";
DataTypes["RING"] = "Ring";
DataTypes["POLYGON"] = "Polygon";
DataTypes["MULTIPOLYGON"] = "MultiPolygon";
// Special types
DataTypes["NOTHING"] = "Nothing";
DataTypes["INTERVAL"] = "Interval";
DataTypes["JSON"] = "JSON";
})(DataTypes || (exports.DataTypes = DataTypes = {}));
/**
* ClickHouse table engines
*/
var TableEngines;
(function (TableEngines) {
// Core engines
TableEngines["MERGE_TREE"] = "MergeTree";
TableEngines["REPLACING_MERGE_TREE"] = "ReplacingMergeTree";
TableEngines["SUMMING_MERGE_TREE"] = "SummingMergeTree";
TableEngines["AGGREGATING_MERGE_TREE"] = "AggregatingMergeTree";
TableEngines["COLLAPSING_MERGE_TREE"] = "CollapsingMergeTree";
TableEngines["VERSIONED_COLLAPSING_MERGE_TREE"] = "VersionedCollapsingMergeTree";
TableEngines["GRAPHITE_MERGE_TREE"] = "GraphiteMergeTree";
// Log family
TableEngines["LOG"] = "Log";
TableEngines["TINY_LOG"] = "TinyLog";
TableEngines["STRIPE_LOG"] = "StripeLog";
// Integration engines
TableEngines["KAFKA"] = "Kafka";
TableEngines["MYSQL"] = "MySQL";
TableEngines["POSTGRESQL"] = "PostgreSQL";
TableEngines["JDBC"] = "JDBC";
TableEngines["HDFS"] = "HDFS";
TableEngines["S3"] = "S3";
// Special engines
TableEngines["DISTRIBUTED"] = "Distributed";
TableEngines["MATERIALIZED_VIEW"] = "MaterializedView";
TableEngines["DICTIONARY"] = "Dictionary";
TableEngines["MERGE"] = "Merge";
TableEngines["FILE"] = "File";
TableEngines["NULL"] = "Null";
TableEngines["BUFFER"] = "Buffer";
TableEngines["MEMORY"] = "Memory";
TableEngines["SET"] = "Set";
TableEngines["JOIN"] = "Join";
TableEngines["URL"] = "URL";
TableEngines["VIEW"] = "View";
})(TableEngines || (exports.TableEngines = TableEngines = {}));
/**
* Interval types for ClickHouse
*/
var IntervalTypes;
(function (IntervalTypes) {
IntervalTypes["SECOND"] = "SECOND";
IntervalTypes["MINUTE"] = "MINUTE";
IntervalTypes["HOUR"] = "HOUR";
IntervalTypes["DAY"] = "DAY";
IntervalTypes["WEEK"] = "WEEK";
IntervalTypes["MONTH"] = "MONTH";
IntervalTypes["QUARTER"] = "QUARTER";
IntervalTypes["YEAR"] = "YEAR";
})(IntervalTypes || (exports.IntervalTypes = IntervalTypes = {}));
/**
* Collection of ClickHouse specific SQL functions
*/
exports.Functions = {
// Date and time functions
NOW: "now()",
TODAY: "today()",
YESTERDAY: "yesterday()",
TOMORROW: "tomorrow()",
TO_YEAR_BEGIN: "toYearBegin",
TO_QUARTER_BEGIN: "toQuarterBegin",
TO_MONTH_BEGIN: "toMonthBegin",
TO_WEEK_BEGIN: "toWeekBegin",
TO_DAY_BEGIN: "toDayBegin",
TO_HOUR_BEGIN: "toHourBegin",
TO_MINUTE_BEGIN: "toMinuteBegin",
TO_DATE: "toDate",
TO_DATETIME: "toDateTime",
TO_UNIX_TIMESTAMP: "toUnixTimestamp",
FROM_UNIX_TIMESTAMP: "fromUnixTimestamp",
// Array functions
ARRAY: "array",
ARRAY_JOIN: "arrayJoin",
ARRAY_MAP: "arrayMap",
ARRAY_FILTER: "arrayFilter",
ARRAY_COUNT: "arrayCount",
ARRAY_SUM: "arraySum",
ARRAY_DISTINCT: "arrayDistinct",
ARRAY_ENUMERATE: "arrayEnumerate",
// Aggregate functions
COUNT: "count",
SUM: "sum",
AVG: "avg",
MIN: "min",
MAX: "max",
GROUP_ARRAY: "groupArray",
GROUP_ARRAY_DISTINCT: "groupArrayDistinct",
GROUP_ARRAY_MOVING_AVG: "groupArrayMovingAvg",
QUANTILE: "quantile",
MEDIAN: "median",
// String functions
CONCAT: "concat",
SUBSTRING: "substring",
TRIM: "trim",
LOWER: "lower",
UPPER: "upper",
LENGTH: "length",
POSITION: "position",
// Hash functions
MD5: "MD5",
SHA1: "SHA1",
SHA224: "SHA224",
SHA256: "SHA256",
CITY_HASH64: "cityHash64",
// Math functions
ABS: "abs",
ROUND: "round",
FLOOR: "floor",
CEIL: "ceil",
// Conditional functions
IF: "if",
MULTI_IF: "multiIf",
CASE: "CASE",
};
//# sourceMappingURL=Types.js.map