jOOQ - разобрать обычный sql с заполнителями QueryPart - PullRequest
0 голосов
/ 25 октября 2019

У меня есть поля, которые были созданы из простой строки Sql в MSSQL Dialect и которые не могут быть переданы в синтаксический анализатор из-за сложного синтаксиса. И у меня есть простая строка sql с местозаполнителями частей запроса на диалекте PostgreSQL, например:

String myComplexSqlString = "({0} + sum({1}::integer)::text || {3}"

Есть ли способы, которыми я могу проанализировать этот SQL и вставить все части запроса, которые мне нужны после этапа синтаксического анализа и рендерингацелое поле для MSSQL Диалект? Есть предложения?

1 Ответ

0 голосов
/ 25 октября 2019

В настоящее время это невозможно, но звучит интересно. Я создал запрос функции для этого: https://github.com/jOOQ/jOOQ/issues/9447

В настоящее время, в вашем примере, ничто не мешает вам использовать API jOOQ для создания этого "сложного SQL":

Field<String> complexSQL(Field<? extends Number> arg0, Field<?> arg1, Field<?> arg3) {
    return cast(arg0.add(sum(cast(arg1, INTEGER))), CLOB).concat(arg3);
}
...