We're updating the issue view to help you get more done. 

Question mark escaped Error

Description

I have an oracle crypted package with a question mark in the body.

Following the code in debug I see the question mark is trasformed into * :1* in the liquibase.change.AbstractSQLChange#generateStatements with this method call

1 escapedStatement = database.getConnection().nativeSQL(statement);

This escaped statement is then checked in liquibase.executor.jvm.JdbcExecutor.ExecuteStatementCallback#doInStatement to setEscapeProcessing properly

1 2 3 if (statement.contains("?")) { stmt.setEscapeProcessing(false); }

But the stmt is the escaped one with :1 instead of ? !

How distinguish when do the escape and when use the statement as is?
Why is the escaped Statement needed in this context?

Environment

not relevant

Status

Assignee

Unassigned

Reporter

Matteo Turra

Labels

None

Components

Affects versions

3.6.3

Priority

Major