Beautifier problem

Gedas

Member
Hello, we use Developer release 9.0.1.1620. Here is a Beautifier problem that we have noticed.

In 7.1.5.1398 was everything OK, it look like this:

SELECT XMLELEMENT("properties",
XMLELEMENT("comment",'Request Data'),
XMLELEMENT("entry", XMLATTRIBUTES('CN' AS "key")),
XMLELEMENT("entry", XMLATTRIBUTES('SP' AS "key")),
XMLELEMENT("entry", XMLATTRIBUTES('O' AS "key")),
XMLELEMENT("entry", XMLATTRIBUTES('OU' AS "key")),
XMLELEMENT("entry", XMLATTRIBUTES('C' AS "key")),
XMLELEMENT("entry", XMLATTRIBUTES('EMAILADDRESS' AS "key")),
XMLELEMENT("entry", XMLATTRIBUTES('L' AS "key")),
XMLELEMENT("entry", XMLATTRIBUTES('TITLE' AS "key")),
XMLELEMENT("entry", XMLATTRIBUTES('SN' AS "key"))).GETSTRINGVAL()
FROM dual;

In 9.0.1.1620 the entire select list is placed into one row regardless of Beautifier settings:

SELECT XMLELEMENT("properties", XMLELEMENT("comment", 'Request Data'), XMLELEMENT("entry", XMLATTRIBUTES('CN' AS "key")), XMLELEMENT("entry", XMLATTRIBUTES('SP' AS "key")), XMLELEMENT("entry", XMLATTRIBUTES('O' AS "key")), XMLELEMENT("entry", XMLATTRIBUTES('OU' AS "key")), XMLELEMENT("entry", XMLATTRIBUTES('C' AS "key")), XMLELEMENT("entry", XMLATTRIBUTES('EMAILADDRESS' AS "key")), XMLELEMENT("entry", XMLATTRIBUTES('L' AS "key")), XMLELEMENT("entry", XMLATTRIBUTES('TITLE' AS "key")), XMLELEMENT("entry", XMLATTRIBUTES('SN' AS "key")))
.GETSTRINGVAL()
FROM dual;

 
Another beautifier problem (version 9.0.2.1621):

Beaufied MERGE statement looks like that:

MERGE INTO b_banks trg
USING (SELECT lv_bnk_code(i) bnk_code,
lv_bic(i) bnk_mnemo,
lv_name(i) bnk_name,
rTown.twn_code bnk_twn_code,
lc_cntr bnk_cntr_code,
'V' bnk_status
FROM dual) src
ON (trg.bnk_code = src.bnk_code AND trg.bnk_mnemo = src.bnk_mnemo)
WHEN MATCHED THEN
UPDATE
SET trg.bnk_name = src.bnk_name,
trg.bnk_twn_code = src.bnk_twn_code,
trg.bnk_cntr_code = src.bnk_cntr_code,
trg.bnk_status = src.bnk_status
WHEN NOT MATCHED THEN
INSERT
(trg.bnk_mnemo,
trg.bnk_name,
trg.bnk_twn_code,
trg.bnk_cntr_code,
trg.bnk_status)
VALUES
(src.bnk_mnemo,
src.bnk_name,
src.bnk_twn_code,
src.bnk_cntr_code,
src.bnk_status);

But when we use it with FORALL statement UPDATE part is placed into one row:

FORALL i IN lv_code.FIRST .. lv_code.LAST MERGE INTO b_banks trg USING
(SELECT lv_bnk_code(i) bnk_code,
lv_bic(i) bnk_mnemo,
lv_name(i) bnk_name,
rTown.twn_code bnk_twn_code,
lc_cntr bnk_cntr_code,
'V' bnk_status
FROM dual) src
ON(trg.bnk_code = src.bnk_code AND trg.bnk_mnemo = src.bnk_mnemo)
WHEN MATCHED THEN UPDATE SET trg.bnk_name = src.bnk_name, trg.bnk_twn_code = src.bnk_twn_code, trg.bnk_cntr_code = src.bnk_cntr_code, trg.bnk_status = src.bnk_status WHEN NOT MATCHED THEN INSERT(trg.bnk_mnemo,
trg.bnk_name,
trg.bnk_twn_code,
trg.bnk_cntr_code,
trg.bnk_status) VALUES(src.bnk_mnemo,
src.bnk_name,
src.bnk_twn_code,
src.bnk_cntr_code,
src.bnk_status);

 
Hi Marco,

I am running version 10.0.5.1710 but the query from Gedas will be formatted as below when running the beautifier:

SELECT xmlelement("properties", xmlelement("comment", 'Request Data'), xmlelement("entry", xmlattributes(' etc......
FROM dual;

I have tried different settings but without any luck

These are my beautifier settings:

Version=1
RightMargin=1024
Indent=2
UseTabCharacter=FALSE
TabCharacterSize=2
AlignDeclarationGroups=TRUE
AlignAssignmentGroups=TRUE
KeywordCase=1
IdentifierCase=2
UseSpecialCase=TRUE
ItemList.Format=0
ItemList.Align=TRUE
ItemList.CommaAfter=TRUE
ItemList.AtLeftMargin=FALSE
EmptyLines=1
ThenOnNewLine=FALSE
LoopOnNewLine=FALSE
DML.LeftAlignKeywords=TRUE
DML.LeftAlignItems=TRUE
DML.OnOneLineIfPossible=FALSE
DML.WhereSplitAndOr=TRUE
DML.WhereAndOrAfterExpression=FALSE
DML.WhereAndOrUnderWhere=TRUE
DML.JoinSplitBeforeOn=TRUE
DML.InsertItemList.Format=1
DML.InsertItemList.Align=FALSE
DML.InsertItemList.CommaAfter=TRUE
DML.InsertItemList.AtLeftMargin=FALSE
DML.SelectItemList.Format=2
DML.SelectItemList.Align=TRUE
DML.SelectItemList.CommaAfter=TRUE
DML.SelectItemList.AtLeftMargin=FALSE
DML.UpdateItemList.Format=2
DML.UpdateItemList.Align=TRUE
DML.UpdateItemList.CommaAfter=TRUE
DML.UpdateItemList.AtLeftMargin=FALSE
ParameterDeclarationList.Format=2
ParameterDeclarationList.Align=TRUE
ParameterDeclarationList.CommaAfter=TRUE
ParameterDeclarationList.AtLeftMargin=FALSE
RecordFieldList.Format=1
RecordFieldList.Align=TRUE
RecordFieldList.CommaAfter=TRUE
RecordFieldList.AtLeftMargin=FALSE
SplitAndOr=TRUE
AndOrAfterExpression=FALSE
[SpecialCase]
FALSE
TRUE
 
Back
Top