Commit graph

16 commits

Author SHA1 Message Date
e849da9402 graph: make quadstore init functions idempotent 2015-11-25 15:06:47 -05:00
Quentin Machu
a2622536e9 Fix SLOW DELETEs
subject, predicate, object and labels are not indexed, thus, using a where clause on these fields for the DELETE statement does a full-table scan. Using *_hash columns instead will use the indexes.
2015-11-18 18:42:20 -05:00
Quentin Machu
d874441431 Fix a deadlock behavior with DELETE transactions
It appears that preparing an INSERT statement on PostgreSQL actually makes it expecting to receive INSERTs and thus, it create some kind of locks for it. If instead, you only send him DELETE statements, it will indefinitely wait for an INSERT and will hung.
2015-11-17 20:32:21 -05:00
Quentin Machu
174a13cf23 Add a Size() estimator for PostgresSQL
Counting on PostgreSQL could be really slow because of its MVCC model. See https://wiki.postgresql.org/wiki/Count_estimate
2015-11-16 16:01:06 -05:00
Quentin Machu
3f5a4a7827 Fix NPE in SQL Quadstore
When `tx.Exec` fails and an error is returned, result is nil. Thus, `result.RowsAffected()` panics.

* Add a missing return statement in the error test.
* Add a second missing return statement just below to return the proper error message if we can't execute `RowsAffected` instead of saying that the triple doesn't exist.
2015-10-18 14:40:36 -04:00
4ffda9ad3b Fix corners after dropping a couple merges 2015-10-05 17:45:42 -04:00
fb7e200551 Respect IgnoreMissing, which SQL does silently. Fixes barakmich/psql #10 2015-09-02 16:26:18 -04:00
Quentin Machu
13b11e46a4 Make the SQL connection fail-fast 2015-08-26 02:10:27 -04:00
ebaf8b2a98 Can't use distinct, fix double-hashing bug
remove distinctness, make printing the SQL query part of describe

clean up quadstore a bit, add noSizes as an external option
2015-08-12 16:03:25 -04:00
fab8cd64b3 Option to remove size calls
Fix permutations of optimization intersections

Return empty string as per bolt

fix case sensitivity and memstore panic
2015-08-12 16:03:25 -04:00
ab3f59d21f Add hash-based indexes 2015-08-12 16:03:25 -04:00
7153a766c1 Add new builder iterators, v2
Subcommits:

link iterator next/contains

implement sql_node_iterator next/buildsql

fix optimizers
2015-08-12 16:03:25 -04:00
621acae945 Optimize by collapsing trees into single SQL queries 2015-08-12 16:03:25 -04:00
185e236f15 attempt to build more interesting SQL queries
Subcommits:

fix old iterator, and flesh out new builder iterator

fix contains for builder iterator

Working replacement iterator
2015-08-12 16:03:25 -04:00
da391c3db7 optional index strategies 2015-08-12 16:03:25 -04:00
3f391a782c first working-ish Postgres backend
Subcommits:

implement iterator and remove ResultTree

add Err() to sql

remove redundant and less helpful indices, change fillfactor, and use COPY FROM
2015-08-12 16:03:25 -04:00