Quentin Machu
582c4e1ca4
Fix NPE in SQL initialization
...
Happens when the database could not be opened. Introduced by e849da9
2015-12-06 19:48:49 -05:00
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
277fc748e3
Combine AND(Fixed, SQL) into a single IN clause, reducing roundtrips. Add a test and benchmark.
2015-11-12 15:14:48 -05:00
831b14c23e
graph/sql: Use an IN clause when optimizing a fixed iterator
2015-11-12 14:56:18 -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
fc6f7b3ea7
Merge pull request #9 from Quentin-M/psql-fail-fast-open
...
Make the SQL connection fail-fast
2015-08-26 16:19:35 -04:00
Quentin Machu
13b11e46a4
Make the SQL connection fail-fast
2015-08-26 02:10:27 -04:00
Quentin Machu
7ddeb101ca
Fix NPEs in SQL Next and Contains
2015-08-26 01:19:28 -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
aedd0401e2
Fix up hash interface and speed up save queries 10x
...
Fix all optimizer
2015-08-12 16:03:25 -04:00
ab3f59d21f
Add hash-based indexes
2015-08-12 16:03:25 -04:00
c98318aa97
Fix tests and update Godep
2015-08-12 16:03:25 -04:00
8830760df2
Split intersection and node iteration into two logical SQL iterators
2015-08-12 16:03:25 -04:00
3e02bb2b71
refactor to SQL builder iterators and standard iterator wrapper
2015-08-12 16:03:25 -04:00
b754810c6e
Remove old iterator code, leaving a simple all-iterator for the sql backend
2015-08-12 16:03:25 -04:00
425292811b
First reasonably fast integration test
2015-08-12 16:03:25 -04:00
13d4d8b7b4
revert to non-subquery mode
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