Re: [sqlite] Getting the location of a record in an Index

2011-09-09 Thread Ian Hardingham

Hey Igor, thanks for the reply.

Is this O(1) ?

Ian

On 09/09/2011 13:21, Igor Tandetnik wrote:

Ian Hardingham  wrote:

Again, I have:

eloResultTable (id INTEGER PRIMARY KEY AUTOINCREMENT, player TEXT, elo
FLOAT)

with:

CREATE INDEX IF NOT EXISTS eloResultScore ON eloResultTable (elo DESC)

If I have the id of a row in eloResultTable, I wish to find how far down
the eloResultScore index it is (I basically want to find a player's rank
when ordered by elo).  Is there a way to do this?

select count(*) from eloResultTable where elo>=
 (select elo from eloResultTable where id = ?);



___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] SQLite Wiki doesn't work

2011-09-09 Thread Christopher Melen

Not an ideal solution, certainly, but if you know the name of the page you 
want, or maybe the subject, you should be able to use the Google cache to 
retrieve an older version of it. I had one of the wiki pages open in my browser 
which I hadn't looked at in a while, and just noticed it's unavailable; but I 
got a copy from the cache. Hope the wiki comes back on-line soon...


Chris


> From: mani...@klip.net
> Date: Fri, 9 Sep 2011 16:09:19 -0300
> To: sqlite-users@sqlite.org
> Subject: Re: [sqlite] SQLite Wiki doesn't work
> 
> It's a pity. Many searchs on Google landing on wiki.
> 
> Antonio Maniero
> 
> 
> 2011/9/9 Duquette, William H (318K) 
> 
> > I believe that SQLite3 is being hosted using Fossil now, rather than
> > cvstrac; and I don't see a "Wiki" link on the main SQLite page.
> >
> > At a guess, the old Wiki pages have been migrated to Fossil, but can now
> > only be edited by the SQLite developers.  If there are links to the old
> > wiki anywhere, they would need to be updated.
> >
> > But I'm just a user; maybe someone else will speak up.
> >
> > Will
> >
> > --
> > Will Duquette -- william.h.duque...@jpl.nasa.gov
> > Athena Development Lead -- Jet Propulsion Laboratory
> > "It's amazing what you can do with the right tools."
> >
> >
> >
> >
> >
> > On 9/9/11 10:07 AM, "Antonio Maniero"  wrote:
> >
> > >Still down since weeks ago.
> > >
> > >
> > >2011/9/5 SQL Maestro Group 
> > >
> > >> Hi!
> > >>
> > >> The "Wiki" link at the SQLite home page displays a blank page:
> > >> http://www.sqlite.org/cvstrac/**wiki
> > >>
> > >>
> > >> Regards,
> > >> The SQL Maestro Group Team
> > >> http://www.sqlmaestro.com __**
> > >> _
> > >> sqlite-users mailing list
> > >> sqlite-users@sqlite.org
> > >>
> > >>http://sqlite.org:8080/cgi-**bin/mailman/listinfo/sqlite-**users<
> > http://s
> > >>qlite.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
> >
> > ___
> > 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
  
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] SQLite Wiki doesn't work

2011-09-09 Thread Antonio Maniero
It's a pity. Many searchs on Google landing on wiki.

Antonio Maniero


2011/9/9 Duquette, William H (318K) 

> I believe that SQLite3 is being hosted using Fossil now, rather than
> cvstrac; and I don't see a "Wiki" link on the main SQLite page.
>
> At a guess, the old Wiki pages have been migrated to Fossil, but can now
> only be edited by the SQLite developers.  If there are links to the old
> wiki anywhere, they would need to be updated.
>
> But I'm just a user; maybe someone else will speak up.
>
> Will
>
> --
> Will Duquette -- william.h.duque...@jpl.nasa.gov
> Athena Development Lead -- Jet Propulsion Laboratory
> "It's amazing what you can do with the right tools."
>
>
>
>
>
> On 9/9/11 10:07 AM, "Antonio Maniero"  wrote:
>
> >Still down since weeks ago.
> >
> >
> >2011/9/5 SQL Maestro Group 
> >
> >> Hi!
> >>
> >> The "Wiki" link at the SQLite home page displays a blank page:
> >> http://www.sqlite.org/cvstrac/**wiki
> >>
> >>
> >> Regards,
> >> The SQL Maestro Group Team
> >> http://www.sqlmaestro.com __**
> >> _
> >> sqlite-users mailing list
> >> sqlite-users@sqlite.org
> >>
> >>http://sqlite.org:8080/cgi-**bin/mailman/listinfo/sqlite-**users<
> http://s
> >>qlite.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
>
> ___
> 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


Re: [sqlite] SQLite Wiki doesn't work

2011-09-09 Thread Duquette, William H (318K)
I believe that SQLite3 is being hosted using Fossil now, rather than
cvstrac; and I don't see a "Wiki" link on the main SQLite page.

At a guess, the old Wiki pages have been migrated to Fossil, but can now
only be edited by the SQLite developers.  If there are links to the old
wiki anywhere, they would need to be updated.

But I'm just a user; maybe someone else will speak up.

Will

--
Will Duquette -- william.h.duque...@jpl.nasa.gov
Athena Development Lead -- Jet Propulsion Laboratory
"It's amazing what you can do with the right tools."





On 9/9/11 10:07 AM, "Antonio Maniero"  wrote:

>Still down since weeks ago.
>
>
>2011/9/5 SQL Maestro Group 
>
>> Hi!
>>
>> The "Wiki" link at the SQLite home page displays a blank page:
>> http://www.sqlite.org/cvstrac/**wiki
>>
>>
>> Regards,
>> The SQL Maestro Group Team
>> http://www.sqlmaestro.com __**
>> _
>> sqlite-users mailing list
>> sqlite-users@sqlite.org
>> 
>>http://sqlite.org:8080/cgi-**bin/mailman/listinfo/sqlite-**users>qlite.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

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] SQLite Wiki doesn't work

2011-09-09 Thread Antonio Maniero
Still down since weeks ago.


2011/9/5 SQL Maestro Group 

> Hi!
>
> The "Wiki" link at the SQLite home page displays a blank page:
> http://www.sqlite.org/cvstrac/**wiki 
>
> Regards,
> The SQL Maestro Group Team
> http://www.sqlmaestro.com __**
> _
> 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


Re: [sqlite] Patch to pass collation through to Virtual Tables (The Patch Text)

2011-09-09 Thread Ben Harper
One liner


diff -r 354a72d834e6 third_party/sqlite/sqlite3/where.c
--- a/third_party/sqlite/sqlite3/where.cFri Sep 09 15:13:23 2011 +0200
+++ b/third_party/sqlite/sqlite3/where.cFri Sep 09 15:15:49 2011 +0200
@@ -1971,6 +1971,7 @@
 pIdxCons[j].iColumn = pTerm->u.leftColumn;
 pIdxCons[j].iTermOffset = i;
 pIdxCons[j].op = (u8)pTerm->eOperator;
+pIdxCons[j].pColl = sqlite3BinaryCompareCollSeq(pParse, 
pTerm->pExpr->pLeft, pTerm->pExpr->pRight);
 /* The direct assignment in the previous line is possible only because
 ** the WO_ and SQLITE_INDEX_CONSTRAINT_ codes are identical.  The
 ** following asserts verify this fact. */


Full Patch


diff -r 354a72d834e6 third_party/sqlite/sqlite3/sqlite3.h
--- a/third_party/sqlite/sqlite3/sqlite3.h  Fri Sep 09 15:13:23 2011 +0200
+++ b/third_party/sqlite/sqlite3/sqlite3.h  Fri Sep 09 15:17:16 2011 +0200
@@ -4337,6 +4337,46 @@
 };
 
 /*
+** A "Collating Sequence" is defined by an instance of the following
+** structure. Conceptually, a collating sequence consists of a name and
+** a comparison routine that defines the order of that sequence.
+**
+** There may two separate implementations of the collation function, one
+** that processes text in UTF-8 encoding (CollSeq.xCmp) and another that
+** processes text encoded in UTF-16 (CollSeq.xCmp16), using the machine
+** native byte order. When a collation sequence is invoked, SQLite selects
+** the version that will require the least expensive encoding
+** translations, if any.
+**
+** The CollSeq.pUser member variable is an extra parameter that passed in
+** as the first argument to the UTF-8 comparison function, xCmp.
+** CollSeq.pUser16 is the equivalent for the UTF-16 comparison function,
+** xCmp16.
+**
+** If both CollSeq.xCmp and CollSeq.xCmp16 are NULL, it means that the
+** collating sequence is undefined.  Indices built on an undefined
+** collating sequence may not be read or written.
+*/
+struct CollSeq {
+  char *zName;  /* Name of the collating sequence, UTF-8 encoded */
+  unsigned char enc;/* Text encoding handled by xCmp() */
+  unsigned char type;   /* One of the SQLITE_COLL_... values below */
+  void *pUser;  /* First argument to xCmp() */
+  int (*xCmp)(void*,int, const void*, int, const void*);
+  void (*xDel)(void*);  /* Destructor for pUser */
+};
+
+typedef struct CollSeq CollSeq;
+
+/*
+** Allowed values of CollSeq.type:
+*/
+#define SQLITE_COLL_BINARY  1  /* The default memcmp() collating sequence */
+#define SQLITE_COLL_NOCASE  2  /* The built-in NOCASE collating sequence */
+#define SQLITE_COLL_REVERSE 3  /* The built-in REVERSE collating sequence */
+#define SQLITE_COLL_USER0  /* Any other user-defined collating sequence */
+
+/*
 ** CAPI3REF: Virtual Table Indexing Information
 ** KEYWORDS: sqlite3_index_info
 **
@@ -4397,6 +4437,7 @@
  unsigned char op; /* Constraint operator */
  unsigned char usable; /* True if this constraint is usable */
  int iTermOffset;  /* Used internally - xBestIndex should ignore */
+ CollSeq *pColl;   /* Collation sequence */
   } *aConstraint;/* Table of WHERE clause constraints */
   int nOrderBy;  /* Number of terms in the ORDER BY clause */
   struct sqlite3_index_orderby {
diff -r 354a72d834e6 third_party/sqlite/sqlite3/sqliteInt.h
--- a/third_party/sqlite/sqlite3/sqliteInt.hFri Sep 09 15:13:23 2011 +0200
+++ b/third_party/sqlite/sqlite3/sqliteInt.hFri Sep 09 15:17:16 2011 +0200
@@ -1057,43 +1057,6 @@
 #endif
 };
 
-/*
-** A "Collating Sequence" is defined by an instance of the following
-** structure. Conceptually, a collating sequence consists of a name and
-** a comparison routine that defines the order of that sequence.
-**
-** There may two separate implementations of the collation function, one
-** that processes text in UTF-8 encoding (CollSeq.xCmp) and another that
-** processes text encoded in UTF-16 (CollSeq.xCmp16), using the machine
-** native byte order. When a collation sequence is invoked, SQLite selects
-** the version that will require the least expensive encoding
-** translations, if any.
-**
-** The CollSeq.pUser member variable is an extra parameter that passed in
-** as the first argument to the UTF-8 comparison function, xCmp.
-** CollSeq.pUser16 is the equivalent for the UTF-16 comparison function,
-** xCmp16.
-**
-** If both CollSeq.xCmp and CollSeq.xCmp16 are NULL, it means that the
-** collating sequence is undefined.  Indices built on an undefined
-** collating sequence may not be read or written.
-*/
-struct CollSeq {
-  char *zName;  /* Name of the collating sequence, UTF-8 encoded */
-  u8 enc;   /* Text encoding handled by xCmp() */
-  u8 type;  /* One of the SQLITE_COLL_... values below */
-  void *pUser;  /* First argument to xCmp() */
-  int (*xCmp)(void*,int, const void*, int, const void*);
-  void 

[sqlite] Patch to pass collation through to Virtual Tables

2011-09-09 Thread Ben Harper
Hi,

I have attached a one-liner (vtab-collation.patch) that sends collation 
information through to virtual tables.
The bigger patch (vtab-collation-full.patch) illustrates the header file 
changes necessary to make this compile.

Unfortunately, it's not as simple as just one line of code, since my patch 
requires exposure of CollSeq to the outside world.

What this patch does is to grant the virtual table the opportunity to 
distinguish between the following two queries:

SELECT * FROM vtab WHERE field = 'abc';
SELECT * FROM vtab WHERE field = 'abc' COLLATE NOCASE;

This also grants the virtual table the ability to recognized case-insensitive 
LIKE queries, which is also not currently possible.

I basically just copied the single line from bestBtreeIndex into 
bestVirtualIndex.

Is there any chance something like this could get merged into the main line?

Regards,
Ben




___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Getting the location of a record in an Index

2011-09-09 Thread Simon Slavin

On 9 Sep 2011, at 1:47pm, Ian Hardingham wrote:

> I really want O(1), but selecting by elo DESC and then setting a ranking 
> column for all records seems to be very slow, even during a transaction.  Any 
> tips for doing that fast?

If you're trying to collect this information for many different records there 
no need to run that SELECT many times.  Simply read your records ORDER BY old 
DESC and the first record will be ranked first, the second will be ranked 
second, etc..  There's no need to make SQLite do the numbering for you.

If you need to store the ranking with the record, just read all the rowids into 
a big array, then use their position in the array to work out how to update the 
ranking fields.

Also, you need to decide whether there's any point in storing these scores, or 
you can just calculate the score for a record when someone wants to see that 
particular record.

Simon.
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Getting the location of a record in an Index

2011-09-09 Thread Ian Hardingham

Thanks Igor.

I really want O(1), but selecting by elo DESC and then setting a ranking 
column for all records seems to be very slow, even during a 
transaction.  Any tips for doing that fast?


Thanks,
Ian

On 09/09/2011 13:34, Igor Tandetnik wrote:

Ian Hardingham  wrote:

Hey Igor, thanks for the reply.

Is this O(1)?  Or... I guess it's probably low-magnitude O(log n) ?

It's O(n). There's no shortcut to count(*), it walks through and counts all the 
records satisfying the condition. A B-tree doesn't provide a fast way to obtain 
a number of all the elements smaller than a given element.


___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Getting the location of a record in an Index

2011-09-09 Thread Igor Tandetnik
Ian Hardingham  wrote:
> Hey Igor, thanks for the reply.
> 
> Is this O(1)?  Or... I guess it's probably low-magnitude O(log n) ?

It's O(n). There's no shortcut to count(*), it walks through and counts all the 
records satisfying the condition. A B-tree doesn't provide a fast way to obtain 
a number of all the elements smaller than a given element.
-- 
Igor Tandetnik

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Getting the location of a record in an Index

2011-09-09 Thread Ian Hardingham

Hey Igor, thanks for the reply.

Is this O(1)?  Or... I guess it's probably low-magnitude O(log n) ?

Ian

On 09/09/2011 13:21, Igor Tandetnik wrote:

Ian Hardingham  wrote:

Again, I have:

eloResultTable (id INTEGER PRIMARY KEY AUTOINCREMENT, player TEXT, elo
FLOAT)

with:

CREATE INDEX IF NOT EXISTS eloResultScore ON eloResultTable (elo DESC)

If I have the id of a row in eloResultTable, I wish to find how far down
the eloResultScore index it is (I basically want to find a player's rank
when ordered by elo).  Is there a way to do this?

select count(*) from eloResultTable where elo>=
 (select elo from eloResultTable where id = ?);



___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Getting the location of a record in an Index

2011-09-09 Thread Igor Tandetnik
Ian Hardingham  wrote:
> Again, I have:
> 
> eloResultTable (id INTEGER PRIMARY KEY AUTOINCREMENT, player TEXT, elo
> FLOAT)
> 
> with:
> 
> CREATE INDEX IF NOT EXISTS eloResultScore ON eloResultTable (elo DESC)
> 
> If I have the id of a row in eloResultTable, I wish to find how far down
> the eloResultScore index it is (I basically want to find a player's rank
> when ordered by elo).  Is there a way to do this?

select count(*) from eloResultTable where elo >=
(select elo from eloResultTable where id = ?);

-- 
Igor Tandetnik

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


[sqlite] Getting the location of a record in an Index

2011-09-09 Thread Ian Hardingham

Hey guys.  (Thanks, I got my previous problem sorted).

Again, I have:

eloResultTable (id INTEGER PRIMARY KEY AUTOINCREMENT, player TEXT, elo 
FLOAT)


with:

CREATE INDEX IF NOT EXISTS eloResultScore ON eloResultTable (elo DESC)

If I have the id of a row in eloResultTable, I wish to find how far down 
the eloResultScore index it is (I basically want to find a player's rank 
when ordered by elo).  Is there a way to do this?


(An example if that isn't clear - if id 1234 is the third highest elo, I 
wish to get the number "3" from this calculation).


Thanks,
Ian
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Implementing persistent queues in sqlite

2011-09-09 Thread Grice, Lynton (L)
Hi Allan,

I have done this exact thing recently, I needed a "high speed" persistent queue 
in my one application running on SPARC. My application may have had some 
different requirements but essentially message stream from one system to the 
"SQLite queue" and get sent to another system(both directions).

I used SQLite in WAL modethis is essentialyou may also need to use a 
"busy handler"

I am not C expert at all but the BASIC queue I implemented in SQLIte seems to 
work 100% for my purposes.and so far not a single issue with it running.

Chat later ;-)

Lynton

-Original Message-
From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users-boun...@sqlite.org] 
On Behalf Of Allan Nielsen
Sent: Friday, September 09, 2011 9:04 AM
To: sqlite-users@sqlite.org
Subject: [sqlite] Implementing persistent queues in sqlite

Hi Sqlite users

After several frustrating days, i have decided to drop using BerkeleyDB for 
implementing a persistent queue, and new as an alternative I'm looking at 
sqlite.

I have noticed that this topic have been discussed before on this list several 
time, but I'm asking again as I have some quite specific questions, but also 
because things might have changed since.

First of all, let me explain my use cases:

The queue is going to be used as an replacement for the syslog daemon. The 
sqlite functionality which will push new entries to the to queue, will be 
linked directly into my logging logging library and should insert into the 
table every time I do a syslog. The sqlite functionality which pop entries from 
the queue will be used from a call-home process where it will post new entries 
to a web server. When an entry is posted successfully the entries must be 
deleted, not before. If an error occurs, the entries must be posted again.

Following are important

- Several process will append to the same table simultaneous
- Process might die while doing an insert or update
- Long lived processes connected to the database may not be affected by other 
processes which dies doing transactions.
- Performance is not unimportant, but is not expected to be a problem either.
- Posting of messages might take a long time, during this period it must be 
possible to add new entries.

So, here are my questions:

- Could sqlite be the right tool for the job
- Is there anything I should be aware of
- Do you know of any projects which do this already
- Does any of you have examples on how to do this

Thanks for your time

Allan W. Nielsen
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

NOTICE: Please note that this eMail, and the contents thereof, 
is subject to the standard Sasol eMail legal notice which may be found at: 
http://www.sasol.com/legalnotices   
   

If you cannot access the legal notice through the URL attached and you wish 
to receive a copy thereof please send an eMail to 
legalnot...@sasol.com

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


[sqlite] Implementing persistent queues in sqlite

2011-09-09 Thread Allan Nielsen
Hi Sqlite users

After several frustrating days, i have decided to drop using BerkeleyDB for
implementing a persistent queue, and new as an alternative I'm looking at
sqlite.

I have noticed that this topic have been discussed before on this list
several time, but I'm asking again as I have some quite specific questions,
but also because things might have changed since.

First of all, let me explain my use cases:

The queue is going to be used as an replacement for the syslog daemon. The
sqlite functionality which will push new entries to the to queue, will be
linked directly into my logging logging library and should insert into the
table every time I do a syslog. The sqlite functionality which pop entries
from the queue will be used from a call-home process where it will post new
entries to a web server. When an entry is posted successfully the entries
must be deleted, not before. If an error occurs, the entries must be posted
again.

Following are important

- Several process will append to the same table simultaneous
- Process might die while doing an insert or update
- Long lived processes connected to the database may not be affected by
other processes which dies doing transactions.
- Performance is not unimportant, but is not expected to be a problem
either.
- Posting of messages might take a long time, during this period it must be
possible to add new entries.

So, here are my questions:

- Could sqlite be the right tool for the job
- Is there anything I should be aware of
- Do you know of any projects which do this already
- Does any of you have examples on how to do this

Thanks for your time

Allan W. Nielsen
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


[sqlite] LIKE operator on virtual table assumes ASCII collation

2011-09-09 Thread Ben Harper
>From xBestIndex and xFilter, there is no way to determine the intended 
>collation.
The default collation for a field is binary.
However, a LIKE operator needs an ASCII collation, and in the case of a virtual 
table, the
constraints passed in to xBestIndex and xFilter assume an ASCII collation. 
However, it is
impossible for xBestIndex or xFilter to know this.

For example (pseudo code):

CREATE VIRTUAL TABLE tab( txt TEXT );
INSERT INTO tab VALUES( 'AA');
INSERT INTO tab VALUES( 'AB');

SELECT * FROM tab WHERE txt LIKE 'AA%';
AA  -- This is correct

However, xBestIndex receives the equivalent of the following constraints:

SELECT * FROM tab WHERE txt >= 'AA' AND txt < 'Ab';
AA
AB -- Wrong

Now, these constraints are correct if we're working with an ASCII collation, 
but xBestIndex has no way of knowing that.

Am I missing some piece of information here, or is this a genuine shortcoming 
of the virtual table mechanism?

Regards,
Ben

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users