From 81dc923e8d67ff185a9f5924b257d954e1524d80 Mon Sep 17 00:00:00 2001 From: Leonard Wolters Date: Wed, 29 May 2024 12:17:31 +0200 Subject: [PATCH] Simplyfying delimiters --- .../SplitMergeFunctionTokenizer.scala | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/dsl/src/main/scala/com/crobox/clickhouse/dsl/language/SplitMergeFunctionTokenizer.scala b/dsl/src/main/scala/com/crobox/clickhouse/dsl/language/SplitMergeFunctionTokenizer.scala index 266d0bfe..d46beced 100644 --- a/dsl/src/main/scala/com/crobox/clickhouse/dsl/language/SplitMergeFunctionTokenizer.scala +++ b/dsl/src/main/scala/com/crobox/clickhouse/dsl/language/SplitMergeFunctionTokenizer.scala @@ -7,27 +7,27 @@ trait SplitMergeFunctionTokenizer { def tokenizeSplitMergeFunction(col: SplitMergeFunction[_])(implicit ctx: TokenizeContext): String = col match { case SplitByChar(sep: StringColMagnet[_], col: StringColMagnet[_]) => - // Some small optimizations - val separator = sep.column match { - case c: Const[_] => c.const.asInstanceOf[String] - } - - if (separator.length == 1) { - val s = separator.charAt(0).toInt + sep.column match { + case c: Const[String] => + val separator = c.const + if (separator.length == 1) { + val s = separator.charAt(0).toInt - // https://en.wikipedia.org/wiki/List_of_Unicode_characters - // 34 == DoubleQuote ("), 39 == Single Quote ('), - // 47 == Forward Slash (/), 92 == Backward Slash (\\) - // 96 == Grave Accent (` under tilde) - if (s == 34 || s == 39 || s == 92 || s == 96) { - s"splitByChar(char($s), ${tokenizeColumn(col.column)})" - } else if (s >= 32 && s <= 126) { - s"splitByChar(${tokenizeColumn(sep.column)}, ${tokenizeColumn(col.column)})" - } else { - s"splitByChar(char($s), ${tokenizeColumn(col.column)})" - } - } else { - s"splitByString(${tokenizeColumn(sep.column)}, ${tokenizeColumn(col.column)})" + // https://en.wikipedia.org/wiki/List_of_Unicode_characters + // 34 == DoubleQuote ("), 39 == Single Quote ('), + // 47 == Forward Slash (/), 92 == Backward Slash (\\) + // 96 == Grave Accent (` under tilde) + if (s == 34 || s == 39 || s == 92 || s == 96) { + s"splitByChar(char($s), ${tokenizeColumn(col.column)})" + } else if (s >= 32 && s <= 126) { + s"splitByChar(${tokenizeColumn(sep.column)}, ${tokenizeColumn(col.column)})" + } else { + s"splitByChar(char($s), ${tokenizeColumn(col.column)})" + } + } else { + s"splitByString(${tokenizeColumn(sep.column)}, ${tokenizeColumn(col.column)})" + } + case _ => s"splitByString(${tokenizeColumn(sep.column)}, ${tokenizeColumn(col.column)})" } case SplitByString(sep: StringColMagnet[_], col: StringColMagnet[_]) => s"splitByString(${tokenizeColumn(sep.column)}, ${tokenizeColumn(col.column)})"