fix(Oracle DB Node): Fix the Continue(Using error output) issue mentioned in GH issue 26199 #28343
fix(Oracle DB Node): Fix the Continue(Using error output) issue mentioned in GH issue 26199 #28343sudarshan12s wants to merge 5 commits inton8n-io:masterfrom
Conversation
|
Hey @sudarshan12s, Thank you for your contribution. We appreciate the time and effort you’ve taken to submit this pull request. Before we can proceed, please ensure the following: Regarding new nodes: If your node integrates with an AI service that you own or represent, please email nodes@n8n.io and we will be happy to discuss the best approach. About review timelines: Thank you again for contributing to n8n. |
There was a problem hiding this comment.
No issues found across 3 files
Architecture diagram
sequenceDiagram
participant Engine as n8n Workflow Engine
participant Router as Oracle Node Router
participant Transport as Transport (configureOracleDB)
participant Utils as Utils (Query Runner)
participant Driver as oracledb Driver
participant DB as Oracle Database
Note over Engine,DB: Oracle Node Execution Flow
Engine->>Router: execute()
Router->>Router: NEW: Check continueOnFail flag
rect rgb(240, 240, 240)
Note right of Router: Pool Initialization Phase
Router->>Transport: call(credentials, options)
Transport->>Driver: createPool()
alt Pool Initialization Success
Driver-->>Transport: pool instance
Transport-->>Router: pool instance
else CHANGED: Pool Initialization Failure
Driver-->>Transport: throw Error (e.g. Auth/Network)
Transport-->>Router: throw Error
alt continueOnFail is true
Router->>Router: NEW: prepareErrorItem() for all items
Router-->>Engine: return [errorItems]
else continueOnFail is false
Router-->>Engine: throw NodeOperationError
end
end
end
opt Pool successfully initialized
Router->>Utils: configureQueryRunner(node, continueOnFail, pool)
rect rgb(240, 240, 240)
Note right of Utils: Connection & Execution Phase
Utils->>Utils: NEW: getConnectionOrError()
Utils->>Driver: NEW: pool.getConnection()
alt Connection Success
Driver-->>Utils: connection instance
Utils->>Driver: execute(query, binds)
Driver->>DB: SQL Command
DB-->>Driver: Result Set
Driver-->>Utils: Result Data
Note over Utils: CHANGED: _getResponseForOutbinds<br/>improved array iteration & mapping
Utils-->>Router: executionData[]
else CHANGED: Connection Failure (e.g. Timeout NJS-510)
Driver-->>Utils: throw Error
alt continueOnFail is true
Utils->>Utils: NEW: createErrorItems()
Utils-->>Router: [errorItems]
else continueOnFail is false
Utils-->>Router: throw parsed OracleError
end
end
end
Router-->>Engine: Final NodeExecutionData
end
Summary
It fixes the issue
continueOnFailflag and throw or prepare Error items._getResponseForOutbindsis related to this PR but its added to verify successfull tests.Related Linear tickets, Github issues, and Community forum posts
#26199
Review / Merge checklist
Backport to Beta,Backport to Stable, orBackport to v1(if the PR is an urgent fix that needs to be backported)