Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modify the LargeObject module to use non-blocking calls to libpq #114

Open
lpsmith opened this issue Jul 11, 2014 · 0 comments
Open

Modify the LargeObject module to use non-blocking calls to libpq #114

lpsmith opened this issue Jul 11, 2014 · 0 comments

Comments

@lpsmith
Copy link
Owner

lpsmith commented Jul 11, 2014

As a follow up to #25, the LargeObject module still uses blocking C calls. Libpq does not offer non-blocking versions of these functions, however, it's entirely possible to avoid these calls and use sendQuery, getResult, and friends to accomplish the same task using non-blocking C calls.

Also, this would allow us to implement out-of-box support for 64-bit large objects (c.f. lpsmith/postgresql-libpq#10) without worrying about backwards-compatible linking with older versions of libpq.

It may well be worth deprecating the large object bindings in postgresql-libpq after this issue has been implemented. I don't think there are any hackage packages other than postgresql-simple that use postgresql-libpq's large object bindings, and those who want to use large objects without postgresql-simple would be free to steal and adapt the new bindings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant