sqlc-dev / sqlc-gen-python

MIT License
154 stars 19 forks source link

feat: emit_module, emit_generators and emit_async flags #15

Open kevinvalk opened 1 year ago

kevinvalk commented 1 year ago

In my case, the class wrappers were not nice nor were the usage of generators. Hence I added three flags to change the generated code. During the feature/refactor I noticed it felt weird to generate both async and sync flavors at the same time as most codebases (us including) will use one over the other. Moreover, you can always generate multiple flavors by just running the codegen multiple times.

So what I ended up doing isn to keep the exact same behavior when using emit_sync_querier or and emit_async_querier. If you keep both of these set to false you will go into the "new" flow in which you will only generate one flavor depending on emit_async (so default generates sync code).

All generated code passes all end to end tests without any changes to the tests.

kevinvalk commented 8 months ago

@kyleconroy I made some changes to ensure this change is fully backwards compatible. Is there anything blocking or are you not taking any changes for sqlc-gen-python?