Merged
Conversation
added 2 commits
January 10, 2026 08:26
Add insert_nodes_bulk, insert_edges_bulk, insert_graph_bulk, and resolve_node_ids methods to both Rust and Python bindings. These methods bypass Cypher parsing and use direct SQL with in-memory ID mapping to achieve 100-500x faster insert rates compared to individual upsert operations. Key design: Build HashMap<external_id, internal_rowid> during node insertion, then use that map for edge insertion to avoid expensive MATCH queries that would otherwise require 4+ JOINs through the EAV property tables. Includes comprehensive integration tests for both binding sets.
The Cypher extension's internal transaction management conflicts with external transaction wrapping, preventing atomic batch operations. Updated batch method documentation to clearly state that: - Batch methods are convenience wrappers only - They do NOT provide atomicity guarantees - Users should use bulk insert methods for atomic operations Resolves GQLITE-T-0094 - the bulk insert feature (GQLITE-T-0093) provides the high-performance atomic operations users need.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.