drh
4c5b7b922c
Avoid masking off an OOM fault in rtreecheck().
...
FossilOrigin-Name: 3ebfe7128a20b270de65ebf4620f62e34ea6cc46b472cc52aed96af504eb9637
2021-09-09 18:06:07 +00:00
drh
b3d2ba7cb0
In the rtreedepth() function, detect OOM when converting a zeroblob() on
...
input. dbsqlfuzz ed23eda7cc3a8a054f85ea19d55c59ba2ca72744.
FossilOrigin-Name: 69f843c8fa6e21500b5777169c3b394453ba818b4e32427428480dca5b4ed615
2021-04-13 12:28:55 +00:00
drh
f2fa084cf1
Earlier detection of corruption in the rtreecheck() SQL function to prevent
...
a (harmless) read of an uninitialized value.
FossilOrigin-Name: e2074b24788149562b15022ccd2784d6649f08ebc41410e3bfb2401baf0892e2
2020-09-17 11:56:04 +00:00
mistachkin
cec5f1d127
Fix compilation issues with MSVC.
...
FossilOrigin-Name: af07d8458ae5e2933134b706f80f9538f011970221904bf9f50ed6e47d306e14
2020-08-04 16:11:37 +00:00
drh
2826918d10
The RTREE extension behaves has if data columns have type REAL, so we
...
should actually declare them as REAL so that automatic indexes handle
them correctly. Ticket [e63b4d1a65546532]
FossilOrigin-Name: 85a9b6a92fd5805d5936f02d555af395441607b9eb5f4dae63560b5e65663b00
2020-02-28 16:04:28 +00:00
drh
5f0dfc00de
Thoroughly reset the rtree cursor at the start of each VFilter operation,
...
including clearing its cache. This prevents left over pages in the cache
which can cause problems on shutdown after a LEFT JOIN.
Ticket [5eadca17c4dde90c]
FossilOrigin-Name: 4c50afafce8416369f89477ba7fe7d9b047399a5ee5754c73d0e67bbea8d877c
2019-12-23 20:41:39 +00:00
drh
c7a046e282
Ignore type affinity for auxiliary columns in RTREE as it is too error-prone
...
to try to parse out the type from other constraints.
Ticket [8bf76328ac940d52]
FossilOrigin-Name: 7fa664ea0ea1e0283a9af50c9ff8dd360ee6042f9e491a136f53d9bcbbc9c7ef
2019-12-07 12:13:54 +00:00
drh
5102cf8df5
Early detection and reporting of too few columns in an rtree CREATE VIRTUAL
...
TABLE statement.
FossilOrigin-Name: ef73107f475e40e6bdd8b722e96992070f81fd2b7a3cb718ec8f251c89ca3e81
2019-12-06 19:07:44 +00:00
drh
0a64ddbe76
In the rtree extension, actively suppress extra tokens on the column names,
...
and be pedantic about column affinities. Ticket [367a86e28859f1ff]
FossilOrigin-Name: 97fb5a72f91a44d579466e67c33aa862384c4d1c95c2010cf4ae9dbd172bbcfb
2019-12-06 13:10:29 +00:00
drh
e5748a5502
Further enhancements to RTREE, following up to check-in [f898d04cf272ef01]
...
so that constraints are allowed to be compared to strings that look like
numbers. Ticket [aa573a787b8f1fdf]
FossilOrigin-Name: 32772dfd50b602c049d8c30bc28cde60a18b7495a997d728081f689ff417c956
2019-12-06 01:38:24 +00:00
drh
cb224ab139
Make sure the rowid of an RTREE virtual table has integer affinity.
...
Ticket [9fe487ba3c064b4e]
FossilOrigin-Name: 7ae8c0d52f6aa7f27537216f85456ef49dade040366cfb250c789206ecd4dc5a
2019-12-05 14:42:26 +00:00
drh
348d7f64f2
Be strict about type enforcement on rowid look-ups in the RTREE extension.
...
Ticket [30e2c183b6b356e4]
FossilOrigin-Name: d43e0efb9642037dd751cfed13438e71cfceb50e14a0ec603880c6c3be2e93b1
2019-12-05 13:34:13 +00:00
drh
674a9b3425
Enhance the RTREE extension so that it give correct query results even if
...
the query uses non-numeric constraints. Ticket [a55ab6d97d01ecbc]
FossilOrigin-Name: f898d04cf272ef0130dcae146cb86d8630b10a6f19aecfc2fa70e97e082bd51c
2019-12-05 00:44:47 +00:00
drh
8fbcb04811
Convert an assert() in R-Tree into a database corruption detection case.
...
FossilOrigin-Name: 48b518eb6f76fb0beb161d1ebcf3b793efc36262d6d77a1ad5906b6501138e28
2019-07-29 17:18:45 +00:00
drh
7fc296aa66
Early detection of a corrupt R-Tree in the R-Tree search algorithm.
...
FossilOrigin-Name: 2bf5a4c16457562dc942bcc6ec06d9b4e795ef3ea8e31550e18857bbebd08a76
2019-07-20 18:00:46 +00:00
drh
bcb0e64c82
Performance optimizations in the rtreeStepToLeaf() routine of RTree.
...
FossilOrigin-Name: 4e34e3615ff31f4a6432033797b2e1a6604007ea0e501d714ecb362632776150
2019-07-20 17:43:28 +00:00
dan
f446a7a8cd
Update rtree.c so that SQLITE_DEBUG is required to turn on assert() statements, even if it is compiled separately from the amalgamation.
...
FossilOrigin-Name: b6e17f0139482a22c2fc84552767bc9a293b282499e3a790de069e0e84455fb2
2019-07-09 17:36:26 +00:00
drh
e41fd72acc
Enhance the rtreenode() function of rtree (used for testing) so that it
...
uses the newer sqlite3_str object for better performance and improved
error reporting.
FossilOrigin-Name: 90acdbfce9c088582d5165589f7eac462b00062bbfffacdcc786eb9cf3ea5377
2019-03-20 11:16:09 +00:00
drh
ed968fa4cb
Avoid integer overflow when computing the array of a bounding box with
...
the rtree_i32 virtual table.
FossilOrigin-Name: b352f1590d20a574b0681e011ececcf4f41fa5b157503d330e03939404aca0e9
2019-01-18 18:52:17 +00:00
drh
2d77d80a65
Use 64-bit math to compute the sizes of memory allocations in extensions.
...
FossilOrigin-Name: ca67f2ec0e294384c397db438605df1b47aae5f348a8de94f97286997625d169
2019-01-08 20:02:48 +00:00
drh
c0f162020e
Fix a possible memory leak when trying to UPDATE a corrupt RTREE index.
...
FossilOrigin-Name: 63eb803dbc27077007dbee8def659d1523724eb73f1def1cdb68027e5c20843a
2019-01-08 14:28:02 +00:00
drh
cde4bf8ba7
Improved detection of shadow table corruption in RTREE.
...
FossilOrigin-Name: b39bf4356e6bcf1d8442721d6cbbfe06caba01325104fb469da8fe69e1f623a2
2018-12-21 22:08:59 +00:00
dan
deb201b866
Use SQLITE_PREPARE_NO_VTAB in rtree as well.
...
FossilOrigin-Name: 82a2ae7132964eab0dfad9a8314a399ffd3b72366b35e1767df6452125dd1d80
2018-12-21 19:55:20 +00:00
drh
687e20079c
Fix the node hash function in RTREE to ensure that it always returns a
...
non-negative value.
FossilOrigin-Name: 0bf4c70a6849da74797e8616a4f3730492ad02882ae67a0fe0f3b3cc3f1043b4
2018-12-21 18:17:35 +00:00
drh
273e01b4c6
Fix a potential NULL-pointer deference in RTREE due to corrupt shadow tables.
...
FossilOrigin-Name: 1fdd3604eef880414682e9e6f74d714520fe1c63f267ec4da752d2dc1da6bf72
2018-12-21 17:51:30 +00:00
drh
fb077f3c50
Prevent an infinite loop in rtree that can result from a corrupt shadow table.
...
FossilOrigin-Name: 085667180b230587abb82abfdd14da8859e23620994d5cf152236b64c756dd04
2018-12-21 16:53:58 +00:00
drh
1429eca9d4
Fix the RTree extension so that it correctly ignores constraints that it
...
does not understand, even if they are against a dimension column.
FossilOrigin-Name: ed8531e57596f0d5911a05a26d5ae61e1eccfaadee49219d7f6e212cac288238
2018-12-21 15:13:49 +00:00
drh
558ef11ad9
In RTREE, turn an assert() into an if() because the condition can
...
sometimes be false when dealing with a corrupt database.
FossilOrigin-Name: 99bce4358beb5dbaba47048ee2eec5c376dcd86e5b1462238a37ea4c5f3d77db
2018-12-21 13:30:34 +00:00
drh
fc25721c9e
Only allow shadow table to be written from within a recursive SQL call.
...
Omit the SQLITE_PREPARE_SHADOW flag. Some tests are failing because the
tests depend on being able to write to shadow tables.
FossilOrigin-Name: d890c6582524677666e6f5b5817331dec332ade16b2f744cbb8a3c7dd9b63e21
2018-11-06 14:03:07 +00:00
drh
84c501bac1
Initial code to make shadow tables read-only to ordinary SQL. The now
...
xShadowName method is added to the sqlite3_module object and is used
to identify potential shadow tables. The SQLITE_PREPARE_SHADOW argument
to sqlite3_prepare_v3() is defined. It is designed to permit writing to
shadow tables, but is currently an unused placeholder.
FossilOrigin-Name: 31942b3dd3f66eb0d9977bf1cadc2f2d7be7967cce2b55784be0b939dfef1985
2018-11-05 23:01:45 +00:00
mistachkin
ed008ecede
Fix some harmless compiler warnings seen with MSVC.
...
FossilOrigin-Name: 78862252da7f59d4737ed16f4ccf100cea27d8b421db31051afbaa8d96f24de3
2018-09-12 01:05:26 +00:00
drh
17f19eadb8
Fixes to the UPDATE logic in Geopoly.
...
FossilOrigin-Name: 7c3cee0a2a5ccacff27400c38bd708f7b9b968eb013a8fa685d876dfe85e12a6
2018-08-29 20:52:40 +00:00
drh
b0af3d1f97
The geopoly virtual table seems to be working. But only thinly tested so far.
...
FossilOrigin-Name: 4288f1ad5966701eac4cfe3061e8ce98e34e0d6c112307668729642a06458d5f
2018-05-28 23:59:03 +00:00
drh
748b8fda90
Forward port the geopoly extension functions into the r-tree extension,
...
with the idea of creating a new spatial index based on simply polygons.
FossilOrigin-Name: 0593aac88a8c25ddafba4c29a181ee083dfc3dab44335feb6f12fdea6ce7fb27
2018-05-25 19:22:47 +00:00
drh
338e311acb
When doing a one-pass UPDATE or DELETE on virtual tables, close the cursor
...
prior to running VUpdate. This allows one-pass to work on virtual tables
that do not allow concurrent reads and writes. Enhance rtree to take
advantage of this new capability.
FossilOrigin-Name: b816023ce07d01024d5769e16db924374a49bf909edd12dc1344a0a1ef693db5
2018-05-24 23:51:57 +00:00
drh
c8c9cdd9dd
Do not allow RTree writes when a read cursor is active on the same virtual
...
table, as the writes might rebalance and disrupt the read cursors. Return
the new SQLITE_LOCKED_VTAB error code if this happens.
FossilOrigin-Name: d4ce66610851c825cb712f985216b63e015c753fdd5521f929c67ad18bfd7664
2018-05-24 22:31:01 +00:00
drh
a02fd67b99
Avoid unnecessary sqlite3_finalize() operations.
...
FossilOrigin-Name: 16f71032a3a2919cb226b25b5256a370adb5c55fa506d4774b7f83dc8868e793
2018-05-18 16:53:07 +00:00
drh
136c9903bf
Fix a prepare-statement leak.
...
FossilOrigin-Name: 95fd296ffc8130526a1453cbdca6ce47f22fc5b5c474aa31d66b627d0c7393a1
2018-05-18 16:46:09 +00:00
drh
252f39619a
Improved error messages. Limit the number of auxiliary columns to 100.
...
FossilOrigin-Name: 059d20abd57727e6d312f15b640359ef778786f577d9b50b17b57195db2d0aef
2018-05-18 15:21:43 +00:00
drh
26fb126622
Fix an issue with rtreecheck() and auxiliary data columns.
...
FossilOrigin-Name: 46715136078a51ca7dd08b83214d6ad0e85728af8a26cd342077b8dd4ada1d60
2018-05-16 19:56:20 +00:00
drh
7578456c25
Do not allow auxiliary columns in the rtree to interfere with query planning.
...
Begin adding test cases.
FossilOrigin-Name: 9abe023e1afa7dc1a7eba7fbb3128401de129873d86b7c71c221decca26a821c
2018-05-16 19:07:07 +00:00
drh
1e76c22b4a
Fix the OOM issue mentioned in the previous check-in.
...
FossilOrigin-Name: c489d8e44eac4cd355096ab66bb40f13ef662f31e080c9f1f2ee379fe55b207a
2018-05-16 18:18:24 +00:00
drh
e297196524
Initial implementation of the ability to have auxiliary columns in an rtree
...
virtual table that store arbitrary content. It mostly works, but there are
some minor issues in OOM corner cases.
FossilOrigin-Name: 0c87fec970221f954e0a92f3ef0437b382255479fac5b403ee37b1bb5ab29719
2018-05-16 17:57:30 +00:00
drh
a090ab90d6
Convert the schema creation logic in the rtree extension to use the
...
new sqlite3_str interface.
FossilOrigin-Name: fd8b8c4196d3f0f6cb129f43ebf473ada86eefdf16181fa70ceee21e1232b5e1
2018-05-14 15:26:05 +00:00
dan
eab0e10304
In extensions rtree, fts3 and fts5, ensure that when dynamic buffers are bound
...
to persistent SQL statements using SQLITE_STATIC, the binding is replaced with
an SQL NULL before the buffer is freed. Otherwise, a user may obtain a pointer
to the persistent statement using sqlite3_next_stmt() and attempt to access
the freed buffer using sqlite3_expanded_sql() or similar.
FossilOrigin-Name: 2a5f813bc61f9e780f2ccbda425611f65ad523b6d486a1e5e2b9d5e9f1d260a2
2018-02-07 18:02:50 +00:00
dan
2f94935409
Allow the shell to be built from the configure script with
...
SQLITE_OMIT_VIRTUALTABLE defined.
FossilOrigin-Name: 136bf323e42dc90e1780199a381bcbb084b069eca5c7343ee6fc6e2550831536
2018-01-20 15:48:45 +00:00
drh
468c649331
Add unnecessary initializations to some local variables in the rtree module
...
to suppress false-positive compiler warnings coming out of MSVC.
FossilOrigin-Name: 64487d658cb3b6c8c67f1e198c70813c963de52599f3ea974bdc2aa432e74de9
2017-12-16 04:37:15 +00:00
dan
7e2b38c53b
Add tests cases and fix minor issues in the rtreecheck() function.
...
FossilOrigin-Name: d6130cd226c0ca95e02f0cbabfdc27071acdcf83e0d0cb0eaa47d992479ed9a1
2017-10-25 18:17:24 +00:00
mistachkin
8c66e5b73e
Fix compilation issue (C99-ism) seen with MSVC.
...
FossilOrigin-Name: 61870b42b033189509b244c76d28932f7a447b887ffe04a3c81461148e54cfb5
2017-10-25 18:00:58 +00:00
dan
1917e92fdb
Add SQL scalar function rtreecheck() to the rtree module. For running checks
...
to ensure the shadow tables used by an rtree virtual table are internally
consistent.
FossilOrigin-Name: dde0bb3eab1316c3247b1755594527ca70955aab4ad4907190731f7ec092b327
2017-10-25 16:38:34 +00:00