Skip to content

test(pgwire): infrastructure to run PQ Golang tests#6298

Merged
bluestreak01 merged 2 commits intoquestdb:masterfrom
shubhammenroy:test/pq_golang_pgwire
Oct 31, 2025
Merged

test(pgwire): infrastructure to run PQ Golang tests#6298
bluestreak01 merged 2 commits intoquestdb:masterfrom
shubhammenroy:test/pq_golang_pgwire

Conversation

@shubhammenroy
Copy link
Copy Markdown
Contributor

Add the infrastructure to run tests against PQ Golang

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Oct 22, 2025

CLA assistant check
All committers have signed the CLA.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Oct 22, 2025

Important

Review skipped

Auto reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jerrinot
Copy link
Copy Markdown
Contributor

hello @shubhammenroy, thank you for this very useful PR!

The only bit I am unsure about is the introduction of the driver concept. I understand you aim to reuse the main loop code, but I am not sure if it's worth it. It's hard enough to grasp mappings of yaml scripts to actual clients. Having another abstraction, albeit a very thin, makes things a bit more complex. For other clients I decided to accept code duplication if it gives me less abstractions. Although the Python runners share some conversion utilities, but the main flow is separated. WDYT?

@shubhammenroy
Copy link
Copy Markdown
Contributor Author

hello @shubhammenroy, thank you for this very useful PR!

The only bit I am unsure about is the introduction of the driver concept. I understand you aim to reuse the main loop code, but I am not sure if it's worth it. It's hard enough to grasp mappings of yaml scripts to actual clients. Having another abstraction, albeit a very thin, makes things a bit more complex. For other clients I decided to accept code duplication if it gives me less abstractions. Although the Python runners share some conversion utilities, but the main flow is separated. WDYT?

Hi @jerrinot, Thanks for the kind words and for reviewing this!

Fair point about the extra abstraction. I added the driver interface to handle differences between pgx and lib/pq in arrays, nulls, and affected rows while keeping a single test flow (prepare → steps → teardown). The main reason for this approach was to avoid duplicating the core execution flow and make it easier to add new drivers in the future. For example, if anyone want 's to add pgconn or go-pg, they can simply implement the interface instead of duplicating the entire suite.

As per my thoughts, the interface approach fits best here, but I’m happy to adjust toward the Python-style pattern if you prefer.

@jerrinot
Copy link
Copy Markdown
Contributor

let's go with what you have. no need to overthink it, this is supposed to be simple. I tried it locally, tests are passing 👌

@shubhammenroy
Copy link
Copy Markdown
Contributor Author

shubhammenroy commented Oct 24, 2025

let's go with what you have. no need to overthink it, this is supposed to be simple. I tried it locally, tests are passing 👌

Hi @jerrinot,
Thanks again for the review and for giving the green light on the implementation approach!
With the latest comment confirming the tests are passing locally, this PR should now be ready for approval and merge.
Let me know if you need anything else from my side.

@jerrinot
Copy link
Copy Markdown
Contributor

@shubhammenroy many thank for your contribution!

@bluestreak01 bluestreak01 merged commit c544fb5 into questdb:master Oct 31, 2025
22 of 24 checks passed
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.

4 participants