<?php
/**
* Project: PHPPDO
* File: pdoabstract.php
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
*
* For questions, help, comments, discussion, etc.,
* visit <http://devuni.com>
*
* @link http://devuni.com/
* @Copyright 2007, 2008, 2009 Nikolay Ananiev.
* @author Nikolay Ananiev <admin at devuni dot com>
*/
abstract class PDO
{
const PARAM_BOOL = 5;
const PARAM_NULL = 0;
const PARAM_INT = 1;
const PARAM_STR = 2;
const PARAM_LOB = 3;
const PARAM_STMT = 4;
const PARAM_INPUT_OUTPUT = -2147483648;
const FETCH_LAZY = 1;
const FETCH_ASSOC = 2;
const FETCH_NAMED = 11;
const FETCH_NUM = 3;
const FETCH_BOTH = 4;
const FETCH_OBJ = 5;
const FETCH_BOUND = 6;
const FETCH_COLUMN = 7;
const FETCH_CLASS = 8;
const FETCH_INTO = 9;
const FETCH_FUNC = 10;
const FETCH_GROUP = 65536;
const FETCH_UNIQUE = 196608;
const FETCH_KEY_PAIR = 12;
const FETCH_CLASSTYPE = 262144;
const FETCH_SERIALIZE = 524288;
const FETCH_PROPS_LATE = 1048576;
const ATTR_AUTOCOMMIT = 0;
const ATTR_PREFETCH = 1;
const ATTR_TIMEOUT = 2;
const ATTR_ERRMODE = 3;
const ATTR_SERVER_VERSION = 4;
const ATTR_CLIENT_VERSION = 5;
const ATTR_SERVER_INFO = 6;
const ATTR_CONNECTION_STATUS = 7;
const ATTR_CASE = 8;
const ATTR_CURSOR_NAME = 9;
const ATTR_CURSOR = 10;
const ATTR_DRIVER_NAME = 16;
const ATTR_ORACLE_NULLS = 11;
const ATTR_PERSISTENT = 12;
const ATTR_STATEMENT_CLASS = 13;
const ATTR_FETCH_CATALOG_NAMES = 15;
const ATTR_FETCH_TABLE_NAMES = 14;
const ATTR_STRINGIFY_FETCHES = 17;
const ATTR_MAX_COLUMN_LEN = 18;
const ATTR_DEFAULT_FETCH_MODE = 19;
const ATTR_EMULATE_PREPARES = 20;
const ERRMODE_SILENT = 0;
const ERRMODE_WARNING = 1;
const ERRMODE_EXCEPTION = 2;
const CASE_NATURAL = 0;
const CASE_LOWER = 2;
const CASE_UPPER = 1;
const NULL_NATURAL = 0;
const NULL_EMPTY_STRING = 1;
const NULL_TO_STRING = 2;
const FETCH_ORI_NEXT = 0;
const FETCH_ORI_PRIOR = 1;
const FETCH_ORI_FIRST = 2;
const FETCH_ORI_LAST = 3;
const FETCH_ORI_ABS = 4;
const FETCH_ORI_REL = 5;
const CURSOR_FWDONLY = 0;
const CURSOR_SCROLL = 1;
const ERR_NONE = '00000';
const PARAM_EVT_ALLOC = 0;
const PARAM_EVT_FREE = 1;
const PARAM_EVT_EXEC_PRE = 2;
const PARAM_EVT_EXEC_POST = 3;
const PARAM_EVT_FETCH_PRE = 4;
const PARAM_EVT_FETCH_POST = 5;
const PARAM_EVT_NORMALIZE = 6;
// MySQL constants
const MYSQL_ATTR_USE_BUFFERED_QUERY = 1000;
const MYSQL_ATTR_LOCAL_INFILE = 1001;
const MYSQL_ATTR_INIT_COMMAND = 1002;
const MYSQL_ATTR_READ_DEFAULT_FILE = 1003;
const MYSQL_ATTR_READ_DEFAULT_GROUP = 1004;
const MYSQL_ATTR_MAX_BUFFER_SIZE = 1005;
const MYSQL_ATTR_DIRECT_QUERY = 1006;
// Postgresql constants
const PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT = 1000;
abstract public function __construct($dsn, $username = '', $password = '', $driver_options = array());
abstract public function beginTransaction();
abstract public function commit();
abstract public function errorCode();
abstract public function errorInfo();
abstract public function exec($statement);
abstract public function getAttribute($attribute);
abstract public function lastInsertId($name = '');
abstract public function prepare($statement, $driver_options = array());
abstract public function query($statement, $mode = 0, $param = '', $ctorargs = array());
abstract public function quote($string, $parameter_type = 0);
abstract public function rollBack();
abstract public function setAttribute($attribute, $value);
}
?>