ploomber / jupysql

Better SQL in Jupyter. 📊
https://jupysql.ploomber.io
Apache License 2.0
705 stars 75 forks source link

fix: query config value must be converted to dict #1016

Closed wimvanleuven closed 3 months ago

wimvanleuven commented 3 months ago

to be usable by URL.create()

Describe your changes

The fix mainly isolates the parsing of a configuration section in a separate function, so that in can be reused at the points where URL.create(**section) is called.

The parsing mainly ensure that a query attributed is also correctly converted to a dictionary or something else by parsing the value as a python string.

This seemed the least impactful change, while fixing the bugs related to the query parameter.

Issue number

Closes #1015

Checklist before requesting a review


📚 Documentation preview 📚: https://jupysql--1016.org.readthedocs.build/en/1016/

edublancas commented 3 months ago

@neelasha23, please review this and check the CI

I took a brief look and it seems like it's an issue with the DuckDB version (an update probably broke things)

wimvanleuven commented 3 months ago

OK for me to help fix things with some guidance, but prbly better on a separate branch?

neelasha23 commented 3 months ago

I added a basic sqlite connection in the format mentioned and it worked.

I have fixed most of the CI issues except one. Please take a look at the changes here:

  1. Unpin the DuckDB version
  2. Change the MySQL image
  3. The JSON arrow operator related tests are failing because for single operators output returned is no more in the string format. So I fixed the related tests in test_magic.py.

I still see this test failing: src/tests/integration/test_generic_db_operations.py::test_query_snippet_invalid_function_error_message[with-typo-oracle] . I'm not sure why this test is failing. @wimvanleuven Please check if you can fix it else maybe we can mark it as xfail for now and open an issue to solve it? Ensure your tests also pass in the CI. I think we should also add an example in the docs

Thoughts? @edublancas

edublancas commented 3 months ago

@neelasha23 I've merged your PR to fix the CI

@wimvanleuven feel free to rebase so you get the CI fixes

I still see this test failing: src/tests/integration/test_generic_db_operations.py::test_query_snippet_invalid_function_error_message[with-typo-oracle] . I'm not sure why this test is failing. @wimvanleuven Please check if you can fix it else maybe we can mark it as xfail for now and open an issue to solve it? Ensure your tests also pass in the CI. I think we should also add an example in the docs

yeah we can add an xfail and open an issue, we can tackle it later

yes, I think we should add an example to the docs

wimvanleuven commented 3 months ago

@edublancas

wimvanleuven commented 3 months ago

I noticed the read the docs action failed ... how to retrigger?

edublancas commented 3 months ago

I re-ran the CI, all passing now!

@neelasha23 please give a final check

edublancas commented 3 months ago

@wimvanleuven thanks so much! I'll do a release shortly!

wimvanleuven commented 2 months ago

@edublancas I don't want to rush you, but could you give an time horizon for the release, so we can plan our work accordingly? Thank you so much for the productive collab!

neelasha23 commented 2 months ago

@edublancas I don't want to rush you, but could you give an time horizon for the release

It's released @wimvanleuven