Re: Fwd: PATCH: Format SQL (external tool)

From: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: "J(dot)F(dot) Oster" <jinfroster(at)mail(dot)ru>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: Fwd: PATCH: Format SQL (external tool)
Date: 2015-05-18 12:42:11
Message-ID: CANxoLDeAwFPEtH+zFZqrj8CY0qsictyXGCH9Y1fp-Y3SMK+oQg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(dot)joshi(at)enterprisedb(dot)com> wrote:

> Sure.
>
> On Fri, May 15, 2015 at 9:30 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>
>> Akshay, can you take a look please?
>>
>> Thanks.
>>
>> On Fri, May 15, 2015 at 4:53 PM, J.F. Oster <jinfroster(at)mail(dot)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(at)linux:~$ cat in.sql |some_formatter >out.sql
>> > user(at)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(at)postgresql(dot)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-9517Mobile: +91 976-788-8246*
>

--
*Akshay Joshi*
*Principal Software Engineer *

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

Attachment Content-Type Size
Error.png image/png 316.5 KB

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Priyanka Shendge 2015-05-18 12:51:42 pgAdminIV: reset password functionality
Previous Message Akshay Joshi 2015-05-18 04:40:16 Re: Fwd: PATCH: Format SQL (external tool)