| 包 | 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数组字符串 仅支持一维数组