Code formatting inserting spaces in PostgreSQL string literals

In an SQL file, with language set to PostgreSQL, when running code formatting on something like

SELECT *

  FROM foo

  WHERE bar = '${bar}'

 

The result is a space before the '$' rendering the user parameter useless.

SELECT *

  FROM foo

  WHERE bar = ' ${bar}'

 

If I try some other user parameter pattern like :\w+

SELECT *

  FROM foo

  WHERE bar = ':bar'

 

becomes

SELECT *

  FROM foo

  WHERE bar = ':bar '

with a space after the 'r' in ":bar"

 

SQL formatting settings in case:

<code_scheme name="Default" version="173">

<SqlCodeStyleSettingsversion="2">

<optionname="KEYWORD_CASE"value="0"/>

<optionname="IDENTIFIER_CASE"value="1"/>

<optionname="QUERY_SECTION_1ST_WORD_ALIGN"value="2"/>

<optionname="QUERY_EL_COMMA"value="1"/>

<optionname="SUBQUERY_OPENING"value="3"/>

<optionname="SUBQUERY_CONTENT"value="3"/>

<optionname="SUBQUERY_CLOSING"value="3"/>

<optionname="SELECT_KEEP_N_ITEMS_IN_LINE"value="1"/>

<optionname="EXPR_CASE_END"value="1"/>

</SqlCodeStyleSettings>

</code_scheme>
 
 
Note that spaces aren't added when the language association is <Generic>.
0
2 comments

Could you specify DataGrip version you use?

 

0
Avatar
Permanently deleted user

DataGrip 2018.3.1
Build #DB-183.4886.38, built on December 17, 2018
JRE: 1.8.0_152-release-1343-b26 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.13.6

0

Please sign in to leave a comment.