🎉 Major Fix: ORA-06550 Error Resolution
This release resolves the persistent ORA-06550 compilation errors that users experienced when executing PL/SQL blocks containing BEGIN...END; statements.
🐛 Issue Fixed
- #126: Constant Oracle query error: ORA-06550 when using a BEGIN/END; block
🔧 Root Cause & Solution
Problem: The query processing logic automatically removed trailing semicolons from ALL queries to prevent ORA-00933 errors with regular SQL statements. However, PL/SQL blocks require semicolons for proper compilation.
Solution: Implemented intelligent PL/SQL block detection that:
- ✅ Preserves semicolons for PL/SQL blocks (required for compilation)
- ✅ Removes semicolons for regular SQL statements (prevents ORA-00933)
- ✅ Maintains full backward compatibility
🚀 What's Fixed
Now works perfectly with all PL/SQL scenarios:
-- ✅ Simple anonymous blocks
BEGIN
NULL;
END;
-- ✅ Blocks with procedures
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello World');
END;
-- ✅ Blocks with bind variables
BEGIN
:result := 'Success';
END;
-- ✅ DECLARE blocks
DECLARE
v_count NUMBER;
BEGIN
SELECT COUNT(*) INTO v_count FROM dual;
END;
-- ✅ Stored procedure calls
BEGIN
get_employee_name(:emp_id, :emp_name);
END;📦 Dependency Updates
Updated to latest stable versions for improved security and performance:
- oracledb:
^6.9.0→^6.10.0(latest Oracle driver) - @typescript-eslint/eslint-plugin:
^7.13.0→^8.46.2 - @typescript-eslint/parser:
^7.13.0→^8.46.2 - @types/jquery:
^3.5.32→^3.5.33 - del:
^8.0.0→^8.0.1 - dotenv:
^17.2.1→^17.2.3 - gulp-eslint-new:
^2.1.0→^2.5.0
🧪 Enhanced Testing
- Added 4 comprehensive PL/SQL-specific test cases
- All 10 tests passing with 100% success rate
- Verified compatibility with updated dependencies
📚 Documentation Improvements
- Integrated troubleshooting section in README
- Updated documentation with fix information and examples
- Comprehensive error resolution guidance
⚡ Performance & Quality
- Clean build with zero ESLint errors
- Optimized package size: 13.2 kB compressed (47.6 kB unpacked)
- Production-ready with proper file exclusions
🔄 Migration Guide
If you were experiencing ORA-06550 errors:
- Update to v0.7.6:
npm update node-red-contrib-oracledb-mod - Restore proper semicolons to your PL/SQL blocks if you removed them as a workaround
- Use
"single-meta"result action for blocks with OUT parameters - Test your flows - they should now work without errors
🛡️ Backward Compatibility
✅ Fully backward compatible - all existing flows continue to work exactly as before.
Full Changelog: v0.7.5...v0.7.6
Issues Resolved: #126
🚀 Installation
npm install node-red-contrib-oracledb-mod@0.7.6Or update via Node-RED Palette Manager.
Full Changelog: v0.7.5...v0.7.6