From 157f822e7b081dbe001dde73dde0ea3ecfa38e91 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 27 Oct 2022 09:34:55 +0200 Subject: [PATCH] [jOOQ/jOOQ#14141] Generated text blocks for view sources should escape backslashes --- .../src/main/java/org/jooq/codegen/JavaGenerator.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java index 8595fc7f95..943672a074 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java @@ -7272,11 +7272,18 @@ public class JavaGenerator extends AbstractGenerator { } // [#9817] Generate text blocks only if there are newlines or quotes - else if (generateTextBlocks0() && (string.contains("\n") || string.contains("\r") || string.contains("\""))) { + else if (generateTextBlocks0() && ( + string.contains("\\") + || string.contains("\n") + || string.contains("\r") + || string.contains("\"") + )) { // TODO [#3450] Escape sequences? // TODO [#10007] [#10318] Long textblocks? // TODO [#10869] String interpolation in kotlin? - String result = string.replace("\"\"\"", "\\\"\\\"\\\""); + String result = string + .replace("\\", "\\\\") + .replace("\"\"\"", "\\\"\\\"\\\""); // Only Java has incidental whitespace support (?)