[elephant-devel] bugfix for db-bdb: utf16 string comparison

Robert L. Read read at robertlread.net
Tue Jan 8 21:00:54 UTC 2008


Thank you, Anton.

I'm sorry it has taken so long to get to this (the holidays clog things
up.)  

I applied this patch and was green under SBCL on postmodern and
postgres.  I can't test under BDB, but I assumed this was enough
evidence to commit it to the repository, so I have done so.

If anybody notices a problem, please let me know --- this will be tested
again when we do the release, but it always better to keep the branch as
clean as possible.


On Sun, 2007-12-30 at 17:59 +0300, Anton Kazennikov wrote:
> Hello all!
> 
> I found a bug in db-bdb string comparison functions - when comparing 
> two utf16 strings only the first half of strings are compared. (bug is in
> misinterpreting string size in chars and in bytes).
> plain text document attachment (bdb-bugfix.txt), "darcs-patch.txt"
> New patches:
> 
> [db-bdb bugfix: when bdb key comparison compared only the first half of utf16 strings
> kazennikov at gmail.com**20071230141055] {
> hunk ./src/db-bdb/libberkeley-db.c 1257
> -    limit1=s1+length1;
> +    limit1=s1+2*length1;
> hunk ./src/db-bdb/libberkeley-db.c 1260
> -    limit1=s1+length1;
> +    limit1=s1+2*length1;
> hunk ./src/db-bdb/libberkeley-db.c 1263
> -    limit1=s1+length2;
> +    limit1=s1+2*length2;
> }
> 
> Context:
> 
> [db-postmodern: optimized map-index for -by-value case
> alex.mizrahi at gmail.com**20071207195402] 
> [db-postmodern: optimized form-slot-key for persistent-slot-reader
> alex.mizrahi at gmail.com**20071207200835
>  it uses SBCL internal function now, for other implementation it's less optimized.
> ] 
> [db-postmodern: small example update
> alex.mizrahi at gmail.com**20071207200630] 
> [added sh script for flushing logs sample
> alex.mizrahi at gmail.com**20070920095806] 
> [db-postmodern removed possiblity of using NIL as a key in btrees
> Henrik Hjelte<henrik at evahjelte.com>**20071124163828] 
> [cursor-duplicate removed from db-postmodern
> Henrik Hjelte<henrik at evahjelte.com>**20071124163701] 
> [removed a little compiler warning (typo)
> Henrik Hjelte<henrik at evahjelte.com>**20071122151929] 
> [remove kind-hints parameter from add-index
> Henrik Hjelte<henrik at evahjelte.com>**20071122151046
>  Probably a coming feature from Ian, but
>  right now it breaks the generic function add-index
>  and thus postmodern, so I removed it for now.
> ] 
> [Ensure set-db-synch is defined before pset is loaded
> sross at common-lisp.net**20071214145041] 
> [Fix instance deserialization to bypass initialization protocol
> sross at common-lisp.net**20071214141938] 
> [Fix to from-end traversal of new map-index
> eslick at common-lisp.net**20071130223524] 
> [New map-index implementation
> eslick at common-lisp.net**20071130222620] 
> [Cheaper get-instance-by-value
> eslick at common-lisp.net**20071130222520] 
> [TAG ELEPHANT-0-9-1
> ieslick at common-lisp.net**20071116153634] 
> Patch bundle hash:
> c4410bd1cd704cb2e4eb5eede85d1d4961621945
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel




More information about the elephant-devel mailing list