performance penalty, but it handles rfc822 groups, which
imap_rfc822_parse_adrlist doesn't.
rfc822.php: Style fixes, some small tweaks/optimizations, and work around a
bit of object weirdness that caused the test for $this (to see if we were
being called statically) to not be sufficient.
* renamed DB_common::execute_emulate_query to DB_common::executeEmulateQuery
* moved "query" DB method to DB_common, there was duplicated logic in query
and simpleQuery in all backends.
* added DB::isManip so we have _one_ place for testing whether something
is a data manipulation query
* when passed a string as its first constructor arg, DB_Error now uses
the error code DB_ERROR rather than just 0
* implemented auto-commit for ibase (not yet fully tested)
* fixed persistent connections in odbc
Crypt::HCE_MD5 package, and should be cross-compatible with it. It provides
a secret-key based encryption algorithm possibly suitable for those who
don't have mcrypt enabled.
* added $debuginfo parameter to PEAR_Error constructor
* put last query in $debuginfo from DB_common::raiseError()
@PEAR: add last executed query as debug info in DB errors (Stig)
Added a more configurable error reporting interface to DB.
Also added some more tests, and moved the DB tests to pear/DB/tests.
#Usage example that prints and exits on every error:
#$dbh = DB::connect($dsn);
#$dbh->setErrorHandling(PEAR_ERROR_DIE);
#
#Example with plain callback function:
#$dbh->setErrorHandling(PEAR_ERROR_CALLBACK, "errorHandler");
#
#Example with object callback function:
#$dbh->setErrorHandling(PEAR_ERROR_CALLBACK, array($obj, "errorHandler"));
#
#Handler functions/methods are called with the error object as a parameter.
#
Took the old PHP 3 regression testing framework and rewrote it in PHP.
Should work on both Windows and UNIX, however I have not tested it on
Windows. See tests/README for how to write tests. Added the PHP 3
tests and converted most of them.
-Correct license versions + My Address for DB/* mods
-Correct ibase module
-Javadocize File_Find
-Add a optional constructor to DB that passes it on to DB::connect()
wrote, with a few extra utility functions from my old class.
Stig, I mucked with the constructor a bit since it didn't quite make sense
exactly as it was - does it still do what was intended?
Also, are the emacs folding things (// {{{ functionname() ...) a PEAR
standard? How do they fit with the javadoc?
* PEAR_Error moved into PEAR.php to reduce the number of files that are
always included
* cleaned up the PEAR_Error API a bit and changed the two classes using it
* added PEAR_Installer - an administration class for installing packages
and maintaining a "class/file cache"
(I need it to move forward on some stuff, and I really do want to see PEAR
succeed, so I'm going to work with the official code to get it working. Hope
that's okay). I've replaced all instances of 'use' and 'import' with
'include_once' (and added the .php extension where necessary). This gets my
short test script working. More possibly to come.
Store EXTENSION_DIR in php-config
Ignore errors during header installation
Automatically enable modules in self-contained mode
Create empty .deps in builddir
* Makefile header is now completely dynamic
* Absolute paths in (top_)?(src|build)dir and VPATH
(fixes Tru64 support)
* VPATH does not contain variables anymore
(fixes UnixWare support)
@Introduced DB warnings
Added DB/storage to PEAR.
Introduced DB warnings
Revert to using Javadoc-style comments.
DB_common now returns references in the appropriate places
* Fixed the "make install" rule so it doesn't temporarily break the
installed scripts.
* implemented prepare/execute emulation for MySQL including file-reference
parameters (only binmode/binfetchlen remains now)
* started fixing up the ODBC backend
- added support for externally built modules,
- improved support for in-tree shared modules,
- fixed diversion bugs,
- configure displays some informative messages,
- faster static build
(libtool isn't used anymore for compiling non-PIC objects),
- dependencies comparable to automake's without requiring GNU make or GCC,
- working make clean for non-GNU makes.
- Defined DB_ERROR_NOSUCHTABLE and DB_ERROR_NOSUCHFIELD
- Renamed DB_common::capableOf to DB_common::provides
- Cleaned up the error code mapping
- Added simpleQuery method in DB_mysql
- Changed getXxx methods in DB_common to use simpleQuery
- Fixed bug in DB_common::getAssoc
Folded up the methods in DB.php.
Started adding documentation for DB_result methods.
Added doOne() doRow() and doAssoc() methods in DB_common.
Added numCols() to DB_mysql.
Fix warnings compiling in maintainer mode.
Install DB/common.php and DB/mysql.php on "make install".
# We still have a warning from http_config.h:97. Rasmus? :-)
@Made mysql and gd work as shared extensions again (Stig)
- Fixed some warnings in maintainer-mode.
- Made mysql and gd work as shared extensions again by defining
COMPILE_DL if PIC is defined.
# We need a better solution for building .so extensions than this
# PIC/COMPILE_DL hack!
- Added DB_ERROR_NODBSELECTED
- Added DB::connect($dsn[, $persistent] which creates a DB object and connects
$dsn is a "data source name" in a format specific to DB:
phptype(dbsyntax)://username:password@protocol+hostspec/database
Don't worry, such a dsn can be as short as "mysql"
- Added mysql support
Introduced PECL - PHP Extension and Code Library (prounounced "picke"), in
the "pecl" subdir. "make install" will now install the database abstraction
layer in PREFIX/lib/php.
I hereby dedicate this part of PHP to my daughter-of-yesterday Malin. :-)