Git Product home page Git Product logo

Comments (3)

PhilippSalvisberg avatar PhilippSalvisberg commented on June 16, 2024

Hi @plamen-ppv

Right, there are some SQL constructs which are slow to process and may fail when running from SQLcl. There are two workarounds:

a) use the standalone formatter tvdformat.jar. It's still slow, but it usually finishes (not feasible for interactive usage)
b) exclude the files from processing via the an ignore configuration . I use this approach in various projects where I format the code via pre-commit hook. You could also create a batch-file so you do not have to pass the ignore parameter each time.

I do not see an easy way to identify problematic files. It is not always the size. Also, very large lists (in or type constructors) are problematic, even if the file is small. So using the ignore parameter seems to be the best approach IMO.

from plsql-formatter-settings.

PhilippSalvisberg avatar PhilippSalvisberg commented on June 16, 2024

If the root cause of the slow Arbori queries cannot be addressed an option could be to define a timeout option with a default value of let's say 10 seconds per file. If the timeout is reached the formatting process for the current file could be aborted.

from plsql-formatter-settings.

plamen-ppv avatar plamen-ppv commented on June 16, 2024

Adding such timeout option will be the most pragmatic solution! it will cover all cases, regardless of origin.

from plsql-formatter-settings.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.