ID: 26304
User updated by: vesely at tana dot it
Reported By: vesely at tana dot it
Status: Open
Bug Type: DBM/DBA related
Operating System: Solaris
PHP Version: 4.3.4
New Comment:
Also, that correction around line 67 in dba_db4.c
(DBA_OPEN_FUNC) is bogus: if stat returns 0 you want
to say DB_UNKNOWN, since you cannot say it is DB_BTREE
when it was created by some other program.
To reproduce the bug you should create a DB with a different
type, e.g. in C if you just include db.h and then call
the dbm_open compatibility layer. The Sleepycat message
will then say "call implies an access method which is
inconsistent with previous calls."
Previous Comments:
------------------------------------------------------------------------
[2003-11-18 12:09:46] vesely at tana dot it
Description:
------------
Opening a file in 'c' mode (see example below)
truncates the file!! The docs say '"c" for read/write
access and database creation if it doesn't currently exist.'
I cannot understand that comment at line 658 in
ext/dba/dba.c, as it seems to imply that truncating
the database is necessary for locking it (??).
Reproduce code:
---------------
dba_open("important_data.db", "c", "db4");
Expected result:
----------------
open db (create if doesn't exist)
Actual result:
--------------
truncated db
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=26304&edit=1