Home | History | Annotate | Download | only in hash
History log of /src/lib/libc/db/hash/hash.h
RevisionDateAuthorComments
 1.17  21-Feb-2020  kamil Avoid undefined behavior in *BIT macros

hash_page.c:792:2, left shift of 1 by 31 places cannot be represented in type 'int'
hash_page.c:855:2, left shift of 1 by 31 places cannot be represented in type 'int'
hash_page.c:779:3, left shift of 1 by 31 places cannot be represented in type 'int'
 1.16  18-Nov-2015  christos branches: 1.16.16;
Introduce a HASH_BSIZE macro to return the blocksize; in the 64K case this
returns 0xffff to avoid overflow. This is used where sizes are stored.
 1.15  26-Aug-2008  joerg branches: 1.15.6; 1.15.40;
Convert db from UCB types to POSIX types. Prefer uint8_t for u_char as
it is mostly about the wire format.

Patched libc.so is bit-identical.

OK matt@
 1.14  03-Feb-2007  christos branches: 1.14.12;
cleanup:
- remove __P
- remove unneeded casts
- add _DIAGASSERT
- add more diagnostics for integer overflow
- fix size_t/int confusion
- make debugging and statistics code compile
 1.13  27-Oct-2003  lukem Overhaul how `build.sh tools' are used:

* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h

* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
 1.12  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.11  30-May-2002  itojun use int32_t, instead of int, for on-disk data.
(so that we are safe in the future)
 1.10  21-Jan-2002  tv Add hooks for reachover builds from src/tools/compat.
 1.9  11-Jun-2001  wiz Fix various misspellings of compatible/compatibility.
 1.8  09-Dec-1998  christos branches: 1.8.12;
delint
 1.7  07-Nov-1996  jtc Rename the errno field in struct htab to err, as the former name
conflicts with a macro implementation of errno.h's errno.
 1.6  03-May-1996  cgd merge DB 1.85 changes
 1.5  27-Feb-1995  cgd add unintrusive Ids
 1.4  18-Aug-1994  cgd branches: 1.4.2;
clean up import
 1.3  01-Aug-1993  mycroft Add RCS identifiers.
 1.2  14-Jun-1993  cgd update db code to v1.6 from vangogh, and put it in "db" rather than "DB"
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2  17-Aug-1994  cgd update to db 1.79
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.4.2.2  18-Aug-1994  cgd clean up import
 1.4.2.1  18-Aug-1994  cgd file hash.h was added on branch netbsd-1-0 on 1994-08-18 00:40:53 +0000
 1.8.12.3  21-Jun-2002  nathanw Catch up to -current.
 1.8.12.2  28-Jan-2002  nathanw Catch up to -current.
 1.8.12.1  08-Oct-2001  nathanw Catch up to -current.
 1.14.12.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.15.40.1  22-Nov-2015  bouyer Pull up following revision(s) (requested by christos in ticket #1046):
lib/libc/db/hash/hash_page.c: revision 1.27
lib/libc/db/hash/hash_page.c: revision 1.28
lib/libc/db/hash/hash.h: revision 1.16
lib/libc/db/hash/hash.c: revision 1.36
lib/libc/db/hash/hash.c: revision 1.37
lib/libc/db/hash/hash.c: revision 1.38
lib/libc/db/hash/hash_bigkey.c: revision 1.25
Account for the -1 hack to fit 0x10000 in a short in hash_page.c
Introduce a HASH_BSIZE macro to return the blocksize; in the 64K case this
returns 0xffff to avoid overflow. This is used where sizes are stored.
If MAX_BSIZE == hashp->BSIZE (65536) then it does not fit in a short, and
we end up storing 0... This means that every entry needs a page. We store
MAX_BSIZE - 1 here, but it would be better to always store (avail - 1) here
so that we don't waste a byte and be consistent.
PR/50441: Manuel Bouyer: hash seq enumeration skips keys on big data.
XXX: pullup-7
 1.15.6.2  26-Aug-2008  joerg Convert db from UCB types to POSIX types. Prefer uint8_t for u_char as
it is mostly about the wire format.

Patched libc.so is bit-identical.

OK matt@
 1.15.6.1  26-Aug-2008  joerg file hash.h was added on branch christos-time_t on 2008-08-26 21:18:39 +0000
 1.16.16.1  08-Apr-2020  martin Merge changes from current as of 20200406

RSS XML Feed