forked from IvorySQL/IvorySQL
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Current Behavior
When DBMS_OUTPUT.ENABLE() is called while output is already enabled, IvorySQL clears the existing buffer content.
DBMS_OUTPUT.ENABLE();
DBMS_OUTPUT.PUT_LINE('First');
DBMS_OUTPUT.ENABLE(); -- Clears buffer
DBMS_OUTPUT.GET_LINE(line, status);
-- status = 1 (no lines available)Expected Behavior (Oracle)
Oracle preserves existing buffer content when ENABLE() is called multiple times:
DBMS_OUTPUT.ENABLE();
DBMS_OUTPUT.PUT_LINE('First');
DBMS_OUTPUT.ENABLE(); -- Preserves buffer
DBMS_OUTPUT.GET_LINE(line, status);
-- line = 'First', status = 0Impact
Medium. Applications that call ENABLE() multiple times during execution may see different behavior when migrating from Oracle.
References
- Documented in commit 868a774: "Re-ENABLE clears buffer vs preserves"
- Oracle compatibility test 3.3 in
contrib/ivorysql_ora/sql/ora_dbms_output.sql - Oracle DBMS_OUTPUT.ENABLE documentation
Workaround
Always call ENABLE() only once at the start of execution to ensure consistent behavior between IvorySQL and Oracle.
Metadata
Metadata
Assignees
Labels
No labels