Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-16609

Show invalid SQL query from previous Fuse Online versions



    • Bug
    • Status: Done
    • Critical
    • Resolution: Done
    • fuse-7.9-GA
    • fuse-7.9-GA
    • Fuse Online


      After the change to the new SQL parser, some SQL queries stop working (they were valid for the old parser but they are not valid for the new parser) probably because they are DB vendor-specific (?).
      `SELECT * FROM todo limit(1)`
      it needs to be updated to
      `SELECT * FROM todo LIMIT 1`

      or the query in the https://issues.redhat.com/browse/ENTESB-16608

      There can be more cases that we don't have covered.

      When you import the integration which contains that vendor-specific SQL query into the Fuse Online 7.9 (or the integration was created on Fuse Online 7.8 and you upgrade to Fuse Online 7.9) and you want to edit it, you will see only `Bad request` for a step which contains that query so you need to delete the SQL step and configure it again.

      We should add somewhere to the release notes that this situation can happen with the new jsqlparser. (That some SQL queries which were valid before, may not be valid in Fuse Online 7.9 anymore hence the SQL steps need to be reconfigured).

      It will be helpful for users to have the old invalid query in the error details information, not only Bad Request. According to this, they can copy the old query, delete the step, create a new one, paste the query there and fix it.
      Now the only way for users how to find the query which needs to be fixed is to export the integration, extract the zip file and find the query in the model.json.


        1. BadRequest.png
          84 kB
        2. import-edit-integration-export.zip
          3 kB
        3. query1.png
          83 kB



            zregvart-redhat Zoran Regvart
            mkralik@redhat.com Matej Kralik
            Matej Kralik Matej Kralik
            0 Vote for this issue
            4 Start watching this issue