Git Product home page Git Product logo

Comments (10)

robbz23 avatar robbz23 commented on July 22, 2024

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.

nene avatar nene commented on July 22, 2024

@robbz23, thanks for your effort of writing a patch.

I see that your suggested regex probably comes from this StackOverflow post:

from sql-formatter.

robbz23 avatar robbz23 commented on July 22, 2024

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.

planetarydev avatar planetarydev commented on July 22, 2024

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.

tuanngominh avatar tuanngominh commented on July 22, 2024

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.

godstanis avatar godstanis commented on July 22, 2024

@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.

nene avatar nene commented on July 22, 2024

Fixed now in 3.1.0 release

from sql-formatter.

qaisershehzad avatar qaisershehzad commented on July 22, 2024

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.

MariuzM avatar MariuzM commented on July 22, 2024

Im having the same issue where sql formater <@ to < @ causing query to break

from sql-formatter.

nene avatar nene commented on July 22, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.