@@ -120,20 +120,20 @@ static DefaultMacro chsql_macros[] = {
120120 {DEFAULT_SCHEMA, " IPv4NumToString" , {" num" , nullptr }, {{nullptr , nullptr }}, R"( CONCAT(CAST((num >> 24) & 255 AS VARCHAR), '.', CAST((num >> 16) & 255 AS VARCHAR), '.', CAST((num >> 8) & 255 AS VARCHAR), '.', CAST(num & 255 AS VARCHAR)))" },
121121 {DEFAULT_SCHEMA, " IPv4StringToNum" , {" ip" , nullptr }, {{nullptr , nullptr }}, R"( CAST(SPLIT_PART(ip, '.', 1) AS INTEGER) * 256 * 256 * 256 + CAST(SPLIT_PART(ip, '.', 2) AS INTEGER) * 256 * 256 + CAST(SPLIT_PART(ip, '.', 3) AS INTEGER) * 256 + CAST(SPLIT_PART(ip, '.', 4) AS INTEGER))" },
122122 // -- JSON Macros
123- {DEFAULT_SCHEMA, " JSONExtract" , {" json" , " key" , " type" }, {{nullptr , nullptr }}, R"( CAST(json_extract(json, key) AS type))" },
124- {DEFAULT_SCHEMA, " JSONExtractRaw" , {" json" , " key" }, {{nullptr , nullptr }}, R"( json_extract(json, key))" },
125- {DEFAULT_SCHEMA, " JSONHas" , {" json" , " key" }, {{nullptr , nullptr }}, R"( json_extract(json, key) IS NOT NULL)" },
126- {DEFAULT_SCHEMA, " JSONLength" , {" json" }, {{nullptr , nullptr }}, R"( json_array_length(json))" },
127- {DEFAULT_SCHEMA, " JSONType" , {" json" }, {{nullptr , nullptr }}, R"( json_each(json))" },
128- {DEFAULT_SCHEMA, " JSONExtractKeys" , {" json" }, {{nullptr , nullptr }}, R"( json_object_keys(json))" },
129- {DEFAULT_SCHEMA, " JSONExtractValues" , {" json" }, {{nullptr , nullptr }}, R"( json_each_text(json))" },
123+ {DEFAULT_SCHEMA, " JSONExtract" , {" json" , " key" , " type" , nullptr }, {{nullptr , nullptr }}, R"( CAST(json_extract(json, key) AS type))" },
124+ {DEFAULT_SCHEMA, " JSONExtractRaw" , {" json" , " key" , nullptr }, {{nullptr , nullptr }}, R"( json_extract(json, key))" },
125+ {DEFAULT_SCHEMA, " JSONHas" , {" json" , " key" , nullptr }, {{nullptr , nullptr }}, R"( json_extract(json, key) IS NOT NULL)" },
126+ {DEFAULT_SCHEMA, " JSONLength" , {" json" , nullptr }, {{nullptr , nullptr }}, R"( json_array_length(json))" },
127+ {DEFAULT_SCHEMA, " JSONType" , {" json" , nullptr }, {{nullptr , nullptr }}, R"( json_each(json))" },
128+ {DEFAULT_SCHEMA, " JSONExtractKeys" , {" json" , nullptr }, {{nullptr , nullptr }}, R"( json_object_keys(json))" },
129+ {DEFAULT_SCHEMA, " JSONExtractValues" , {" json" , nullptr }, {{nullptr , nullptr }}, R"( json_each_text(json))" },
130130 // -- Compare Macros
131- {DEFAULT_SCHEMA, " equals" , {" a" , " b" }, {{nullptr , nullptr }}, R"( (a = b))" },
132- {DEFAULT_SCHEMA, " notEquals" , {" a" , " b" }, {{nullptr , nullptr }}, R"( (a <> b))" },
133- {DEFAULT_SCHEMA, " less" , {" a" , " b" }, {{nullptr , nullptr }}, R"( (a < b))" },
134- {DEFAULT_SCHEMA, " greater" , {" a" , " b" }, {{nullptr , nullptr }}, R"( (a > b))" },
135- {DEFAULT_SCHEMA, " lessOrEquals" , {" a" , " b" }, {{nullptr , nullptr }}, R"( (a <= b))" },
136- {DEFAULT_SCHEMA, " greaterOrEquals" , {" a" , " b" }, {{nullptr , nullptr }}, R"( (a >= b))" },
131+ {DEFAULT_SCHEMA, " equals" , {" a" , " b" , nullptr }, {{nullptr , nullptr }}, R"( (a = b))" },
132+ {DEFAULT_SCHEMA, " notEquals" , {" a" , " b" , nullptr }, {{nullptr , nullptr }}, R"( (a <> b))" },
133+ {DEFAULT_SCHEMA, " less" , {" a" , " b" , nullptr }, {{nullptr , nullptr }}, R"( (a < b))" },
134+ {DEFAULT_SCHEMA, " greater" , {" a" , " b" , nullptr }, {{nullptr , nullptr }}, R"( (a > b))" },
135+ {DEFAULT_SCHEMA, " lessOrEquals" , {" a" , " b" , nullptr }, {{nullptr , nullptr }}, R"( (a <= b))" },
136+ {DEFAULT_SCHEMA, " greaterOrEquals" , {" a" , " b" , nullptr }, {{nullptr , nullptr }}, R"( (a >= b))" },
137137 // -- Misc macros
138138 {DEFAULT_SCHEMA, " generateUUIDv4" , {nullptr }, {{nullptr , nullptr }}, R"( toString(uuid()))" },
139139 {DEFAULT_SCHEMA, " parseURL" , {" url" , " part" , nullptr }, {{nullptr , nullptr }}, R"( CASE part WHEN 'protocol' THEN REGEXP_EXTRACT(url, '^(\w+)://') WHEN 'domain' THEN REGEXP_EXTRACT(url, '://([^/:]+)') WHEN 'port' THEN REGEXP_EXTRACT(url, ':(\d+)') WHEN 'path' THEN REGEXP_EXTRACT(url, '://[^/]+(/.+?)(\?|#|$)') WHEN 'query' THEN REGEXP_EXTRACT(url, '\?([^#]+)') WHEN 'fragment' THEN REGEXP_EXTRACT(url, '#(.+)$') END)" },
0 commit comments