On Sun, 2005-05-22 at 10:19 +0200, Ludvig Strigeus wrote:
> Why not pass a single number to sqlite3VdbeRecordCompare instead, that
> just says how many fields to compare? That seems simpler. Why was the
> current design chosen.
>
The reason for not passing in a nField value is that the BTree layer
What if the last field of record1 is a NULL,
and the last field of record2 is an empty string.
Then there's no way to tell sqlite3VdbeRecordCompare that you don't
want to compare those items. If you set nKey1 and nKey2 to the last
offsets of each record, the last items will be compared too.
Why n
--- Ludvig Strigeus <[EMAIL PROTECTED]> wrote:
> In sqlite3VdbeRecordCompare()
>
> /* Read the serial types for the next element in each key. */
> idx1 += sqlite3GetVarint32(&aKey1[idx1], &serial_type1);f
> if( d1>=nKey1 && sqlite3VdbeSerialTypeLen(serial_type1)>0 ) break;
> idx2
In sqlite3VdbeRecordCompare()
/* Read the serial types for the next element in each key. */
idx1 += sqlite3GetVarint32(&aKey1[idx1], &serial_type1);
if( d1>=nKey1 && sqlite3VdbeSerialTypeLen(serial_type1)>0 ) break;
idx2 += sqlite3GetVarint32(&aKey2[idx2], &serial_type2);
if( d
4 matches
Mail list logo