0 Replies Latest reply on Dec 16, 2014 3:44 PM by Joel Slowik

    How does sql*developer formatter handle parenthesis? (found a possible inconsistency)

    Joel Slowik
      CREATE OR REPLACE PACKAGE test_pkg
      AS
          PROCEDURE test_prc;
      
      
      END TEST_pkg;
      /
      
      CREATE OR REPLACE PACKAGE BODY test_pkg
      AS
      PROCEDURE test_prc
      AS
          l_result STRING (32767) ;
      BEGIN
          NULL;
      
      
      END test_prc;
      
      END test_pkg;
      /
      
      
      
      
      
      
      
      

       

      That code was auto-formatted as I expected, i.e.

      l_result STRING (32767) ;
      
      
      

       

      However, In more complicated code the result looks like this:

      l_result STRING
      (
          32767 
      ) ;
      
      
      

       

       

      I've searched the formatter settings and could not find anything obvious. I thought perhaps my line brake limitation of 80 (and 20 for small sql) was the factor so I changed both to 200 but there was no change in behavior. I tried using the default formatter settings too and still unchanged. So I don't think this is a setting but rather how the formatter treats parenthesis in more complicated code (since I have not determined the pattern, I don't have a simple test case to reproduce the issue). Just to be clear, even in the complicated code my observations, among other places, is with variable declarations right below the AS in a procedure within a package.

       

      If this is intended, or a bug, that is fine, I would just like to close this book on the exact cause.

       

      thanks for anyone who can help

       

      -joel.