In the course of working on metadata sync, I realized that we the top-level directory of this project is essentially a huge grab bag of files. Based on guidance from PGXN and inspiration from kv-pair, pg-semver, and pg_partman, I've reworked our project's structure to be a bit… saner.
In particular, source files are in src, headers in include, SQL files in sql, and updates in updates. test contains test-related files, including the test launcher, SQL test files (now numbered), expected results, and supporting C files. Docs are in doc, executables in bin, and subdirectory Makefiles have been introduced where appropriate.
The overarching Makefile is much simpler and I foresee far fewer edits to it from now on.
In the course of working on metadata sync, I realized that we the top-level directory of this project is essentially a huge grab bag of files. Based on guidance from PGXN and inspiration from kv-pair, pg-semver, and pg_partman, I've reworked our project's structure to be a bit… saner.
In particular, source files are in
src
, headers ininclude
, SQL files insql
, and updates inupdates
.test
contains test-related files, including the test launcher, SQL test files (now numbered), expected results, and supporting C files. Docs are indoc
, executables inbin
, and subdirectoryMakefile
s have been introduced where appropriate.The overarching
Makefile
is much simpler and I foresee far fewer edits to it from now on.