Skip to content

QuestDB support #1260

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

jerrinot
Copy link

Address type introspection failures with QuestDB due to its lack of recursive CTE support. This primarily impacts types not built into asyncpg, such as float8[].

This commit:

  • Automatically registers float8[] when connected to QuestDB.
  • Disables certain features like advisory locks, which are not supported.
  • Notes that JIT, while used by QuestDB, cannot be disabled via its SQL API.

Address type introspection failures with QuestDB due to its lack
of recursive CTE support. This primarily impacts types not built
into asyncpg, such as float8[].

This commit:
- Automatically registers float8[] when connected to QuestDB.
- Disables certain features like advisory locks, which are not supported.
- Notes that JIT, while used by QuestDB, cannot be disabled via its SQL API.
@jerrinot
Copy link
Author

Hello,

This is my first pull request to asyncpg, and I would greatly appreciate any feedback or guidance.

An alternative implementation could involve customizing the introspection queries to avoid recursive CTEs when QuestDB is detected. Since QuestDB's type system is relatively simple and lacks many PostgreSQL concepts, this should be feasible. However, I opted for the current approach as I believe it's not only simpler but also saves a network roundtrip.

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

Successfully merging this pull request may close these issues.

1 participant