Comments (10)
try this in your tokenizer.js instead of the existing regex function
Tokenizer.prototype.createWordRegex = function createWordRegex() {
var specialChars = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
return new RegExp(`^([A-Za-z\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff` + specialChars.join("") + "]+)");
};
from sql-formatter.
@robbz23, thanks for your effort of writing a patch.
I see that your suggested regex probably comes from this StackOverflow post:
from sql-formatter.
Yup thats the one. I started on a branch for TSQL specifically we are using Sybase and we have very specific formatting requirements. Many of us already use VS Code so I thought your library was a perfect fit. I will submit my code when I get it working well.
from sql-formatter.
Hey, I'm using a PostgreSQL database and got the same Issue when formating parameterized queries like:
SELECT * FROM people WHERE last_name = $1
this ends up in
SELECT
*
FROM
people
WHERE
first_name = $ 1
from sql-formatter.
I have a query with Big Query's REGEXP_CONTAINS
like this
SELECT field1 FROM table1 WHERE REGEXP_CONTAINS(field1, r"value")
then after format it turns to
SELECT
field1
FROM
table1
WHERE
REGEXP_CONTAINS(field1, r "value")
there is a space between r
and "value"
which break the query.
from sql-formatter.
@nene any progress on this one?
Most operators are formatted so they have separating space in the middle.
Raw | Formatted |
---|---|
&& |
& & |
<@ |
< @ |
@> |
@ > |
@@ |
@ @ |
<-> |
< -> |
'cat'::tsquery |
'cat' :: tsquery |
Some references:
https://www.postgresql.org/docs/10/functions-textsearch.html
https://www.postgresql.org/docs/9.6/functions-array.html
I guess these operators could be added in tokenizer regexp https://github.com/zeroturnaround/sql-formatter/blob/master/src/core/Tokenizer.js#L22
from sql-formatter.
Fixed now in 3.1.0 release
from sql-formatter.
Query columns with special characters not working..
I have a below query and is valid query with column names with some special characters like #, $ etc
Select a#
from b
Now when I format this query it get white space between special character and name. e.g
Select a # from b
which makes it invalid query. As column name is a#
is there a way we can allow special characters in query or format ignore while formatting so query remains valid. I am using N1QL
from sql-formatter.
Im having the same issue where sql formater <@ to < @ causing query to break
from sql-formatter.
@MariuzM Please open another issue. Also make sure you have selected the right SQL dialect (I guess you're using PostgreSQL, and that's not the default).
from sql-formatter.
Related Issues (20)
- [FORMATTING] Unable to parse Hive syntax: STRUCT<x: INT64, y:STRING> HOT 3
- Canot format document when '#' character is Found HOT 1
- Snowflake Unable to format SQL: Error: Parse error: Unexpected "@test;" at line 7 column 6 HOT 2
- Formatting Error with Temporary Functions HOT 2
- [FORMATTING] column name "match" is converted to uppercase. HOT 3
- [FORMATTING] Oracle pl/sql, assignment in case block HOT 1
- [FORMATTING] array type HOT 1
- [FORMATTING] Issue Title Here HOT 1
- [FORMATTING] Formatter doesn't like the ~ in SQL statement HOT 1
- [FORMATTING] Will not format #Temp Tables HOT 1
- Error when formatting Spark SQL HOT 2
- [FORMATTING] TransactSQL incorrectly formats some block comments, leading to broken statements HOT 2
- Plugin for IntelliJ HOT 1
- Feature Request: Keep some blank lines when formatting HOT 1
- [FORMATTING] Error when formatting Clickhouse SQL with Array column type HOT 1
- Feature Request: expose parsing apis HOT 3
- Supplying empty regex crashes browser HOT 2
- [VSCODE] `SQL-Formatter-VSCode.expressionWidth` not respected HOT 2
- "Prettier-SQL.tabulateAlias": true ignores back ticks HOT 1
- [FORMATTING] MariaDB function call parenthesis spacing results in invalid MariaDB SQL HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sql-formatter.