don't actually have a driver-specific value to pass to apr_dbd_error(),
but that's OK because most/all drivers just ignore this value anyway
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@539687 13f79535-47bb-0310-9956-ffa450edef68
database configurations from the main server. The post_config hook function
determines the minimal set of distinct configurations necessary so that
database connection pools are shared between virtual hosts whenever possible.
The SQL statements which should be prepared for each database connection
are now stored in a hash for each virtual host during the configuration
phase, and these hashes are merged in the normal manner using
apr_hash_overlay() with that of the main server. This allows for statements
to be de-registered by DBDPrepareSQL, if desired. The post_config hook
function then compares the statements registered for each virtual host
when determining if a separate configuration group is required. The
changes in r424798, r432560, r432562, and r466641, which still have problems
with configuration inheritance, are therefore no longer necessary.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@503931 13f79535-47bb-0310-9956-ffa450edef68
connections in a pool cleanup function. This simplifies the ap_dbd_acquire()
and ap_dbd_cacquire() functions, and also stops us from leaking ap_dbd_t
structures when using reslists.
We ensure that prepared statements are destroyed before their DB connection
is closed, in case any drivers would have problems cleaning up prepared
statements after the DB connection is closed.
The combination of reslists and memory pool cleanup functions was causing
segfaults when child processes exited, as reported in PR 39985. To prevent
this, we register dbd_destroy() as a cleanup that will execute prior to
the internal cleanup function registered by apr_reslist_create(). When the
reslist's memory pool is destroyed, dbd_destroy() informs dbd_destruct() not
to do anything when subsequently called by the reslist's internal cleanup
function.
We avoid the use of s->process->pool (the global pool) since it isn't
destroyed by exiting child processes in most multi-process MPMs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@496831 13f79535-47bb-0310-9956-ffa450edef68
operation. This ensures the exported (Studio 97 generated) .mak
files create a usable Apache directly from the VC 8 (Studio 2005)
command line environment.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@495126 13f79535-47bb-0310-9956-ffa450edef68
ap_dbd_open() and use correct arguments to apr_dbd_error() when
non-threaded. Register correct cleanup data in non-threaded
ap_dbd_acquire() and ap_dbd_cacquire(). Clean up configuration data
and merge function. Use ap_log_error() wherever possible.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@491884 13f79535-47bb-0310-9956-ffa450edef68
value of server_rec, rather than the server name, as the server name
may change (eg when the server name is set) at any time, causing
weird behaviour in modules dependent on mod_dbd.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@466641 13f79535-47bb-0310-9956-ffa450edef68
Reported by paritosh (at limewire.co.in) on dev@httpd (thread
Re: apache 2.2 crashes at the start time in mod_dbd.c then preparing AuthDBDUserPWQuery)
Fixed by paritosh and Yours Truly.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@432560 13f79535-47bb-0310-9956-ffa450edef68
While it solves the studio 2005 (we desire this), it breaks
the studio 6 packaging (we require this). Discussion on list
of practical solutions.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@419644 13f79535-47bb-0310-9956-ffa450edef68
of switching linkers from the x86 (default linker) to x64 or other
possible target platforms. (Also, this commit cleans up lingering
/GX switches from the 'BASE' options that are supposed to be unused).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@397407 13f79535-47bb-0310-9956-ffa450edef68