包 core

包 mvc

包 orm

包 form

包 database

包 helper

包 cache

包 webcontrols

包 behavior

包 exception

包 debug

类 - QDB_Adapter_Pgsql

database
类层次 QDB_Adapter_Pgsql » QDB_Adapter_Abstract
版本 $Id: pgsql.php 2159 2009-01-25 12:43:25Z dualface $

定义 QDB_Adapter_Pgsql 类
这个是参考QDB_Adpter_Mysql 及 FLEA_Db_Driver_Pgsql 类修改而来,并根据具体情况进行了一些修改。

保护的属性

隐藏继承的属性

属性类型描述定义于
$_bind_enabled QDB_Adapter_Pgsql
$_savepoint_enabled QDB_Adapter_Pgsql
$_lastrs Resource 保存最后一次查询的资源ID QDB_Adapter_Pgsql
$_dsn mixed 数据库连接信息 QDB_Adapter_Abstract
$_id string 数据库访问对象 ID QDB_Adapter_Abstract
$_schema string 默认的 schema QDB_Adapter_Abstract
$_fetch_mode const 指示返回结果集的形式 QDB_Adapter_Abstract
$_conn resource 数据库连接句柄 QDB_Adapter_Abstract
$_log_enabled boolean 是否将查询语句保存到日志 QDB_Adapter_Abstract
$_last_err mixed 最后一次数据库操作的错误信息 QDB_Adapter_Abstract
$_last_err_code mixed 最后一次数据库操作的错误代码 QDB_Adapter_Abstract
$_insert_id mixed 最近一次插入操作或者 nextID() 操作返回的插入 ID QDB_Adapter_Abstract
$_trans_count int 指示事务启动次数 QDB_Adapter_Abstract
$_has_failed_query boolean 指示事务执行期间是否发生了错误 QDB_Adapter_Abstract
$_savepoints_stack array SAVEPOINT 堆栈 QDB_Adapter_Abstract
$_true_value 用于描绘 true、false 和 null 的数据库值 QDB_Adapter_Abstract
$_false_value QDB_Adapter_Abstract
$_null_value QDB_Adapter_Abstract
$_timestamp_format 数据库接受的日期格式 QDB_Adapter_Abstract
$_param_style string 指示使用何种样式的参数占位符 QDB_Adapter_Abstract
$_has_insert_id boolean 指示数据库是否有自增字段功能 QDB_Adapter_Abstract
$_affected_rows_enabled boolean 指示数据库是否能获得更新、删除操作影响的记录行数量 QDB_Adapter_Abstract
$_transaction_enabled boolean 指示数据库是否支持事务 QDB_Adapter_Abstract
$_result_field_name_lower boolean 指示是否将查询结果中的字段名转换为全小写 QDB_Adapter_Abstract

公共方法

隐藏继承的方法

方法描述定义于
__construct() QDB_Adapter_Pgsql
connect() QDB_Adapter_Pgsql
pconnect() QDB_Adapter_Pgsql
nconnect() QDB_Adapter_Pgsql
close() QDB_Adapter_Pgsql
identifier() QDB_Adapter_Pgsql
qstr() QDB_Adapter_Pgsql
qtable() QDB_Adapter_Pgsql
qfield() QDB_Adapter_Pgsql
nextID() QDB_Adapter_Pgsql
createSeq() QDB_Adapter_Pgsql
dropSeq() QDB_Adapter_Pgsql
insertID() QDB_Adapter_Pgsql
affectedRows() QDB_Adapter_Pgsql
execute() 执行一个查询,返回一个查询对象或者 boolean 值,出错时抛出异常 QDB_Adapter_Pgsql
selectLimit() QDB_Adapter_Pgsql
startTrans() 启动事务 QDB_Adapter_Pgsql
completeTrans() 完成事务,根据查询是否出错决定是提交事务还是回滚事务 QDB_Adapter_Pgsql
metaColumns() 返回指定数据表(或者视图)的元数据 QDB_Adapter_Pgsql
metaTables() QDB_Adapter_Pgsql
getDSN() 返回数据库访问对象使用的 DSN QDB_Adapter_Abstract
getID() 返回数据库访问对象的 ID QDB_Adapter_Abstract
getSchema() 返回数据库对象对应的 schema QDB_Adapter_Abstract
getTablePrefix() 返回数据库对象对应的表前缀 QDB_Adapter_Abstract
isConnected() 确认是否已经连接到数据库 QDB_Adapter_Abstract
handle() 返回连接数据库的句柄 QDB_Adapter_Abstract
setSchema() 选择要操作的 SCHEMA QDB_Adapter_Abstract
qsql() 将 SQL 中用“[]”指示的字段名转义为完全限定名 QDB_Adapter_Abstract
qid() 获得完全限定名 QDB_Adapter_Abstract
qids() 获得多个完全限定名 QDB_Adapter_Abstract
qinto() 将 SQL 语句中的参数占位符替换为相应的参数值 QDB_Adapter_Abstract
insert() 插入一条记录到数据库 QDB_Adapter_Abstract
update() 更新数据库中的记录 QDB_Adapter_Abstract
delete() 删除指定数据表中符合条件的记录 QDB_Adapter_Abstract
getPlaceholder() 返回输入数组键名及其对应的参数占位符和转义后的字段名 QDB_Adapter_Abstract
select() 发起一个查询,获得一个 QDB_Select 查询对象 QDB_Adapter_Abstract
getAll() 执行一个查询并返回记录集,失败时抛出异常 QDB_Adapter_Abstract
getRow() 执行查询,返回第一条记录 QDB_Adapter_Abstract
getOne() 执行查询,返回第一条记录的第一个字段 QDB_Adapter_Abstract
getCol() 执行查询,返回结果集的指定列 QDB_Adapter_Abstract
dbTimestamp() 将 unix timestamp 转换为数据库可以接受的日期格式 QDB_Adapter_Abstract
setTransFailed() 指示在调用 completeTrans() 时回滚事务 QDB_Adapter_Abstract
hasFailedQuery() 检查事务过程中是否出现失败的查询 QDB_Adapter_Abstract
bindEnabled() 确定驱动是否支持参数绑定 QDB_Adapter_Abstract
logEnabled() 确定是否把查询语句保存到日志 QDB_Adapter_Abstract
paramStyle() 返回驱动使用的参数占位符样式 QDB_Adapter_Abstract
parseSQL() 分析 SQL 中的字段名、查询条件,返回符合规范的 SQL 语句 QDB_Adapter_Abstract
parseSQLInternal() 分析 SQL 中的字段名、查询条件,返回符合规范的 SQL 语句(内部调用版本) QDB_Adapter_Abstract

保护的方法

隐藏继承的方法

方法描述定义于
_fakebind() QDB_Adapter_Pgsql
_addslashes() 按照 PostgreSQL 的要求转义 DSN 字符串参数 QDB_Adapter_Pgsql
_parseSQLArray() 按照模式 2(数组)对查询条件进行分析 QDB_Adapter_Abstract
_parseSQLString() 按照模式 1(字符串)对查询条件进行分析 QDB_Adapter_Abstract
_clear() 关闭数据库连接后清理资源 QDB_Adapter_Abstract

属性详细说明

$_bind_enabled 属性
$_savepoint_enabled 属性
$_lastrs 属性

保存最后一次查询的资源ID

方法详细说明

__construct() 方法

public void __construct($dsn, $id)

$dsn
$id
{return}

connect() 方法

public void connect($pconnect, $force_new)

$pconnect
$force_new
{return}

pconnect() 方法

public void pconnect()


nconnect() 方法

public void nconnect()


close() 方法

public void close()


identifier() 方法

public void identifier($name)

$name
{return}

qstr() 方法

public void qstr($value)

$value
{return}

qtable() 方法

public void qtable($table_name, $schema, $alias)

$table_name
$schema
$alias
{return}

qfield() 方法

public void qfield($field_name, $table_name, $schema, $alias)

$field_name
$table_name
$schema
$alias
{return}

nextID() 方法

public void nextID($tablename, $fieldname, $schema, $start_value)

$tablename
$fieldname
$schema
$start_value
{return}

createSeq() 方法

public void createSeq($seqname, $start_value)

$seqname
$start_value
{return}

dropSeq() 方法

public void dropSeq($seqname)

$seqname
{return}

insertID() 方法

public void insertID()


affectedRows() 方法

public void affectedRows()


execute() 方法

public QDB_Result_Abstract execute($sql, $inputarr)

$sql string
$inputarr array
{return} QDB_Result_Abstract

执行一个查询,返回一个查询对象或者 boolean 值,出错时抛出异常

$sql 是要执行的 SQL 语句字符串,而 $inputarr 则是提供给 SQL 语句中参数占位符需要的值。

如果执行的查询是诸如 INSERT、DELETE、UPDATE 等不会返回结果集的操作, 则 execute() 执行成功后会返回 true,失败时将抛出异常。

如果执行的查询是 SELECT 等会返回结果集的操作, 则 execute() 执行成功后会返回一个 DBO_Result 对象,失败时将抛出异常。

QDB_Result_Abstract 对象封装了查询结果句柄,而不是结果集。


selectLimit() 方法

public void selectLimit($sql, $offset, $length, $inputarr)

$sql
$offset
$length
$inputarr
{return}

startTrans() 方法

public void startTrans()

启动事务


completeTrans() 方法

public void completeTrans($commit_on_no_errors)

$commit_on_no_errors boolean 指示在没有错误时是否提交事务
{return}

完成事务,根据查询是否出错决定是提交事务还是回滚事务

如果 $commit_on_no_errors 参数为 true,当事务中所有查询都成功完成时,则提交事务,否则回滚事务 如果 $commit_on_no_errors 参数为 false,则强制回滚事务


metaColumns() 方法

public array metaColumns($table_name, $schema)

$table_name string
$schema string
{return} array

返回指定数据表(或者视图)的元数据

返回的结果是一个二维数组,每一项为一个字段的元数据。 每个字段包含下列属性:

  • name: 字段名
  • scale: 小数位数
  • type: 字段类型
  • ptype: 简单字段类型(与数据库无关)
  • length: 最大长度
  • not_null: 是否不允许保存 NULL 值
  • pk: 是否是主键
  • auto_incr: 是否是自动增量字段
  • binary: 是否是二进制数据
  • unsigned: 是否是无符号数值
  • has_default: 是否有默认值
  • default: 默认值
  • desc: 字段描述

metaTables() 方法

public void metaTables($pattern, $schema)

$pattern
$schema
{return}

_fakebind() 方法

protected void _fakebind($sql, $inputarr)

$sql
$inputarr
{return}

_addslashes() 方法

protected string _addslashes($s)

$s string
{return} string

按照 PostgreSQL 的要求转义 DSN 字符串参数