Git Product home page Git Product logo

Comments (4)

simonw avatar simonw commented on August 17, 2024

It looks like this is the code which is supposed to catch these kinds of exceptions:

sqlite-vtfunc/vtfunc.pyx

Lines 264 to 269 in 23ddc21

try:
result = table_func.iterate(pCur.idx)
except StopIteration:
pCur.stopped = True
except:
return SQLITE_ERROR

I'm not sure why return SQLITE_ERROR there is causing a segfault. Maybe that catch block should set pCur.stopped = True as well?

from sqlite-vtfunc.

simonw avatar simonw commented on August 17, 2024

Oh hang on... the clue is in the traceback: Exception ignored in: 'vtfunc.pwFilter'

Makes sense. The exception is being triggered in the initialize()' method. And it looks like there's no try/except around the call to that from the pwFilter` function:

sqlite-vtfunc/vtfunc.pyx

Lines 371 to 372 in 23ddc21

table_func.initialize(**query)
pCur.stopped = False

from sqlite-vtfunc.

coleifer avatar coleifer commented on August 17, 2024

Thanks for reporting, fixed.

from sqlite-vtfunc.

simonw avatar simonw commented on August 17, 2024

I just tested this against the new 0.3.3 release from PyPI and it worked! Thanks for the fix.

>>> curs = conn.execute('SELECT * FROM scraper(?) ORDER BY length(description) DESC  LIMIT 3', ('https://news.ycombinator.com/',))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
sqlite3.OperationalError: SQL logic error

from sqlite-vtfunc.

Related Issues (12)

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.