Repository navigation
feat(oracledb): add Oracle Database integration - #7378
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Greptile SummaryAdds an Oracle Database integration with query, mutation, execution, and schema-introspection operations.
Confidence Score: 5/5The PR appears safe to merge based on the reviewed implementation and its coordinated runtime packaging. No concrete changed-code failure remained after tracing SQL execution, connection and redirect validation, worker lifecycle, secret transport, result bounds, and deployment artifact resolution.
|
| Filename | Overview |
|---|---|
| apps/sim/lib/internal/oracledb/connect-proxy.ts | Adds a request-scoped CONNECT proxy that validates and pins every initial or redirected Oracle target while bounding tunnel use. |
| apps/sim/lib/internal/oracledb/client.ts | Adds bounded worker admission, cancellation, timeout handling, proxy lifecycle management, and child-process protocol execution. |
| apps/sim/lib/internal/oracledb/oracle-worker.cjs | Implements Thin-mode connection setup, runtime patch verification, statement execution, LOB streaming, normalization, limits, and secret-safe error projection. |
| apps/sim/lib/internal/oracledb/query.ts | Adds Oracle-aware SQL scanning, operation validation, identifier quoting, structured DML generation, and WHERE-expression safeguards. |
| apps/sim/lib/internal/oracledb/introspection.ts | Adds bounded dictionary-view introspection for visible schemas, tables, columns, constraints, and indexes. |
| apps/sim/lib/internal/oracledb/schema.ts | Defines strict bounded contracts for connection settings, credentials, wallet data, SQL, binds, and structured operations. |
| patches/oracledb@7.0.1.patch | Extends the pinned driver to preserve proxy trust across redirects, support controlled TCP tunneling, and reject transport changes. |
| docker/app.Dockerfile | Packages Node 24, the complete patched Oracle driver, worker, and verification scripts into the production image. |
| apps/sim/trigger.config.ts | Selects Node 24 and includes the worker, verification scripts, driver package, and package metadata in Trigger.dev artifacts. |
| apps/sim/blocks/blocks/oracledb.ts | Defines the Oracle workflow block, six operations, protected connection fields, operation-specific inputs and outputs, templates, and skills. |
Sequence Diagram
sequenceDiagram
participant C as Workflow or Agent
participant T as Oracle Tool
participant P as CONNECT Proxy
participant W as Node 24 Worker
participant O as Oracle Database
C->>T: Invoke query, execute, mutation, or introspection
T->>P: Start request-scoped loopback proxy
T->>W: Send credentials and statements over stdin
W->>P: CONNECT initial Oracle target
P->>P: Resolve, validate, and pin target IP
P->>O: Open TCP or TCPS tunnel
opt Listener redirect
W->>P: CONNECT redirected target
P->>P: Revalidate and pin redirected IP
P->>O: Open replacement tunnel
end
W->>O: Execute bounded statement batch
O-->>W: Rows or affected count
W-->>T: Bounded normalized JSON
T-->>C: Structured tool result
T->>P: Close proxy and tunnels
Reviews (1): Last reviewed commit: "feat(oracledb): add Oracle Database inte..." | Re-trigger Greptile
There was a problem hiding this comment.
All reported issues were addressed across 56 files
Heads up: you’re close to your included review allowance. Set a flex budget so reviews don’t pause.
Re-trigger cubic
|
@cubic-dev-ai review this PR again after commit 7c247da. The six prior threads have been addressed and resolved; please perform a fresh review of the updated diff. |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 58 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
|
@cubic-dev-ai please review this PR again after b28b751. The prior constant-only Oracle WHERE finding is fixed, independently validated, and its thread is resolved. |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 58 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
|
@cubic-dev-ai please review this PR again at b28b751. The latest function-tautology thread was reproduced, answered with repository-contract and cross-database evidence, and resolved as intentionally out of scope; please perform a fresh review and account for that rationale. |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
d46cd70 to
b4deae3
Compare
48bd29f to
9c9c272
Compare
Adds Oracle Database query, execute, insert, update, delete, and introspection tools backed by a reusable saved connection. Users connect or reconnect through the shared Integrations credential modal; the connection is verified before encryption, and tools receive only an authorized credential reference.
Oracle Net runs through a bounded Node 24 Thin-driver worker and a request-scoped egress proxy. Every initial and redirected destination is validated and pinned. TCPS verifies the hostname and certificate, supports encrypted in-memory PEM wallets, and cannot downgrade to TCP. Results preserve NUMBER precision and stream bounded LOBs; queries run in read-only transactions, and writes autocommit.
No shared OAuth app, new Oracle-specific deployment secret, or database migration is required. The application runtime needs network access to the customer database. Docker and Trigger packaging include the pinned, verified Oracle driver and worker.
Validation: