mirror of https://github.com/citusdata/citus.git
@thanodnl told me it was a bit of a problem that it's impossible to see the history of a UDF in git. The only way to do so is by reading all the sql migration files from new to old. Another problem is that it's also hard to review the changed UDF during code review, because to find out what changed you have to do the same. I thought of a IMHO better (but not perfect) way to handle this. We keep the definition of a UDF in sql/udfs/{name_of_udf}/latest.sql. That file we change whenever we need to make a change to the the UDF. On top of that you also make a snapshot of the file in sql/udfs/{name_of_udf}/{migration-version}.sql (e.g. 9.0-1.sql) by copying the contents. This way you can easily view what the actual changes were by looking at the latest.sql file. There's still the question on how to use these files then. Sadly postgres doesn't allow inclusion of other sql files in the migration sql file (it does in psql using \i). So instead I used the C preprocessor+ make to compile a sql/xxx.sql to a build/sql/xxx.sql file. This final build/sql/xxx.sql file has every occurence of #include "somefile.sql" in sql/xxx.sql replaced by the contents of somefile.sql. |
||
---|---|---|
.. | ||
config.yml |