summaryrefslogtreecommitdiff
path: root/includes/database.pear.inc
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2004-12-30 13:13:22 +0000
committerDries Buytaert <dries@buytaert.net>2004-12-30 13:13:22 +0000
commit828be2ad6198538def4eb3da0ce03a34961a38e9 (patch)
tree7e56235e0af84c21f4381672353e92a3b9f4488c /includes/database.pear.inc
parent26875e9b38985518e9ecf49d18682d42265cf806 (diff)
downloadbrdo-828be2ad6198538def4eb3da0ce03a34961a38e9.tar.gz
brdo-828be2ad6198538def4eb3da0ce03a34961a38e9.tar.bz2
- Patch #13020 by chx: let Drupal handle multiple database layers.
- Removed the PEAR database backend. It's no longer being used/maintained.
Diffstat (limited to 'includes/database.pear.inc')
-rw-r--r--includes/database.pear.inc288
1 files changed, 0 insertions, 288 deletions
diff --git a/includes/database.pear.inc b/includes/database.pear.inc
deleted file mode 100644
index f06db36a4..000000000
--- a/includes/database.pear.inc
+++ /dev/null
@@ -1,288 +0,0 @@
-<?php
-// $Id$
-
-/**
- * @file
- * Database interface code for database servers using PEAR, including PostgreSQL.
- */
-
-require_once 'DB.php';
-
-/**
- * Initialize a database connection.
- */
-function db_connect($url) {
- $db_handle = DB::connect($url);
-
- if (DB::isError($db_handle)) {
- die('Database problem: '. $db_handle->getMessage());
- }
-
- $db_handle->setFetchMode(DB_FETCHMODE_ASSOC);
-
- return $db_handle;
-}
-
-/**
- * Runs a basic query in the active database.
- *
- * User-supplied arguments to the query should be passed in as separate parameters
- * so that they can be properly escaped to avoid SQL injection attacks.
- *
- * @param $query
- * A string containing an SQL query.
- * @param ...
- * A variable number of arguments which are substituted into the query using
- * printf() syntax.
- * @return
- * A database query result resource, or FALSE if the query was not executed
- * correctly.
- */
-function db_query($query) {
-
- $args = func_get_args();
-
- $query = db_prefix_tables($query);
- if (count($args) > 1) {
- if(is_array($args[1])){
- $args1 = array_map('db_escape_string', $args[1]);
- $nargs = array_merge(array($query), $args1);
- }
- else {
- $nargs = array_map('db_escape_string', $args);
- $nargs[0] = $query;
- }
- return _db_query(call_user_func_array('sprintf', $nargs));
- }
- else {
- return _db_query($query);
- }
-}
-
-/**
- * Debugging version of db_query().
- *
- * Echoes the query to the browser.
- */
-function db_queryd($query) {
- $args = func_get_args();
- $query = db_prefix_tables($query);
- if (count($args) > 1) {
- if(is_array($args[1])){
- $args1 = array_map('db_escape_string', $args[1]);
- $nargs = array_merge(array($query), $args1);
- }
- else {
- $nargs = array_map('db_escape_string', $args);
- $nargs[0] = $query;
- }
- return _db_query(call_user_func_array('sprintf', $nargs), 1);
- }
- else {
- return _db_query($query, 1);
- }
-}
-
-/**
- * Helper function for db_query().
- */
-function _db_query($query, $debug = 0) {
- global $active_db, $queries;
-
- if (variable_get('dev_query', 0)) {
- list($usec, $sec) = explode(' ', microtime());
- $timer = (float)$usec + (float)$sec;
- }
-
- $result = $active_db->query($query);
-
- if (variable_get('dev_query', 0)) {
- list($usec, $sec) = explode(' ', microtime());
- $stop = (float)$usec + (float)$sec;
- $diff = $stop - $timer;
- $queries[] = array($query, $diff);
- }
-
- if ($debug) {
- print '<p>query: '. $query .'</p>';
- }
-
- if (DB::isError($result)) {
- trigger_error($result->getMessage() ."\nquery: ". htmlspecialchars($query), E_USER_ERROR);
- }
- else {
- return $result;
- }
-}
-
-/**
- * Fetch one result row from the previous query as an object.
- *
- * @param $result
- * A database query result resource, as returned from db_query().
- * @return
- * An object representing the next row of the result. The attributes of this
- * object are the table fields selected by the query.
- */
-function db_fetch_object($result) {
- if ($result) {
- return $result->fetchRow(DB_FETCHMODE_OBJECT);
- }
-}
-
-/**
- * Fetch one result row from the previous query as an array.
- *
- * @param $result
- * A database query result resource, as returned from db_query().
- * @return
- * An associative array representing the next row of the result. The keys of
- * this object are the names of the table fields selected by the query, and
- * the values are the field values for this result row.
- */
-function db_fetch_array($result) {
- if ($result) {
- return $result->fetchRow(DB_FETCHMODE_ASSOC);
- }
-}
-
-/**
- * Determine how many result rows were found by the preceding query.
- *
- * @param $result
- * A database query result resource, as returned from db_query().
- * @return
- * The number of result rows.
- */
-function db_num_rows($result) {
- if ($result) {
- return $result->numRows($result);
- }
-}
-
-/**
- * Return an individual result field from the previous query.
- *
- * Only use this function if exactly one field is being selected; otherwise,
- * use db_fetch_object() or db_fetch_array().
- *
- * @param $result
- * A database query result resource, as returned from db_query().
- * @param $row
- * The index of the row whose result is needed.
- * @return
- * The resulting field.
- */
-function db_result($result, $row = 0) {
- if ($result && $result->numRows($result) > $row) {
- $tmp = $result->fetchRow(DB_FETCHMODE_ORDERED);
- return $tmp[$row];
- }
-}
-
-/**
- * Determine whether the previous query caused an error.
- */
-function db_error() {
- global $active_db;
-
- return DB::isError($active_db);
-}
-
-/**
- * Return a new unique ID in the given sequence.
- *
- * For compatibility reasons, Drupal does not use auto-numbered fields in its
- * database tables. Instead, this function is used to return a new unique ID
- * of the type requested. If necessary, a new sequence with the given name
- * will be created.
- */
-function db_next_id($name) {
- global $active_db;
-
- $name = db_prefix_tables($name);
- $result = $active_db->nextID($name);
- if (DB::isError($result)) {
- watchdog('error', t('Database: %db sequence table: %name.', array('%db' => '<em>'. $result->getMessage() .'</em>', '%name' => "<em>$name</em>")));
- }
- else {
- return $result;
- }
-}
-
-/**
- * Determine the number of rows changed by the preceding query.
- */
-function db_affected_rows() {
- global $active_db;
-
- return $active_db->affectedRows();
-}
-
-/**
- * Runs a limited-range query in the active database.
- *
- * Use this as a substitute for db_query() when a subset of the query is to be
- * returned.
- * User-supplied arguments to the query should be passed in as separate parameters
- * so that they can be properly escaped to avoid SQL injection attacks.
- *
- * @param $query
- * A string containing an SQL query.
- * @param ...
- * A variable number of arguments which are substituted into the query using
- * printf() syntax.
- * @param $from
- * The first result row to return.
- * @param $count
- * The maximum number of result rows to return.
- * @return
- * A database query result resource, or FALSE if the query was not executed
- * correctly.
- */
-function db_query_range($query) {
- global $active_db, $queries;
-
- if (variable_get('dev_query', 0)) {
- list($usec, $sec) = explode(' ', microtime());
- $timer = (float)$usec + (float)$sec;
- }
-
- $args = func_get_args();
- $count = array_pop($args);
- $from = array_pop($args);
- if (count(func_get_args()) > 3) {
- $args = array_map('db_escape_string', $args);
- $query = db_prefix_tables($query);
- $args[0] = $query;
- $result = $active_db->limitQuery(call_user_func_array('sprintf', $args), $from, $count);
- }
- else {
- $query = func_get_arg(0);
- $query = db_prefix_tables($query);
- $result = $active_db->limitQuery( $query, $from, $count);
- }
-
- if (variable_get('dev_query', 0)) {
- list($usec, $sec) = explode(' ', microtime());
- $stop = (float)$usec + (float)$sec;
- $diff = $stop - $timer;
- $queries[] = array($query. ' [LIMIT '. $from .', '. $count .']', $diff);
- }
-
- if (DB::isError($result)) {
- watchdog('error', t('Database: %db query: %query.', array('%db' => '<em>'. $result->getMessage() .'</em>', '%query' => '<em>'. htmlspecialchars($query) .'</em>')));
- }
- else {
- return $result;
- }
-}
-
-/**
- * Prepare user input for use in a database query, preventing SQL injection attacks.
- */
-function db_escape_string($text) {
- return addslashes($text);
-}
-
-?>