Description
In G-3170 the result of the SQL statement is part of the SQL code block:
reate table null_test (
test_case number(2) not null
,column_defaulted varchar2(10 char) default 'Default')
/
insert into null_test(test_case, column_defaulted) values (1,'Value');
insert into null_test(test_case, column_defaulted) values (2,default);
insert into null_test(test_case, column_defaulted) values (3,null);
select * from null_test;
TEST_CASE COLUMN_DEF
--------- -----------
1 Value
2 Default
3
The formatter does not format code that is invalid. Hence the code is not formatted. To solve the problem the result of the query could be placed in comments our shown in a dedicated code block (without sql tag).
Variant a) commented out
create table null_test (
test_case number(2) not null
,column_defaulted varchar2(10 char) default 'Default')
/
insert into null_test(test_case,column_defaulted) values (1,'Value');
insert into null_test(test_case,column_defaulted) values (2,default);
insert into null_test(test_case,column_defaulted) values (3,null);
select * from null_test;
/*
TEST_CASE COLUMN_DEF
--------- -----------
1 Value
2 Default
3
*/
Variant b) dedicated code block for result
create table null_test (
test_case number(2) not null
,column_defaulted varchar2(10 char) default 'Default')
/
insert into null_test(test_case,column_defaulted) values (1,'Value');
insert into null_test(test_case,column_defaulted) values (2,default);
insert into null_test(test_case,column_defaulted) values (3,null);
select * from null_test;
TEST_CASE COLUMN_DEF
--------- -----------
1 Value
2 Default
3
Relevant files
By running the following command in the root of the Git project (with enabled Git pre-commit hook) all SQL code blocks are formatted.
.git/hooks/pre-commit ./docs
Unfortunately invalid code in Markdown files is not reported by the formatter. However, when I run a patched version of format.js
(calling hasParseErrors
with console output) then the files with formatting errors become visible. Here's the complete output:
SQL> tvdformat ./docs xml=formatter/trivadis_advanced_format.xml arbori=formatter/trivadis_custom_format.arbori
Formatting file 1 of 133: ./docs/1-introduction/introduction.md... done.
Formatting file 2 of 133: ./docs/2-naming-conventions/naming-conventions.md... done.
Formatting file 3 of 133: ./docs/3-coding-style/coding-style.md... done.
Formatting file 4 of 133: ./docs/4-language-usage/1-general/g-1010.md... done.
Formatting file 5 of 133: ./docs/4-language-usage/1-general/g-1020.md... done.
Formatting file 6 of 133: ./docs/4-language-usage/1-general/g-1030.md... done.
Formatting file 7 of 133: ./docs/4-language-usage/1-general/g-1040.md... done.
Formatting file 8 of 133: ./docs/4-language-usage/1-general/g-1050.md... done.
Formatting file 9 of 133: ./docs/4-language-usage/1-general/g-1060.md... done.
Formatting file 10 of 133: ./docs/4-language-usage/1-general/g-1070.md... done.
Formatting file 11 of 133: ./docs/4-language-usage/1-general/g-1080.md... done.
Formatting file 12 of 133: ./docs/4-language-usage/2-variables-and-types/1-general/g-2110.md... done.
Formatting file 13 of 133: ./docs/4-language-usage/2-variables-and-types/1-general/g-2120.md... done.
Formatting file 14 of 133: ./docs/4-language-usage/2-variables-and-types/1-general/g-2130.md... done.
Formatting file 15 of 133: ./docs/4-language-usage/2-variables-and-types/1-general/g-2135.md... done.
Formatting file 16 of 133: ./docs/4-language-usage/2-variables-and-types/1-general/g-2140.md... done.
Formatting file 17 of 133: ./docs/4-language-usage/2-variables-and-types/1-general/g-2145.md... done.
Formatting file 18 of 133: ./docs/4-language-usage/2-variables-and-types/1-general/g-2150.md... done.
Formatting file 19 of 133: ./docs/4-language-usage/2-variables-and-types/1-general/g-2160.md... done.
Formatting file 20 of 133: ./docs/4-language-usage/2-variables-and-types/1-general/g-2170.md... done.
Formatting file 21 of 133: ./docs/4-language-usage/2-variables-and-types/1-general/g-2180.md... done.
Formatting file 22 of 133: ./docs/4-language-usage/2-variables-and-types/1-general/g-2185.md... done.
Formatting file 23 of 133: ./docs/4-language-usage/2-variables-and-types/1-general/g-2190.md... done.
Formatting file 24 of 133: ./docs/4-language-usage/2-variables-and-types/2-numeric-data-types/g-2210.md... done.
Formatting file 25 of 133: ./docs/4-language-usage/2-variables-and-types/2-numeric-data-types/g-2220.md... done.
Formatting file 26 of 133: ./docs/4-language-usage/2-variables-and-types/2-numeric-data-types/g-2230.md... done.
Formatting file 27 of 133: ./docs/4-language-usage/2-variables-and-types/3-character-data-types/g-2310.md... done.
Formatting file 28 of 133: ./docs/4-language-usage/2-variables-and-types/3-character-data-types/g-2320.md... done.
Formatting file 29 of 133: ./docs/4-language-usage/2-variables-and-types/3-character-data-types/g-2330.md... done.
Formatting file 30 of 133: ./docs/4-language-usage/2-variables-and-types/3-character-data-types/g-2340.md... done.
Formatting file 31 of 133: ./docs/4-language-usage/2-variables-and-types/4-boolean-data-types/g-2410.md... done.
Formatting file 32 of 133: ./docs/4-language-usage/2-variables-and-types/5-large-objects/g-2510.md... done.
Formatting file 33 of 133: ./docs/4-language-usage/2-variables-and-types/6-cursor-variables/g-2610.md... done.
Formatting file 34 of 133: ./docs/4-language-usage/3-dml-and-sql/1-general/g-3110.md... done.
Formatting file 35 of 133: ./docs/4-language-usage/3-dml-and-sql/1-general/g-3115.md... done.
Formatting file 36 of 133: ./docs/4-language-usage/3-dml-and-sql/1-general/g-3120.md... done.
Formatting file 37 of 133: ./docs/4-language-usage/3-dml-and-sql/1-general/g-3130.md... done.
Formatting file 38 of 133: ./docs/4-language-usage/3-dml-and-sql/1-general/g-3140.md... done.
Formatting file 39 of 133: ./docs/4-language-usage/3-dml-and-sql/1-general/g-3145.md... done.
Formatting file 40 of 133: ./docs/4-language-usage/3-dml-and-sql/1-general/g-3150.md... done.
Formatting file 41 of 133: ./docs/4-language-usage/3-dml-and-sql/1-general/g-3160.md... Syntax Error at line 19, column 6
Error report -
^^^
Expected: ... done.
Formatting file 42 of 133: ./docs/4-language-usage/3-dml-and-sql/1-general/g-3170.md... Syntax Error at line 12, column 10
TEST_CASE COLUMN_DEF
^^^
Expected: ... Syntax Error at line 12, column 11
TEST_CASE COLUMN_DEF
^^^
Expected: ... done.
Formatting file 43 of 133: ./docs/4-language-usage/3-dml-and-sql/1-general/g-3180.md... done.
Formatting file 44 of 133: ./docs/4-language-usage/3-dml-and-sql/1-general/g-3185.md... done.
Formatting file 45 of 133: ./docs/4-language-usage/3-dml-and-sql/1-general/g-3190.md... Syntax Error at line 9, column 16
DEPARTMENT_NAME LAST_NAME FIRST_NAME
^^^
Expected: ... Syntax Error at line 10, column 16
DEPARTMENT_NAME LAST_NAME FIRST_NAME
^^^
Expected: ... done.
Formatting file 46 of 133: ./docs/4-language-usage/3-dml-and-sql/1-general/g-3195.md... done.
Formatting file 47 of 133: ./docs/4-language-usage/3-dml-and-sql/2-bulk-operations/g-3210.md... done.
Formatting file 48 of 133: ./docs/4-language-usage/3-dml-and-sql/2-bulk-operations/g-3220.md... done.
Formatting file 49 of 133: ./docs/4-language-usage/3-dml-and-sql/3-transaction-control/g-3310.md... done.
Formatting file 50 of 133: ./docs/4-language-usage/3-dml-and-sql/3-transaction-control/g-3320.md... done.
Formatting file 51 of 133: ./docs/4-language-usage/4-control-structures/1-cursor/g-4110.md... done.
Formatting file 52 of 133: ./docs/4-language-usage/4-control-structures/1-cursor/g-4120.md... done.
Formatting file 53 of 133: ./docs/4-language-usage/4-control-structures/1-cursor/g-4130.md... done.
Formatting file 54 of 133: ./docs/4-language-usage/4-control-structures/1-cursor/g-4140.md... done.
Formatting file 55 of 133: ./docs/4-language-usage/4-control-structures/2-case-if-decode-nvl-nvl2-coalesce/g-4210.md... done.
Formatting file 56 of 133: ./docs/4-language-usage/4-control-structures/2-case-if-decode-nvl-nvl2-coalesce/g-4220.md... done.
Formatting file 57 of 133: ./docs/4-language-usage/4-control-structures/2-case-if-decode-nvl-nvl2-coalesce/g-4230.md... done.
Formatting file 58 of 133: ./docs/4-language-usage/4-control-structures/2-case-if-decode-nvl-nvl2-coalesce/g-4240.md... done.
Formatting file 59 of 133: ./docs/4-language-usage/4-control-structures/2-case-if-decode-nvl-nvl2-coalesce/g-4250.md... done.
Formatting file 60 of 133: ./docs/4-language-usage/4-control-structures/2-case-if-decode-nvl-nvl2-coalesce/g-4260.md... done.
Formatting file 61 of 133: ./docs/4-language-usage/4-control-structures/2-case-if-decode-nvl-nvl2-coalesce/g-4270.md... done.
Formatting file 62 of 133: ./docs/4-language-usage/4-control-structures/3-flow-control/g-4310.md... done.
Formatting file 63 of 133: ./docs/4-language-usage/4-control-structures/3-flow-control/g-4320.md... done.
Formatting file 64 of 133: ./docs/4-language-usage/4-control-structures/3-flow-control/g-4325.md... done.
Formatting file 65 of 133: ./docs/4-language-usage/4-control-structures/3-flow-control/g-4330.md... done.
Formatting file 66 of 133: ./docs/4-language-usage/4-control-structures/3-flow-control/g-4340.md... done.
Formatting file 67 of 133: ./docs/4-language-usage/4-control-structures/3-flow-control/g-4350.md... done.
Formatting file 68 of 133: ./docs/4-language-usage/4-control-structures/3-flow-control/g-4360.md... done.
Formatting file 69 of 133: ./docs/4-language-usage/4-control-structures/3-flow-control/g-4365.md... done.
Formatting file 70 of 133: ./docs/4-language-usage/4-control-structures/3-flow-control/g-4370.md... done.
Formatting file 71 of 133: ./docs/4-language-usage/4-control-structures/3-flow-control/g-4375.md... done.
Formatting file 72 of 133: ./docs/4-language-usage/4-control-structures/3-flow-control/g-4380.md... done.
Formatting file 73 of 133: ./docs/4-language-usage/4-control-structures/3-flow-control/g-4385.md... done.
Formatting file 74 of 133: ./docs/4-language-usage/4-control-structures/3-flow-control/g-4390.md... done.
Formatting file 75 of 133: ./docs/4-language-usage/4-control-structures/3-flow-control/g-4395.md... done.
Formatting file 76 of 133: ./docs/4-language-usage/5-exception-handling/g-5010.md... done.
Formatting file 77 of 133: ./docs/4-language-usage/5-exception-handling/g-5020.md... done.
Formatting file 78 of 133: ./docs/4-language-usage/5-exception-handling/g-5030.md... Syntax Error at line 22, column 6
Error report -
^^^
Expected: ... done.
Formatting file 79 of 133: ./docs/4-language-usage/5-exception-handling/g-5040.md... done.
Formatting file 80 of 133: ./docs/4-language-usage/5-exception-handling/g-5050.md... done.
Formatting file 81 of 133: ./docs/4-language-usage/5-exception-handling/g-5060.md... done.
Formatting file 82 of 133: ./docs/4-language-usage/5-exception-handling/g-5070.md... done.
Formatting file 83 of 133: ./docs/4-language-usage/5-exception-handling/g-5080.md... Syntax Error at line 6, column 5
)
^^^
Expected: ... Syntax Error at line 6, column 5
)
^^^
Expected: ... done.
Formatting file 84 of 133: ./docs/4-language-usage/6-dynamic-sql/g-6010.md... done.
Formatting file 85 of 133: ./docs/4-language-usage/6-dynamic-sql/g-6020.md... done.
Formatting file 86 of 133: ./docs/4-language-usage/7-stored-objects/1-general/g-7110.md... done.
Formatting file 87 of 133: ./docs/4-language-usage/7-stored-objects/1-general/g-7120.md... done.
Formatting file 88 of 133: ./docs/4-language-usage/7-stored-objects/1-general/g-7125.md... done.
Formatting file 89 of 133: ./docs/4-language-usage/7-stored-objects/1-general/g-7130.md... done.
Formatting file 90 of 133: ./docs/4-language-usage/7-stored-objects/1-general/g-7140.md... done.
Formatting file 91 of 133: ./docs/4-language-usage/7-stored-objects/1-general/g-7150.md... done.
Formatting file 92 of 133: ./docs/4-language-usage/7-stored-objects/1-general/g-7160.md... done.
Formatting file 93 of 133: ./docs/4-language-usage/7-stored-objects/1-general/g-7170.md... done.
Formatting file 94 of 133: ./docs/4-language-usage/7-stored-objects/2-packages/g-7210.md... done.
Formatting file 95 of 133: ./docs/4-language-usage/7-stored-objects/2-packages/g-7220.md... done.
Formatting file 96 of 133: ./docs/4-language-usage/7-stored-objects/2-packages/g-7230.md... done.
Formatting file 97 of 133: ./docs/4-language-usage/7-stored-objects/2-packages/g-7250.md... done.
Formatting file 98 of 133: ./docs/4-language-usage/7-stored-objects/3-procedures/g-7310.md... done.
Formatting file 99 of 133: ./docs/4-language-usage/7-stored-objects/3-procedures/g-7320.md... done.
Formatting file 100 of 133: ./docs/4-language-usage/7-stored-objects/3-procedures/g-7330.md... done.
Formatting file 101 of 133: ./docs/4-language-usage/7-stored-objects/4-functions/g-7410.md... done.
Formatting file 102 of 133: ./docs/4-language-usage/7-stored-objects/4-functions/g-7420.md... done.
Formatting file 103 of 133: ./docs/4-language-usage/7-stored-objects/4-functions/g-7430.md... done.
Formatting file 104 of 133: ./docs/4-language-usage/7-stored-objects/4-functions/g-7440.md... done.
Formatting file 105 of 133: ./docs/4-language-usage/7-stored-objects/4-functions/g-7450.md... done.
Formatting file 106 of 133: ./docs/4-language-usage/7-stored-objects/4-functions/g-7460.md... done.
Formatting file 107 of 133: ./docs/4-language-usage/7-stored-objects/5-oracle-supplied-packages/g-7510.md... done.
Formatting file 108 of 133: ./docs/4-language-usage/7-stored-objects/6-object-types/object-types.md... done.
Formatting file 109 of 133: ./docs/4-language-usage/7-stored-objects/7-triggers/g-7710.md... done.
Formatting file 110 of 133: ./docs/4-language-usage/7-stored-objects/7-triggers/g-7720.md... done.
Formatting file 111 of 133: ./docs/4-language-usage/7-stored-objects/7-triggers/g-7730.md... done.
Formatting file 112 of 133: ./docs/4-language-usage/7-stored-objects/7-triggers/g-7740.md... done.
Formatting file 113 of 133: ./docs/4-language-usage/7-stored-objects/8-sequences/g-7810.md... done.
Formatting file 114 of 133: ./docs/4-language-usage/7-stored-objects/9-sql-macros/g-7910.md... Syntax Error at line 3, column 25
num_rows_in in number(32,0)
^^^
Expected: ... Syntax Error at line 3, column 25
num_rows_in in number(32,0)
^^^
Expected: ... done.
Formatting file 115 of 133: ./docs/4-language-usage/8-patterns/1-checking-the-number-of-rows/g-8110.md... done.
Formatting file 116 of 133: ./docs/4-language-usage/8-patterns/1-checking-the-number-of-rows/g-8120.md... done.
Formatting file 117 of 133: ./docs/4-language-usage/8-patterns/2-access-objects-of-foreign-application-schemas/g-8210.md... done.
Formatting file 118 of 133: ./docs/4-language-usage/8-patterns/3-validating-input-parameter-size/g-8310.md... Syntax Error at line 2, column 2
...
^^^
Expected: digits,... done.
Formatting file 119 of 133: ./docs/4-language-usage/8-patterns/4-ensure-single-execution-at-a-time-of-a-program-unit/g-8410.md... done.
Formatting file 120 of 133: ./docs/4-language-usage/8-patterns/5-use-dbms-application-info-package-to-follow-progress-of-a-process/g-8510.md... done.
Formatting file 121 of 133: ./docs/4-language-usage/9-function-usage/g-9010.md... done.
Formatting file 122 of 133: ./docs/4-language-usage/9-function-usage/g-9020.md... done.
Formatting file 123 of 133: ./docs/4-language-usage/9-function-usage/g-9030.md... done.
Formatting file 124 of 133: ./docs/4-language-usage/9-function-usage/g-9040.md... done.
Formatting file 125 of 133: ./docs/5-complexity-analysis/complexity-analysis.md... done.
Formatting file 126 of 133: ./docs/6-code-reviews/code-reviews.md... done.
Formatting file 127 of 133: ./docs/7-tool-support/1-db-codecop-sqldev.md... done.
Formatting file 128 of 133: ./docs/7-tool-support/2-db-codecop-sonarqube.md... done.
Formatting file 129 of 133: ./docs/7-tool-support/3-db-codecop-cli.md... done.
Formatting file 130 of 133: ./docs/7-tool-support/4-db-codecop-validators.md... done.
Formatting file 131 of 133: ./docs/7-tool-support/5-plscope-utils.md... done.
Formatting file 132 of 133: ./docs/9-appendix/appendix.md... done.
Formatting file 133 of 133: ./docs/index.md... done.
So the following files need to be fixed:
- g-3160.md
- g-3170.md
- g-3190.md
- g-5030.md
- g-5080.md
- g-7910.md
- g-8310.md
I will open an issue in the formatter repo.