Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Requires: #65
With this change we split the C include and the
pgzx
into 2 modules:pgzx_pgsys
: C includes and some custom C helperspgzx
: High level Zig utilities and abstractions.The split is to prepare for code generation support. When generating Zig code on the fly the generated code is imported as a module into
pgzx
, but we also want the generated code to depend on the C includes. By splitting out the C support we can have the generated module importpgsys
as a module dependency itself.The change follows the pattern in https://github.com/ziglang/zig/blob/master/test/standalone/dep_triangle/build.zig
We still re-export
pgsys
underpgzx.c
.Within
pgzx
we replaceconst c = @import(...)
withconst pg = @import("pgzx_pgsys");
. Now Postgres API usage is always prefixed withpg.*
instead ofc.*
, which is also more consistent on how we use the namespaces ourselves and in the example extensions.Follow ups (not handled in this PR):
pgsys
folderpgzx.c
topgzx.pg