Inventory all of the functions in Postgres, and, to the extent possible, map them to ClickHouse equivalents. Some of this has already been done in src/custom_types.c, but we need far more comprehensive coverage. There are at least three categories of function mappings:
- Functions with the same name and functionality in both Postgres and ClickHouse. These should already work, but add tests to ensure correctness.
- Functions with different names (or capitalization, since ClickHouse functions are case-sensitive). We've mapped a few, but need many more.
- Functions with no direct equivalent. Make a complete list of these and determine how best to handle them, either by combining other multiple ClickHouse functions, by adding equivalents to ClickHouse itself, or some other approach.
Inventory all of the functions in Postgres, and, to the extent possible, map them to ClickHouse equivalents. Some of this has already been done in
src/custom_types.c, but we need far more comprehensive coverage. There are at least three categories of function mappings: