Commit Graph

349 Commits

Author SHA1 Message Date
Marcus Boerger
d1a6deb785 - Fixed bug #26304 (Unexpected data loss when opening dba file). 2003-12-13 14:50:06 +00:00
foobar
bade2e7df6 Remove unnecessary #include 2003-12-07 16:56:51 +00:00
Marcus Boerger
923d0bcfb4 revert here too 2003-12-07 15:59:13 +00:00
Marcus Boerger
9c8678eb7b Fix enabling shared builds. 2003-12-07 00:21:47 +00:00
Edin Kadribasic
a05a42c8ea Added dba to the new win32 build. Works both as shared
and built-in extension on windows.
2003-12-06 23:39:07 +00:00
Marcus Boerger
2bed6c2b8a Proto fixes (Friedhelm Betz <holliwell|gmx.net>) 2003-11-13 19:08:41 +00:00
Marcus Boerger
a18bd05f32 Bugfix #25794: Cannot open existing hash db3 file with write 2003-11-13 08:59:02 +00:00
Marcus Boerger
4d752bd78e Pass eof 2003-11-13 07:53:15 +00:00
Marcus Boerger
daaef88047 Add helper function that splits inifile keys into an array which again
can be used in dba_fetch calls.
2003-11-12 21:43:03 +00:00
foobar
db50cd251e Aligned configure help texts. 2003-10-03 05:24:33 +00:00
Moriyoshi Koizumi
daf7528d90 Alignment fix 2003-10-02 10:47:12 +00:00
foobar
c952ea0bb3 - Fix win32 debug build 2003-08-31 16:28:19 +00:00
Ilia Alshanetsky
4f2e9bbc45 Fixed format error. 2003-08-28 17:56:41 +00:00
Marcus Boerger
ddf4ad5744 Fix warning 2003-08-17 17:14:11 +00:00
foobar
1ba3e3a6dc MFB 2003-08-15 18:47:23 +00:00
Ilia Alshanetsky
4d98e9ec97 Finalize the closing process of persistent streams. The current
behavior/API is as follows:

1) To close a persistent use php_stream_pclose(), it will close the stream
and remove it from the persistent list.

2) Inside PHP code only explicit fclose() will close persistent streams,
all other actions such as unset() or assigning a value to stream handle
will not.

3) Regular streams can still be closed by either fclose(), unset() or an
assignment of a value to the stream handler.
2003-07-29 18:26:34 +00:00
Marcus Boerger
7f1cf60331 Remove bogus comment (noticed by Zak) 2003-07-16 22:55:02 +00:00
Marcus Boerger
a86eff2162 Fix handling of empty settings 2003-07-16 20:53:17 +00:00
Marcus Boerger
bc16d962a6 Fix open mode (noticed by FutureQuest, Inc.) 2003-07-03 11:17:34 +00:00
Marcus Boerger
1cdc2d48b6 Fix possible SEGV 2003-06-22 15:53:50 +00:00
Marcus Boerger
a332df50fb Don't copy the filename when it is not needed 2003-06-21 18:43:25 +00:00
Marcus Boerger
7eb9fc251a Store the absolute path of the database file and use that in the external library 2003-06-21 18:17:20 +00:00
Marcus Boerger
814c0be675 When persistent then we may use threads 2003-06-21 18:16:38 +00:00
Marcus Boerger
ba3e315b65 Allow the extension to reside elsewhere 2003-06-19 15:48:06 +00:00
Marcus Boerger
44401fa0e7 to be precise 2003-06-19 11:10:14 +00:00
Edin Kadribasic
5a3c09c440 Fixed win32 build 2003-06-16 09:11:31 +00:00
foobar
f07f3267e2 - Fixed some /usr/lib leaks into LIBS/LDFLAGS which later on made other
configure checks fail (old libs in /usr/lib, new ones in /opt/lib :)
2003-06-14 14:22:13 +00:00
Andrey Hristov
ab5b9b91d3 proto fixes 2003-06-13 14:59:01 +00:00
Marcus Boerger
48cc4a7be6 Bugfix #2397: dba_open locking error with db3 2003-06-12 19:53:40 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Marcus Boerger
a13edb62d5 Fix builddir entry 2003-05-29 14:01:21 +00:00
Marcus Boerger
afc3b8b6dc MFB (these parts were missing) 2003-05-29 12:33:19 +00:00
Marcus Boerger
323eedd1b2 Fix build 2003-05-21 00:14:16 +00:00
Marcus Boerger
e9c10acc76 Fix test (ssen by Dan Torop) 2003-05-20 22:28:10 +00:00
Marcus Boerger
1778caad0c Fix protos 2003-05-19 22:52:27 +00:00
Marcus Boerger
80aa82e24b Enable bundled submodules when enabling module 2003-05-18 12:36:24 +00:00
Marcus Boerger
7ddb7f15d4 Enable db<n> builds configured with --with-uniquename 2003-05-14 06:22:35 +00:00
Marcus Boerger
8dffa02661 Fix this test 2003-05-13 20:37:54 +00:00
Marcus Boerger
34a36c466e #i shouldn't do test-fiddling after 3o-clock 2003-05-06 09:33:40 +00:00
Marcus Boerger
6360bda763 Find a better solution for the tests 2003-05-06 01:23:35 +00:00
Marcus Boerger
8a5ba51ac8 MFB: safe_emalloc() 2003-04-24 20:54:43 +00:00
Marcus Boerger
da540a4d3b Fixed Bug #23188 CDB databases created with 'c' mode do not work. 2003-04-14 21:50:48 +00:00
Marcus Boerger
268ffda27d Reenable dba_popen() 2003-04-13 19:50:28 +00:00
Sascha Schumann
1879b27fc6 fix VPATH builds 2003-04-01 10:16:12 +00:00
Marcus Boerger
f14a65c7b9 CS 2003-03-20 19:54:22 +00:00
Marcus Boerger
f5a7a1c094 Use stream locking support
# needs more testing
2003-03-04 23:45:48 +00:00
Marcus Boerger
cf7101d354 Support all possible configurations and simplify includes 2003-03-04 20:31:42 +00:00
Marcus Boerger
238abf8c7f fix dba by fixing key_len retrieval 2003-03-04 19:56:35 +00:00
Wez Furlong
fd61f69077 Another big commit (tm).
Main Changes:
- Implement a socket transport layer for use by all code that needs to open
  some kind of "special" socket for network or IPC.
- Extensions can register (and override) transports.
- Implement ftruncate() on streams via the ioctl-alike option interface.
- Implement mmap() on streams via the ioctl-alike option interface.
- Implement generic crypto API via the ioctl-alike option interface.
  (currently only supports OpenSSL, but could support other SSL toolkits,
  and other crypto transport protocols).

Impact:
- tcp sockets can be overloaded by the openssl capable sockets at runtime,
  removing the link-time requirement for ssl:// and https:// sockets and
  streams.
- checking stream types using PHP_STREAM_IS_SOCKET is deprecated, since
  there are now a range of possible socket-type streams.

Working towards:
- socket servers using the new transport layer
- mmap support under win32
- Cleaner code.

# I will be updating the win32 build to add the new files shortly
# after this commit.
2003-02-27 17:43:38 +00:00
Marcus Boerger
d737741329 allow keys as array(group, name) for handler inifile 2003-02-26 22:07:50 +00:00
Marcus Boerger
ce04e8a91a ws 2003-02-26 22:05:32 +00:00
Marcus Boerger
cdcb86a4da make it faster 2003-02-26 22:03:55 +00:00
Marcus Boerger
6fd9c32346 if skip param of dba_fetch is -1 stop do not restart search after last element 2003-02-26 22:03:00 +00:00
Marcus Boerger
fbe7e1d977 Dropped optimization
# It is impossible to combine skip=-1 searches with firstkey/nextkey results
2003-02-22 23:47:09 +00:00
Marcus Boerger
c0e9bd0830 INI files are case insensitive 2003-02-22 20:49:07 +00:00
Marcus Boerger
fef5b7c3a1 Remove testcode 2003-02-22 17:37:27 +00:00
Marcus Boerger
8ab1924ca3 @Added dba handler inifiles to support ini files. (Marcus) 2003-02-22 17:20:06 +00:00
Marcus Boerger
b8f518a451 - wrong use of sizeof(char)
- use define for block size
- a bit faster
2003-02-18 22:19:18 +00:00
Marcus Boerger
7b6fb4b7b3 coding style 2003-02-18 20:49:52 +00:00
Marcus Boerger
3db2b2bc7c avoiding problems 2003-02-18 20:48:05 +00:00
foobar
83403958ed break: First one not needed, second missing. 2003-02-09 19:57:50 +00:00
Marcus Boerger
895c27d3fc Change DBM detection order 2003-02-01 22:19:04 +00:00
Marcus Boerger
0319e63775 - unify configure mechanisms (include file handling)
- fix dbm
- allow dbm to be based on gdbm
2003-02-01 18:59:59 +00:00
Marcus Boerger
0629bdb061 Shared dba requires at least db-3.3 2003-01-31 20:06:44 +00:00
Marcus Boerger
037986db20 Fix proto 2003-01-31 19:12:23 +00:00
Marcus Boerger
302f97abbc Revert this part, the new one adds more problems than it solves. 2003-01-30 21:36:05 +00:00
Marcus Boerger
f2ff4678cd Allow to link against chosen modules correctly 2003-01-30 18:28:42 +00:00
foobar
41d6e9af8d Fix configure. (typo?) 2003-01-28 10:55:36 +00:00
Marcus Boerger
1ab64d2b96 - fix this: els is optional but may not be empty 2003-01-28 06:27:01 +00:00
Marcus Boerger
2b5a5ca669 - fix "--without-flatfile"
- simplify Berkley DB verison check
2003-01-28 00:10:05 +00:00
Marcus Boerger
564788b6f5 The builtin version was always used even if configured otherwise. 2003-01-25 19:46:58 +00:00
Ilia Alshanetsky
a7b91019e9 Removed pointless memory allocation checks. 2003-01-18 19:49:28 +00:00
Edin Kadribasic
59b37a5ce4 Fixed win32 build. 2003-01-06 01:08:59 +00:00
Sebastian Bergmann
b506f5c8f8 Bump year. 2002-12-31 16:08:15 +00:00
Marcus Boerger
67f0a6f6c0 testing default handler should be a separate test 2002-12-30 19:20:11 +00:00
Marcus Boerger
aa8e5cdde7 -disallow using db-<n> with libraries of different major versions
-disallow using db-4.1 with patch level < 25
-fix db-4.1
-added undocumented DB_FCNTL_LOCKING flag for version 3 and 4
# wow the sleepycat guys answered *very* fast
2002-12-30 17:42:55 +00:00
Marcus Boerger
32dda8b0cb ws 2002-12-30 13:09:03 +00:00
Marcus Boerger
4d2f7207c0 Add info function to handlers and return handler info when dba_handlers is
called with optional parameter full_info set true.
2002-12-30 13:07:30 +00:00
Marcus Boerger
a213c71735 2nd part of the patch 2002-12-30 11:43:18 +00:00
Marcus Boerger
4b9e8fc899 -better parameter names for DBA_HND macros
-remove unnecessary notice
2002-12-30 11:32:37 +00:00
Derick Rethans
e76d0043da - Align mssql comment and clarify DBA handler selection 2002-12-30 08:55:21 +00:00
Marcus Boerger
c69d034a87 Added support for db3/db4 error handling/information 2002-12-29 15:32:38 +00:00
Marcus Boerger
9b22813c4d Add a default handler that makes handler parameter to open functions
optional.
@Improved dba extension (Marcus)
@-Made handler parameter of dba_(p)open() optional.
@-Added php.ini option 'dba.default_handler' to specify a default handler.
2002-12-29 15:31:00 +00:00
Ilia Alshanetsky
22a2636d9d Made DBA tests not dependant on error reporting settings. 2002-12-27 04:46:40 +00:00
Marcus Boerger
4041d4faed Add missing test for db4 handler 2002-12-26 19:55:06 +00:00
Andrei Zmievski
ddea2a190f Alias dba_popen() to dba_open() until persistent STDIO streams are
implemented.
2002-12-21 01:09:27 +00:00
Marcus Boerger
efd314e767 -Fix memory handling of persistent dba connections.
-Update tests.
# cdb and flatfile still FAIL for dba_popen since the known streams problem
2002-12-20 17:47:58 +00:00
Andrei Zmievski
c45f76112f At least this problem exposed some leaks.. 2002-12-20 16:45:34 +00:00
Marcus Boerger
e0c983a013 Warnings and Notices when lock modifiers for dba_(p)open are used wrong.
This finally closes bug #20828 (and i hope it must not be reopened)
2002-12-11 10:37:38 +00:00
Marcus Boerger
a6e9674bfd add missing comment 2002-12-10 22:51:09 +00:00
Marcus Boerger
b94e0d9eac LOCK_EX is not allowed in read mode -> try using existing .lck file in read
only mode only when in read mode.
2002-12-10 22:49:33 +00:00
Marcus Boerger
17117063ce -remove second attempt to close lock file
-default to lock on db file instead on .lck file.
-try to use existing .lck file and only create it on failure (allows ro access)
2002-12-10 22:02:52 +00:00
Marcus Boerger
ba534ac7c8 Added open modifier '-' to skip/ignore locking. See bug #20828, #20858 2002-12-09 17:54:13 +00:00
Marcus Boerger
579e3ca96b Add Berkeley db4 support 2002-11-26 12:05:59 +00:00
Marcus Boerger
197fd585bd -Disallow combining db2 with db3 which are conflicting.
-Stop searching for headers and libraries when found.
-Check version for Berkeley DB library headers.
2002-11-26 12:00:25 +00:00
Marcus Boerger
1827a58de0 Allow db4.0 & db4.1 here. Patch by Ralf Engelschall (rse@engelschall.com) 2002-11-23 21:11:12 +00:00
Marcus Boerger
e7d20a0422 Make magic_quotes_runtime work bidirectional for dba 2002-11-22 15:47:48 +00:00
Edin Kadribasic
ff55850562 No need to declare functions used internally by DBA as PHPAPI. This
fixes windows build.
2002-11-19 01:06:42 +00:00
Marcus Boerger
dbf8593b5b When --enable-dba is used then include builtin modules unless --without-xxx
is not used.
2002-11-15 21:28:42 +00:00
Marcus Boerger
93769053cc Use flatfile if available.
# This way we are using the internal library which we know about most.
2002-11-15 16:11:51 +00:00
Marcus Boerger
7d03dc004e Show which handler was used in the test 2002-11-15 15:58:09 +00:00
Marcus Boerger
dbb95f338e file() is affected by magic_quotes_runtime 2002-11-14 21:15:31 +00:00
Marcus Boerger
a14bc7685d Add magic_quotes_runtime support 2002-11-14 21:09:41 +00:00
Marcus Boerger
5ec9375760 Fix locking behaviour: On some systems read during write is permitted but
most libraries are not capable of that. GDBM is system dependant so there
we only test  that we do not deadlock.
2002-11-14 14:32:39 +00:00
Marcus Boerger
244d5d1c11 must be unsigned
# maybe i will change this to size_t for 64bit systems but i do not have the
# time now and i have problems building php on a sun.
2002-11-13 16:30:50 +00:00
Marcus Boerger
4dd5fc67b7 -use size_t
-recheckin header as unix file
2002-11-13 16:28:44 +00:00
Edin Kadribasic
ae51b7f4db Allow use of Berkeley db version 3.1 as found on many RedHat systems. 2002-11-13 13:12:26 +00:00
Edin Kadribasic
af436aa873 Added support for bundled flatfile, cdb and cdb_make handlers
to win32 build of the dba extension.
2002-11-13 12:12:44 +00:00
Marcus Boerger
759e4b10e8 Use php_flock instead of flock 2002-11-11 20:53:41 +00:00
Marcus Boerger
c4e57b182e -fix file open mode when modifier 'd' is used
#Add my name to authors
2002-11-11 12:04:12 +00:00
Marcus Boerger
dcc7fc16b6 -Precondiftion: no open files
-do not show warning from dba_open call for read during write
# Interesting is that on some systems read during write is permitted...
# I will change the tests as soon as i find a way to have this equal on all
# systems
2002-11-11 12:00:58 +00:00
Marcus Boerger
1cb7dc2166 Add missing flush 2002-11-11 11:57:25 +00:00
Marcus Boerger
b8f3b83511 Emit a warning when open mode modifier t is used wrong. 2002-11-10 23:07:35 +00:00
Marcus Boerger
4f636c6b3b Add $lock_flag which allows to change lock behaviour for both 'l' and 'd'
Remember gdbm has its own locking so 't' does not work here - maybe a
warning is needed for that, too.
2002-11-10 22:56:29 +00:00
Marcus Boerger
89b586d415 Use 'l' to open database file with locking on .lck file. 2002-11-10 22:07:17 +00:00
Marcus Boerger
705a4e251c -Centralise open stream for builtin modules that use streams
-If locks work on database file then only one stream open call is used
2002-11-10 17:58:46 +00:00
Marcus Boerger
224e530ee1 finish work on locking
-all but gdbm do internal locking now since only gdbm has internal locking
-you can force locking on database or lck file (with gdbm this makes no
 sense so a notice is generated)
2002-11-10 16:03:17 +00:00
Marcus Boerger
95018fc5c0 -lock support moved from dba_flatfile.c to dba.c
-flatfile, cdb, cdb_make use locking now
#locking is blocking per default use 'rt', 'wt', ct' or 'nt' for non blocking alias
#test access to a database file.
#locking uses flock() which will be emulated or warned if that is not eally
#possible in ext/standard/flock_compat.c
2002-11-08 01:03:53 +00:00
Marcus Boerger
1a4c1eb8a9 not needed anywhere here 2002-11-07 23:09:41 +00:00
Marcus Boerger
39876b881b -rename anything to flatfile_xxx/FLATFILE_xxx
-fix update function
-add warnings for update function
2002-11-07 23:03:16 +00:00
Marcus Boerger
2a2a41b5f2 add test to see if insert fails when key already exists 2002-11-07 14:18:42 +00:00
Marcus Boerger
927033c616 remove debug output and use php_error_docref instead 2002-11-07 13:00:37 +00:00
Sascha Schumann
3037b35b31 emalloc never returns 0, so we can simplify the code paths.
also replace ecalloc with emalloc+memset, so that the latter can be inlined.
2002-11-06 17:59:03 +00:00
Marcus Boerger
caa194d47e -convert from dos to unix file
-disallow cdb_make
2002-11-06 11:59:14 +00:00
Marcus Boerger
c7b7cf17c2 check whether a written databse can be appended and if read during write
is permitted
#i use ksort for the result here since some dbm libraries sort their result
#but that is nothing to test here.
2002-11-06 11:18:00 +00:00
Marcus Boerger
7fb5e192fb fix locks and reading
#i will extend the tests to guard on such failures
2002-11-06 10:43:41 +00:00
Marcus Boerger
678829add6 There shall never be an external library for this (hopefully). 2002-11-06 10:08:38 +00:00
Marcus Boerger
88af7e9897 Use the the name 'flatfile' correctly so the handler support can be built now.
#I do not like the lock solution since a crashed php would leave the *lck
#file locked now.
2002-11-06 09:17:51 +00:00
Marcus Boerger
4be50925ad move newly introduced flatfile support from dbm to new flatfile handler
# do not make the same mistake as with ext/db where it was not clear
# which format was used.
2002-11-06 04:16:18 +00:00
Marcus Boerger
5d9563df56 correct file open modes 2002-11-06 02:21:49 +00:00
Marcus Boerger
31b6a5cebf #add myself 2002-11-06 01:53:50 +00:00
Marcus Boerger
f0acf84dc7 Incorporate rewritten version of dbm from db extension.
# currently locks are missing :-(
2002-11-06 01:47:06 +00:00
Marcus Boerger
b3ab4ece8d correct errors 2002-11-05 19:38:06 +00:00
Marcus Boerger
77858f7fcd -use of emalloc functions
-info was not initialised fulle due to memset parameters
 now that the whole structure is initialised we can stop putting 0 in it.
2002-11-05 15:01:20 +00:00
Marcus Boerger
177b24a44e Why did open fail? 2002-11-05 14:46:36 +00:00
Marcus Boerger
30e916d5cd added missing compiler define 2002-11-05 12:03:01 +00:00
Marcus Boerger
2db35e91ea no memory no members 2002-11-05 11:22:48 +00:00
Marcus Boerger
5be5c7f14f incorporate cdb-0.75 as suggested by D. J. Bernstein
#dba now supports cdb_make
2002-11-04 17:53:04 +00:00
Marcus Boerger
02c903b25e use ecmalloc/efree functions instead of (c|m)alloc/free 2002-11-04 13:39:17 +00:00
Marcus Boerger
9d0c4b7bc5 passing around TSRM
#going to add CDB_MAKE support
2002-11-04 12:27:13 +00:00
Marcus Boerger
529fbfffc4 missing 2002-11-03 20:17:00 +00:00
Marcus Boerger
068d9d4786 no c++ comments 2002-11-03 16:50:08 +00:00
Marcus Boerger
aaf5911b16 cdb now allows multiple key-value pairs with same key 2002-11-03 16:43:07 +00:00
Marcus Boerger
ea7b5d41d3 cdb interface is currently readonly 2002-11-03 15:22:32 +00:00
Marcus Boerger
a54cf8b94a cdb interface is currently readonly 2002-11-03 15:11:42 +00:00
Marcus Boerger
6668f61ecb -fixed
-use *e*malloc
2002-11-03 15:09:49 +00:00
Marcus Boerger
f7bd4ce0ba Add testcase for every single handler
# db2 fails for me with SIGSEGV
2002-11-01 14:23:23 +00:00
Marcus Boerger
d50e62cbac Always show handler used 2002-11-01 14:21:36 +00:00
Marcus Boerger
5ab8fb4df1 test.dbm* -> test0.dbm* 2002-11-01 14:20:31 +00:00
Marcus Boerger
a5968cf369 php_error -> php_error_docref 2002-11-01 14:15:24 +00:00