forked from IvorySQL/IvorySQL
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Description
IvorySQL's DBMS_OUTPUT implementation does not enforce Oracle's 32767 byte maximum line size limit.
Oracle Behavior
Per Oracle documentation:
The maximum line size is 32767 bytes.
When exceeded, Oracle raises:
ORA-20000: ORU-10028: line length overflow, limit of 32767 bytes
IvorySQL Behavior
IvorySQL accepts lines of any length (tested with 50000 bytes successfully).
Test Case
-- This should fail with ORU-10028 but succeeds in IvorySQL
DO $$
DECLARE
chunk TEXT := repeat('A', 25000);
BEGIN
dbms_output.enable(100000);
dbms_output.put(chunk);
dbms_output.put(chunk); -- 50000 bytes total
dbms_output.new_line();
END;
$$;Expected Fix
Add line length check in pl_dbms_output.c for both PUT and PUT_LINE functions. When line exceeds 32767 bytes, raise error:
ORU-10028: line length overflow, limit of 32767 bytes
Related
- Branch:
feat/dbms_output - PR: feat: add DBMS_OUTPUT package #15
Metadata
Metadata
Assignees
Labels
No labels