public inbox for [email protected]  
help / color / mirror / Atom feed
From: Shirley Wang <[email protected]>
To: Raffi Holzer <[email protected]>
To: Dave Page <[email protected]>
Cc: pgadmin-hackers <[email protected]>
Subject: Re: Autoformatting
Date: Thu, 16 Feb 2017 17:19:03 +0000
Message-ID: <CAPG3WN6ib=dzdPgAB4xYeomgcSzcwVfEMkEXgPDTa89U3b1RnA@mail.gmail.com> (raw)
In-Reply-To: <CAF+OSJuZF5o-Odfh4oN5afsxWFE9Jv4_053Uct+YxOzRy5unuw@mail.gmail.com>
References: <CAF+OSJsUY01H6T7EOKO+AzN9Rt-BekzxCWWP47jWGC+mSi2sPA@mail.gmail.com>
	<CA+OCxowyMCS4DJBWm1sN-iAudt05Bii88mbxu-SPXRAK35S7jA@mail.gmail.com>
	<CAF+OSJvuDCOKMihuR0-WoJekG+S9P+Dd8tM9Ukqan5dKnXcBcA@mail.gmail.com>
	<CA+OCxoxdhH=ygL062Ey5kGGvcnP0timUqBppVH9r3oPQart3fA@mail.gmail.com>
	<CAF+OSJuZF5o-Odfh4oN5afsxWFE9Jv4_053Uct+YxOzRy5unuw@mail.gmail.com>
List-Unsubscribe:  <mailto:[email protected]?body=unsub%20pgadmin-hackers>

Hello!

Attached are current designs for SQL autoformatting. This feature is not
developed yet, only mockups of a potential solution so technical
implementation is still being discussed. Style guide for autoformatting
doesn't yet exist either, what's shown is manually formatted by another
person.

When a user highlights a section of text, a menu option appears below with
the option to autoformat text.

Not included in this current design:
- other options available when highlighting multiple sections of text
- compacting queries

We're currently testing this design with pgAdmin3 users. Looking to
validate with a few more before developing the feature. Let us know your
thoughts!

*1. Query pasted into text editor*
[image: 16- unformatted query.png]

*2. Query highlighted and autoformat option appears*
[image: 17- query highlighted.png]

*3. Query formatted*
[image: 18- formatted query.png]
On Wed, Feb 15, 2017 at 9:40 AM Raffi Holzer <[email protected]> wrote:

> Thanks Dave! We came to the same conclusion about a button press. And
> thank you for the SQL guidelines.
>
> On Wed, Feb 15, 2017 at 4:37 AM, Dave Page <[email protected]> wrote:
>
> Hi
>
> On Tue, Feb 14, 2017 at 3:02 PM, Raffi Holzer <[email protected]> wrote:
> > Hi Dave,
> >  When we were talking about auto formatting we were actually referring
> to a
> > single button press doing all of these things to a large block of text.
> The
> > use case here would be if you receive a large illegible query and paste
> it
> > into the query editor it would either automatically auto-format or you
> would
> > press a button and it would auto-format.
>
> Oh, OK.
>
> > We are trying to determine a few
> > things. One, are there preferred formatting guidelines
>
> Hmm, it seems I missed SQL when I wrote our (basic) coding standards:
> https://www.pgadmin.org/docs4/1.x/coding_standards.html
>
> By default (in my opinion), we should have 4 character indents, new
> lines for logically distinct objects (e.g. columns or constraints on a
> table), commas etc. at the end of the line, keywords in upper case,
> e.g.
>
> SELECT
>     a,
>     b,
> FROM
>     t
> ORDER BY
>     a,
>     b;
>
> However, that obviously becomes unwieldy in some cases, so common
> sense is needed:
>
> SELECT
>     a, b,
> FROM
>     t
> ORDER BY
>     a, b;
>
> There should of course be a limit on the number of columns listed per
> line - but should the limit be a count or max width in chars? With a
> CREATE TABLE statement I think it's clear that each column should be
> on it's own line:
>
> CREATE TABLE t (
>     a serial NOT NULL PRIMARY KEY,
>     b text
> );
>
> In other words, we need to define (or adopt) a formal standard for
> this, and then write a parser/formatter - which seems like a decidedly
> non-trivial amount of work (FYI, I tried the Python format-sql module,
> and it failed on ~80% of my tests - probably either because it doesn't
> understand COPY or pl/pgsql).
>
> > and two, how should
> > this autoformatting be implemented? On a button press? Upon pasting in
> the
> > text?
>
> Definitely not on pasting - if you drop in a large script, it could
> take far too long, plus you may not care, or be looking at the
> original source in another tool and trying to mentally reconcile lines
> or statements to each other. I would say it should be a
> button/shortcut.
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
>
>
>
> --
> Raffi Holzer
> Product Manager
> Pivotal Labs
>


Attachments:

  [image/png] 16- unformatted query.png (216.5K, 3-16-%20unformatted%20query.png)
  download | view image

  [image/png] 17- query highlighted.png (227.6K, 4-17-%20query%20highlighted.png)
  download | view image

  [image/png] 18- formatted query.png (224.1K, 5-18-%20formatted%20query.png)
  download | view image

view thread (6+ messages)

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: Autoformatting
  In-Reply-To: <CAPG3WN6ib=dzdPgAB4xYeomgcSzcwVfEMkEXgPDTa89U3b1RnA@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox