Re: Fwd: PATCH: Format SQL (external tool) - Mailing list pgadmin-hackers

From Akshay Joshi
Subject Re: Fwd: PATCH: Format SQL (external tool)
Date
Msg-id CANxoLDeAwFPEtH+zFZqrj8CY0qsictyXGCH9Y1fp-Y3SMK+oQg@mail.gmail.com
Whole thread Raw
In response to Re: Fwd: PATCH: Format SQL (external tool)  (Akshay Joshi <akshay.joshi@enterprisedb.com>)
Responses Re: Fwd: PATCH: Format SQL (external tool)  ("J.F. Oster" <jinfroster@mail.ru>)
List pgadmin-hackers
Hi J.F

I am reviewing your patch. I have applied the patch and try to test it on Windows 7. Below are the steps that I perform 
  • Download SQL Formatter from http://fsqlf.sourceforge.net/
  • Given the path of fsqlf.exe/wx_fsqlf.exe in File - Options - Query Editor: External formatting utility
  • I have opened the query tool and wrote some select query. Please refer the attached screenshot for SQL query.
When I have given fsqlf.exe in the path it throws the error ( see attached screenshot) and when I have given wx_fsqlf.exe in the path it always report an error "Formatting command did not respond in 3 seconds" in the status bar. 

I am not sure how to test it properly. Can you please provide some steps.

On Mon, May 18, 2015 at 10:10 AM, Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Sure.

On Fri, May 15, 2015 at 9:30 PM, Dave Page <dpage@pgadmin.org> wrote:
Akshay, can you take a look please?

Thanks.

On Fri, May 15, 2015 at 4:53 PM, J.F. Oster <jinfroster@mail.ru> wrote:
> Hello!
>
> Please take a look at the patch.
> Thanks.
>
> Per discussion
> http://www.postgresql.org/message-id/CAPyomk5NT9Tm-r3wombLzoY60Vqa+QyRDy4u84_2K9UWLbWHTg@mail.gmail.com
>
> It's most useful for making readable queries generated by ORMs such as
> Hibernate. But in general, external processing can go far beyond
> formatting task.
>
> I've implemented this feature quick-and-dirty long ago. Finally I made
> myself clean it up, now it looks better, so please consider a patch.
> Tested on Windows 7 and Ubuntu 14.04.
>
> Changes:
> * added new setting, ExtFormatCmd, "External formatting utility" in
>   Options dialogue
> * added menu item "Edit - Format - External Format" in
>   Query editor
> * class sysProcess supports UTF-8 and can pass STDIN for a process.
>
> Suggested use scenario:
> 1. Download and install some SQL formatting utility.
> 2. Tell pgAdmin where it resides:
>    File - Options - Query Editor: External formatting utility.
> 3. Open Query editor. Select a text block to format and press
>    Ctrl-Shift-F. With no selection the whole text gets formatted.
>    In case of non-zero exit code, STDERR will be shown in status bar.
>
> Requirements for external formatting utility:
> * Accepts a STDIN stream and writes result to STDOUT
> * Finishes in less than 3 seconds
> * Exits with code 0 on success
> Support for UTF-8 multibyte characters is preferable.
>
> To see whether it works well, a test can be done:
> C:\> type in.sql |some_formatter >out.sql
> C:\> echo %ERRORLEVEL%
> or
> user@linux:~$ cat in.sql |some_formatter >out.sql
> user@linux:~$ echo $?
>
> There are few available utilities depending on platform:
>    * Free SQL Formatter (Linux, Windows, Mac OS X(?))
>      http://fsqlf.sourceforge.net/
>    * Poor Man's T-SQL Formatter (Windows)
>      http://architectshack.com/PoorMansTSqlFormatter.ashx
> Also it is possible to make a wrapper script for numerous online
> formatting services, but it's less secure and less reliable.
>
> Fsqlf is FOSS and seems promising. I think of extending it for
> PosgreSQL-specific SQL syntax and probably even PL/pgSQL.
>
>
> --
> Best regards,
>  J.F.
>
>
> --
> Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgadmin-hackers
>



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



--
Akshay Joshi
Principal Software Engineer 


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246



--
Akshay Joshi
Principal Software Engineer 


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246
Attachment

pgadmin-hackers by date:

Previous
From: Akshay Joshi
Date:
Subject: Re: Fwd: PATCH: Format SQL (external tool)
Next
From: Priyanka Shendge
Date:
Subject: pgAdminIV: reset password functionality