包 | 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 |
方法 | 描述 | 定义于 |
---|---|---|
_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 |
public void nextID($table_name, $field_name, $start_value)
$table_name | ||
$field_name | ||
$start_value | ||
{return} |
public void createSeq($seq_name, $start_value)
$seq_name | ||
$start_value | ||
{return} |
public void dropSeq($seq_name)
$seq_name | ||
{return} |
public void insertID()
public void identifier($name)
$name | ||
{return} |
public void selectLimit($sql, $offset, $length, $inputarr)
$sql | ||
$offset | ||
$length | ||
$inputarr | ||
{return} |
public void qtable($table_name, $schema, $alias)
$table_name | ||
$schema | ||
$alias | ||
{return} |
public void startTrans()
启动事务
public void completeTrans($commit_on_no_errors)
$commit_on_no_errors | boolean | 指示在没有错误时是否提交事务 |
{return} |
完成事务,根据查询是否出错决定是提交事务还是回滚事务
如果 $commit_on_no_errors 参数为 true,当事务中所有查询都成功完成时,则提交事务,否则回滚事务 如果 $commit_on_no_errors 参数为 false,则强制回滚事务
public array metaColumns($table_name, $schema)
$table_name | string | |
$schema | string | |
{return} | array |
返回指定数据表(或者视图)的元数据
返回的结果是一个二维数组,每一项为一个字段的元数据。 每个字段包含下列属性:
ptype 是下列值之一:
public array metaTables($pattern, $schema)
$pattern | string | |
$schema | string | |
{return} | array |
获得数据库中所有的表,不包括视图
public array metaViews($pattern, $schema)
$pattern | string | |
$schema | string | |
{return} | array |
获得数据库中所有的视图名称
public array metaConstraints($table_name, $schema_name, $contype)
$table_name | string | |
$schema_name | string | |
$contype | array | |
{return} | array |
获得表的约束关系 contype指定只查询哪些类型的约束 p: 主键约束 f: 外键约束 u: 唯一约束
public array metaIndexes($table_name, $schema_name)
$table_name | string | |
$schema_name | string | |
{return} | array |
获得表的索引信息
protected integer _schemaOid($schema_name)
$schema_name | string | |
{return} | integer |
从系统表中查询schema的oid
protected integer _tableOid($table_name, $schema_name)
$table_name | string | |
$schema_name | string | |
{return} | integer |
从系统表中查询表的oid
protected array _tableAttribute($table_oid, $result_key)
$table_oid | integer | |
$result_key | string | |
{return} | array |
从系统表中查询指定表的字段信息
protected array _tableRelname($table_oid)
$table_oid | integer | |
{return} | array |
从表的oid获得表名和schema名
protected string _schemaNspname($schema_oid)
$schema_oid | integer | |
{return} | string |
从schema oid获得schema名字
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的信息优先
public static array pgArrayToPhp($pgArray)
$pgArray | string | |
{return} | array |
把postgresql数组转换为php数组 仅支持一维数组
public static string phpArrayToPg($phpArray)
$phpArray | array | |
{return} | string |
把php数组转换为postgresql数组字符串 仅支持一维数组