RE: What happened to SQL*Developer SQL Formatter?

From: John Hallas <John.Hallas_at_morrisonsplc.co.uk>
Date: Tue, 10 Nov 2015 21:44:00 +0000
Message-ID: <EC65ECF8123FEE4D8FC5B212637C3040017A31932DE0_at_EXCH1.morrisonsplc.co.uk>



I find commas at the beginning of a line so unsightly. Never understand why some people like them. ☺

From: oracle-l-bounce_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Niall Litchfield Sent: 05 November 2015 11:01
To: jt2354_at_gmail.com
Cc: Maris Elsins; gogala.mladen_at_gmail.com; oracle-l Subject: Re: What happened to SQL*Developer SQL Formatter?

I took your sql and ran the formatter with my preferences (commas at the beginning of a line baby!!) and got the text below. That looks pretty reasonable to me. I know Jeff Smith reads this group so possibly he'll know if its possible to export/share preferences. If it isn't seems like a cool enhancement request to enforce corporate coding styles if nothing else.

SELECT
  end_time
, wait_class#
, (time_waited_fg)/(intsize_csec/100)
, ( time_waited) /(intsize_csec/100)
, 0

FROM
  v$waitclassmetric
UNION ALL
SELECT
  end_time
, -1
, SUM(

  CASE
    WHEN metric_name = 'CPU Usage Per Sec'     THEN value
    ELSE 0
  END) fg
, SUM(

  CASE
    WHEN metric_name = 'Background CPU Usage Per Sec'     THEN value
    ELSE 0
  END) bg
, SUM(

  CASE
    WHEN metric_name = 'Average Active Sessions'     THEN value
    ELSE 0
  END) dbt
FROM
  v$sysmetric
WHERE
  group_id = 2
  AND metric_name IN ('Background CPU Usage Per Sec', 'CPU Usage Per Sec', 'Average Active Sessions') GROUP BY
  end_time
ORDER BY
  end_time
, wait_class#

On Thu, Nov 5, 2015 at 9:21 AM, John Thomas <jt2354_at_gmail.com<mailto:jt2354_at_gmail.com>> wrote: Doesn't work well though.

trailing / left hanging and long lines in SELECT or WHERE clause are not broken up so they are readable.

I like the plain and simple
FUNCTION
(

    FUNC2
    (

       column_name
    )
)

... but have found no way of configuring SQL Dev formatter to do this. For example, the CASE statements are OK, but what happened with the functions on the SELECT list?

SELECT end_time, wait_class#, (time_waited_fg)/(intsize_csec/100), (

    time_waited)                                /(intsize_csec/100), 0
  FROM v$waitclassmetric
UNION ALL
SELECT end_time, -1, SUM(
      CASE
        WHEN metric_name = 'CPU Usage Per Sec'
        THEN value
        ELSE 0
      END) fg, SUM(
      CASE
        WHEN metric_name = 'Background CPU Usage Per Sec'
        THEN value
        ELSE 0
      END) bg, SUM(
      CASE
        WHEN metric_name = 'Average Active Sessions'
        THEN value
        ELSE 0
      END) dbt

  FROM v$sysmetric
  WHERE group_id = 2
  AND metric_name IN ('Background CPU Usage Per Sec', 'CPU Usage Per Sec',     'Average Active Sessions')
  GROUP BY end_time
  ORDER BY end_time, wait_class# /

Regards

John

On Thu, 5 Nov 2015 at 07:08 Maris Elsins <elmaris_at_gmail.com<mailto:elmaris_at_gmail.com>> wrote: Hi,

It' s still there in SQL Developer 4.x, you can find it by right-clicking the SQL text in the SQL sheet or hitting Ctrl+F7.

---
Maris Elsins
_at_MarisElsins<https://twitter.com/MarisElsins>
www.facebook.com/maris.elsins<https://www.facebook.com/maris.elsins>



On Thu, Nov 5, 2015 at 7:56 AM, Mladen Gogala <gogala.mladen_at_gmail.com<mailto:gogala.mladen_at_gmail.com>> wrote:
In version 3.x, there was a SQL Formatter in the "Edit" menu.  One keystroke would reformat horribly tangled SQL monsters. In the version 4.x, this very useful feature is gone. Why was that done? Who decided to throw this out and why?
Regards

--
Mladen Gogala
Oracle DBA
http://mgogala.freehostia.com

--
http://www.freelists.org/webpage/oracle-l





--
Niall Litchfield
Oracle DBA
http://www.orawin.info

______________________________________________________________________
Wm Morrison Supermarkets Plc is registered in England with number 358949. The registered office of the company is situated at Gain Lane, Bradford, West Yorkshire BD3 7DL. This email and any attachments are intended for the addressee(s) only and may be confidential. 

If you are not the intended recipient, please inform the sender by replying to the email that you have received in error and then destroy the email. 
If you are not the intended recipient, you must not use, disclose, copy or rely on the email or its attachments in any way. 

This email does not constitute a contract in writing for the purposes of the Law of Property (Miscellaneous Provisions) Act 1989.

Our Standard Terms and Conditions of Purchase, as may be amended from time to time, apply to any contract that we enter into. The current version of our Standard Terms and Conditions of Purchase is available at: http://www.morrisons.co.uk/gscop

Although we have taken steps to ensure the email and its attachments are virus-free, we cannot guarantee this or accept any responsibility, 
and it is the responsibility of recipients to carry out their own virus checks. 
______________________________________________________________________
--
http://www.freelists.org/webpage/oracle-l
Received on Tue Nov 10 2015 - 22:44:00 CET

Original text of this message