Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects versions: 3.6.3
    • Fix versions: None
    • Environment:

      not relevant

    • Sprint:

      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

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

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

       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?

        Attachments

          Activity

            People

            • Reporter:
              m.turra Matteo Turra
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: