>
> sqlite> INSERT INTO abc VALUES(NULL, 20, 10);

*The first column is always a 64-bit signed integer primary key*. The other
>> columns are pairs, one pair per dimension, containing the minimum and
>> maximum values for that dimension, respectively.
>>
>


Alysson Gonçalves de Azevedo

"Anarcho-syndicalism is a way of preserving freedom." - Monty Python


2014-06-19 14:06 GMT-03:00 Dan Kennedy <danielk1...@gmail.com>:

> On 06/19/2014 11:57 PM, Mohit Sindhwani wrote:
>
>> Hi Wolfgang,
>>
>> On 19/6/2014 11:54 PM, Wolfgang Enzinger wrote:
>>
>>> Not sure why you think you have to store those point coordinates twice.
>>>
>>> This works:
>>>
>>> sqlite> CREATE VIRTUAL TABLE abc USING rtree(id,x,y);
>>> sqlite> INSERT INTO abc VALUES(1,20,30);
>>> sqlite> SELECT id FROM abc WHERE x>=10 AND x<=30 AND y >=20 AND y<=40;
>>> 1
>>> sqlite> SELECT id FROM abc WHERE x>=40 AND x<=50 AND y >=40 AND y<=50;
>>> sqlite>
>>>
>>
>> I do feel a bit stupid after reading your email... but I guess I was
>> working on the basis that the data we have is 2 dimensional and my
>> recollection was that we need 2 items per dimension.
>>
>> Am I reading this wrong?
>> The SQLite R*Tree module is implemented as a virtual table. Each R*Tree
>> index is a virtual table with an odd number of columns between 3 and 11.
>> The first column is always a 64-bit signed integer primary key. The other
>> columns are pairs, one pair per dimension, containing the minimum and
>> maximum values for that dimension, respectively. A 1-dimensional R*Tree
>> thus has 3 columns. A 2-dimensional R*Tree has 5 columns. A 3-dimensional
>> R*Tree has 7 columns. A 4-dimensional R*Tree has 9 columns. And a
>> 5-dimensional R*Tree has 11 columns. The SQLite R*Tree implementation does
>> not support R*Trees wider than 5 dimensions.
>>
>
> Probably not. The CREATE TABLE code above actually creates a 1-dimensional
> r-tree with deceptive column names. Column "y" contains the maximum value
> for the first dimension:
>
> SQLite version 3.8.5 2014-06-19 12:34:33
> Enter ".help" for usage hints.
> Connected to a transient in-memory database.
> Use ".open FILENAME" to reopen on a persistent database.
>
> sqlite> CREATE VIRTUAL TABLE abc USING rtree(id,x,y);
> sqlite> INSERT INTO abc VALUES(NULL, 20, 10);
> Error: constraint failed
> sqlite>
>
>
>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to