5 ms·
Author here. Based on feedback I am going to make a sqlfmt binary for easy editor integration. You can currently already do this by using the CockroachDB binar
by mjibson 8y ago
Author here. Based on feedback I am going to make a sqlfmt binary for easy editor integration.
You can currently already do this by using the CockroachDB binary (https://www.cockroachlabs.com/docs/releases/v2.1.0-beta.20180924.html https://www.cockroachlabs.com/docs/releases/v2.1.0-beta.2018...) but understandably people want a more minimal solution.
- egorfine 8y agoHey, thank you for the formatter! I really like the way it formats statements. Although I have found two issues: 1. It lowercases table and field names, rendering the formatted statement useless for a project with not exclusively lowercased names. Could you please fix this? 2. I'd appreciate accepting common placeholder "?" as a valid part of the SQL statement so that we can format queries with placeholders. Would that be possible?
- mjibson 8y agoThe formatter adheres to CockroachDB rules which is why it acts like you describe. Case is insensitive in names unless you double quote it. Postgres-style (CockroachDB is one) uses "$1" for placeholders instead of "?". Adding "?" would complicate our grammar enough that it's not worth adding it. sqlfmt is not super useful for non-postgres grammars.
- crooked-v 8y agoConsider those of us stuck with Java adapters to Postgres, which means Postgres syntax but ? for placeholders.
- mjibson 8y agoIs that a thing? The Java driver must actually parse those and convert them. Java is crazy. https://github.com/mjibson/sqlfmt/issues/25 https://github.com/mjibson/sqlfmt/issues/25 is the issue to track '?' as placeholders.
- lilactown 8y agoIt might be crazy, but having just gotten my hands dirty with some seriously DB programming, JDBC has a hell of a lot of value in my view.
- egorfine 8y agoI understand it about placeholders. Fair enough. I can do quick s/\?/\$1/g, no prob. Still how about not lowercasing identifiers? This is actually a blocker, I'm sure you see it:)
- morenoh149 8y agoI thought it was a ploy to get people to install cockroach, that's what I'm doing now.
- rntksi 8y agoHey! I love your tool. Any chance of allowing keywords that are specific to a SQL implementation? (e.g. PostgreSQL) If I enter "CREATE MATERIALIZED VIEW ... WITH DATA;" in for example, it would tell me "materialized" and "with data" is wrong.
- mjibson 8y agoAs CockroachDB matures these kinds of things will slowly get added. But sqlfmt doesn't (currently) have a goal to format all SQL, just cockroach SQL.