包 core

包 mvc

包 orm

包 form

包 database

包 helper

包 cache

包 webcontrols

包 behavior

包 exception

包 debug

类 - QDB_Adapter_Pdo_Pgsql

database
类层次 QDB_Adapter_Pdo_Pgsql » QDB_Adapter_Pdo_Abstract » QDB_Adapter_Abstract
版本 $Id: pgsql.php 2175 2009-02-02 06:24:38Z yangyi $

QDB_Adapter_Pdo_Pgsql 类提供对 PostgreSQL 的支持

保护的属性

隐藏继承的属性

属性类型描述定义于
$_pdo_type QDB_Adapter_Pdo_Pgsql
$_bind_enabled QDB_Adapter_Pdo_Abstract
$_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
$_savepoint_enabled boolean 指示数据库是否支持事务中的 SAVEPOINT 功能 QDB_Adapter_Abstract
$_result_field_name_lower boolean 指示是否将查询结果中的字段名转换为全小写 QDB_Adapter_Abstract

公共方法

隐藏继承的方法

方法描述定义于
nextID() QDB_Adapter_Pdo_Pgsql
createSeq() QDB_Adapter_Pdo_Pgsql
dropSeq() QDB_Adapter_Pdo_Pgsql
insertID() QDB_Adapter_Pdo_Pgsql
identifier() QDB_Adapter_Pdo_Pgsql
selectLimit() QDB_Adapter_Pdo_Pgsql
qtable() QDB_Adapter_Pdo_Pgsql
startTrans() 启动事务 QDB_Adapter_Pdo_Pgsql
completeTrans() 完成事务,根据查询是否出错决定是提交事务还是回滚事务 QDB_Adapter_Pdo_Pgsql
metaColumns() 返回指定数据表(或者视图)的元数据 QDB_Adapter_Pdo_Pgsql
metaTables() 获得数据库中所有的表,不包括视图 QDB_Adapter_Pdo_Pgsql
metaViews() 获得数据库中所有的视图名称 QDB_Adapter_Pdo_Pgsql
metaConstraints() 获得表的约束关系 QDB_Adapter_Pdo_Pgsql
metaIndexes() 获得表的索引信息 QDB_Adapter_Pdo_Pgsql
pgArrayToPhp() 把postgresql数组转换为php数组 QDB_Adapter_Pdo_Pgsql
phpArrayToPg() 把php数组转换为postgresql数组字符串 QDB_Adapter_Pdo_Pgsql
__construct() QDB_Adapter_Pdo_Abstract
connect() QDB_Adapter_Pdo_Abstract
close() QDB_Adapter_Pdo_Abstract
pconnect() QDB_Adapter_Pdo_Abstract
nconnect() QDB_Adapter_Pdo_Abstract
isConnected() QDB_Adapter_Pdo_Abstract
qstr() QDB_Adapter_Pdo_Abstract
affectedRows() QDB_Adapter_Pdo_Abstract
execute() QDB_Adapter_Pdo_Abstract
getDSN() 返回数据库访问对象使用的 DSN QDB_Adapter_Abstract
getID() 返回数据库访问对象的 ID QDB_Adapter_Abstract
getSchema() 返回数据库对象对应的 schema QDB_Adapter_Abstract
getTablePrefix() 返回数据库对象对应的表前缀 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

保护的方法

隐藏继承的方法

方法描述定义于
_schemaOid() 从系统表中查询schema的oid QDB_Adapter_Pdo_Pgsql
_tableOid() 从系统表中查询表的oid QDB_Adapter_Pdo_Pgsql
_tableAttribute() 从系统表中查询指定表的字段信息 QDB_Adapter_Pdo_Pgsql
_tableRelname() 从表的oid获得表名和schema名 QDB_Adapter_Pdo_Pgsql
_schemaNspname() 从schema oid获得schema名字 QDB_Adapter_Pdo_Pgsql
_parseTableName() 把表名称的数据库名称、schame名称和表名称解析为数组返回 QDB_Adapter_Pdo_Pgsql
_parseSQLArray() 按照模式 2(数组)对查询条件进行分析 QDB_Adapter_Abstract
_parseSQLString() 按照模式 1(字符串)对查询条件进行分析 QDB_Adapter_Abstract
_clear() 关闭数据库连接后清理资源 QDB_Adapter_Abstract

属性详细说明

$_pdo_type 属性

方法详细说明

nextID() 方法

public void nextID($table_name, $field_name, $start_value)

$table_name
$field_name
$start_value
{return}

createSeq() 方法

public void createSeq($seq_name, $start_value)

$seq_name
$start_value
{return}

dropSeq() 方法

public void dropSeq($seq_name)

$seq_name
{return}

insertID() 方法

public void insertID()


identifier() 方法

public void identifier($name)

$name
{return}

selectLimit() 方法

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

$sql
$offset
$length
$inputarr
{return}

qtable() 方法

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

$table_name
$schema
$alias
{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: 字段描述

ptype 是下列值之一:

  • c char/varchar 等类型
  • x text 等类型
  • b 二进制数据
  • n 数值或者浮点数
  • d 日期
  • t TimeStamp
  • l 逻辑布尔值
  • i 整数
  • r 自动增量
  • p 非自增的主键字段

metaTables() 方法

public array metaTables($pattern, $schema)

$pattern string
$schema string
{return} array

获得数据库中所有的表,不包括视图


metaViews() 方法

public array metaViews($pattern, $schema)

$pattern string
$schema string
{return} array

获得数据库中所有的视图名称


metaConstraints() 方法

public array metaConstraints($table_name, $schema_name, $contype)

$table_name string
$schema_name string
$contype array
{return} array

获得表的约束关系 contype指定只查询哪些类型的约束 p: 主键约束 f: 外键约束 u: 唯一约束


metaIndexes() 方法

public array metaIndexes($table_name, $schema_name)

$table_name string
$schema_name string
{return} array

获得表的索引信息


_schemaOid() 方法

protected integer _schemaOid($schema_name)

$schema_name string
{return} integer

从系统表中查询schema的oid


_tableOid() 方法

protected integer _tableOid($table_name, $schema_name)

$table_name string
$schema_name string
{return} integer

从系统表中查询表的oid


_tableAttribute() 方法

protected array _tableAttribute($table_oid, $result_key)

$table_oid integer
$result_key string
{return} array

从系统表中查询指定表的字段信息


_tableRelname() 方法

protected array _tableRelname($table_oid)

$table_oid integer
{return} array

从表的oid获得表名和schema名


_schemaNspname() 方法

protected string _schemaNspname($schema_oid)

$schema_oid integer
{return} string

从schema oid获得schema名字


_parseTableName() 方法

protected array _parseTableName($table_name, $schema)

$table_name string
$schema
{return} array

把表名称的数据库名称、schame名称和表名称解析为数组返回 解析出来的名称都已经用trim()处理过

schema参数是为了配合以前写的nextId()、qtable()、metaColumns()函数 这几个函数允许指定schema参数 如果在$table_name中没有解析出schema名称,则使用schema参数的值 否则使用解析出的schema名称 简单来说就是$table_name的信息优先


pgArrayToPhp() 方法

public static array pgArrayToPhp($pgArray)

$pgArray string
{return} array

把postgresql数组转换为php数组 仅支持一维数组


phpArrayToPg() 方法

public static string phpArrayToPg($phpArray)

$phpArray array
{return} string

把php数组转换为postgresql数组字符串 仅支持一维数组