mirror of
https://github.com/n8n-io/n8n.git
synced 2026-10-18 14:56:50 +02:00
createSteps built its INSERT with one VALUES tuple per record, so the statement text changed with the batch size. Now it passes one array for each column through unnest, so the text is the same for every call. Both createSteps statements (the execution-row lock and the insert) now run as named prepared statements on the transaction's connection. PostgreSQL parses and plans each one once per connection. WITH ORDINALITY and ORDER BY keep the insert in input order, so RETURNING still lists the created rows in the order of the records. Named prepared statements need a direct connection or a session-mode pooler. A transaction-mode PgBouncer before 1.21 does not support them. Co-authored-by: Cursor <cursoragent@cursor.com> |
||
|---|---|---|
| .. | ||
| docs/adr | ||
| src | ||
| .dockerignore | ||
| .gitignore | ||
| AGENTS.md | ||
| eslint.config.mjs | ||
| oxlint.config.mts | ||
| package.json | ||
| README.md | ||
| tsconfig.build.json | ||
| tsconfig.json | ||
| vitest.config.ts | ||
| vitest.integration.config.ts | ||
@n8n/engine
n8n workflow execution engine (v2).
See the Engine v2 project for context. Public API and core interfaces are still being defined; the package is currently a scaffold and is not yet wired into n8n.
Dependencies
Be careful adding dependencies here. This package should not have runtime dependencies on other n8n components, only interfaces. If there is some functionality that should be shared, it should be factored into a common library.