|
28 | 28 | INFO: Line 1 |
29 | 29 | INFO: Line 2 |
30 | 30 | INFO: Line 3 |
31 | | --- Test 4: PUT procedure (outputs immediately, no buffering) |
| 31 | +-- Test 4a: PUT procedure |
| 32 | +BEGIN |
| 33 | + DBMS_OUTPUT.PUT('Part 1'); |
| 34 | +END; |
| 35 | +/ |
| 36 | +INFO: Part 1 |
| 37 | +-- Test 4b: Multiple PUT calls |
32 | 38 | BEGIN |
33 | 39 | DBMS_OUTPUT.PUT('Part 1'); |
34 | 40 | DBMS_OUTPUT.PUT(' Part 2'); |
| 41 | +END; |
| 42 | +/ |
| 43 | +INFO: Part 1 |
| 44 | +INFO: Part 2 |
| 45 | +-- Test 4c: NEW_LINE procedure |
| 46 | +BEGIN |
35 | 47 | DBMS_OUTPUT.NEW_LINE; |
36 | 48 | END; |
37 | 49 | / |
38 | 50 | ERROR: syntax error at end of input |
39 | | -LINE 5: END |
| 51 | +LINE 3: END |
40 | 52 | ^ |
41 | 53 | QUERY: BEGIN |
42 | | - DBMS_OUTPUT.PUT('Part 1'); |
43 | | - DBMS_OUTPUT.PUT(' Part 2'); |
44 | 54 | DBMS_OUTPUT.NEW_LINE; |
45 | 55 | END |
46 | | --- Test 5: ENABLE and DISABLE (no-ops but should not error) |
| 56 | +-- Test 5a: ENABLE procedure |
| 57 | +BEGIN |
| 58 | + DBMS_OUTPUT.ENABLE(20000); |
| 59 | +END; |
| 60 | +/ |
| 61 | +-- Test 5b: ENABLE with PUT_LINE |
47 | 62 | BEGIN |
48 | 63 | DBMS_OUTPUT.ENABLE(20000); |
49 | 64 | DBMS_OUTPUT.PUT_LINE('After enable'); |
| 65 | +END; |
| 66 | +/ |
| 67 | +INFO: After enable |
| 68 | +-- Test 5c: DISABLE procedure |
| 69 | +BEGIN |
| 70 | + DBMS_OUTPUT.DISABLE; |
| 71 | +END; |
| 72 | +/ |
| 73 | +ERROR: syntax error at end of input |
| 74 | +LINE 3: END |
| 75 | + ^ |
| 76 | +QUERY: BEGIN |
| 77 | + DBMS_OUTPUT.DISABLE; |
| 78 | +END |
| 79 | +-- Test 5d: DISABLE with PUT_LINE |
| 80 | +BEGIN |
50 | 81 | DBMS_OUTPUT.DISABLE; |
51 | 82 | DBMS_OUTPUT.PUT_LINE('After disable'); |
52 | 83 | END; |
53 | 84 | / |
54 | 85 | ERROR: syntax error at end of input |
55 | | -LINE 5: DBMS_OUTPUT.PUT_LINE('After disable'); |
| 86 | +LINE 3: DBMS_OUTPUT.PUT_LINE('After disable'); |
56 | 87 | ^ |
57 | 88 | QUERY: BEGIN |
58 | | - DBMS_OUTPUT.ENABLE(20000); |
59 | | - DBMS_OUTPUT.PUT_LINE('After enable'); |
60 | 89 | DBMS_OUTPUT.DISABLE; |
61 | 90 | DBMS_OUTPUT.PUT_LINE('After disable'); |
62 | 91 | END |
@@ -135,7 +164,23 @@ BEGIN |
135 | 164 | END; |
136 | 165 | / |
137 | 166 | INFO: ABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB |
138 | | --- Note: This implementation does NOT support: |
139 | | --- - GET_LINE / GET_LINES (not implemented) |
140 | | --- - Buffering (output is immediate) |
141 | | --- - Actual ENABLE/DISABLE functionality (always enabled) |
| 167 | +-- |
| 168 | +-- Oracle DBMS_OUTPUT Package Methods (per Oracle 12c documentation): |
| 169 | +-- 1. ENABLE(buffer_size) - Enable output with buffer size |
| 170 | +-- 2. DISABLE - Disable output and purge buffer |
| 171 | +-- 3. PUT(text) - Place partial line in buffer |
| 172 | +-- 4. PUT_LINE(text) - Place complete line in buffer |
| 173 | +-- 5. NEW_LINE - Put end-of-line marker in buffer |
| 174 | +-- 6. GET_LINE(line, status) - Retrieve single line from buffer |
| 175 | +-- 7. GET_LINES(lines, numlines) - Retrieve multiple lines from buffer |
| 176 | +-- |
| 177 | +-- IvorySQL Current Implementation Status: |
| 178 | +-- ✓ PUT_LINE(text) - Fully working (uses RAISE INFO) |
| 179 | +-- ✗ PUT(text) - Syntax error |
| 180 | +-- ✗ NEW_LINE - Syntax error |
| 181 | +-- ✗ ENABLE(buffer_size) - Syntax error |
| 182 | +-- ✗ DISABLE - Syntax error |
| 183 | +-- ✗ GET_LINE(line, status) - Not implemented |
| 184 | +-- ✗ GET_LINES(lines, numlines) - Not implemented |
| 185 | +-- |
| 186 | +-- Note: Current implementation outputs immediately (no buffering) |
0 commit comments