Failure on schema-qualified special `OPERATOR` in PostgreSQL
Describe the bug
echo "select 'a' operator(public.=) 'A';" | npx sql-formatter -l postgresql
Expected behavior
Useful output
Actual behavior
Failure
Usage
$ npx sql-formatter --version
15.2.0
Yeah, this syntax is weird; unfortunately, it's generated by pg_dump in some cases, so my scripts that pipe schema dump through sql-formatter are failing.
Thanks for reporting.
That's definitely a tricky bit of syntax to handle.
You might be interested in trying out prettier-plugin-sql-cst. It doesn't yet have a full PostgreSQL support, but it does handle the OPERATOR() syntax.
I can thing of several hacks to fix this issue in sql-formatter. Will have to figure out which one would be the least hacky way of doing it.
Thanks; I am following that project and plan to switch to it when its Postgres support matures more, but for now here we are 🙂
If you know of anything particular that's missing from the current PostgreSQL support in the prettier-plugin-sql-cst, feel free to let me know and I might prioritize that. It will take a while for it to support 100% of Postgres syntax, but most likely something like 10% of it is actually used by most people. But I don't know which 10% :)