| 包 | 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 |
| 方法 | 描述 | 定义于 |
|---|---|---|
| _fakebind() | QDB_Adapter_Pgsql | |
| _addslashes() | 按照 PostgreSQL 的要求转义 DSN 字符串参数 | QDB_Adapter_Pgsql |
| _parseSQLArray() | 按照模式 2(数组)对查询条件进行分析 | QDB_Adapter_Abstract |
| _parseSQLString() | 按照模式 1(字符串)对查询条件进行分析 | QDB_Adapter_Abstract |
| _clear() | 关闭数据库连接后清理资源 | QDB_Adapter_Abstract |
public void __construct($dsn, $id)
| $dsn | ||
| $id | ||
| {return} |
public void connect($pconnect, $force_new)
| $pconnect | ||
| $force_new | ||
| {return} |
public void pconnect()
public void nconnect()
public void close()
public void identifier($name)
| $name | ||
| {return} |
public void qstr($value)
| $value | ||
| {return} |
public void qtable($table_name, $schema, $alias)
| $table_name | ||
| $schema | ||
| $alias | ||
| {return} |
public void qfield($field_name, $table_name, $schema, $alias)
| $field_name | ||
| $table_name | ||
| $schema | ||
| $alias | ||
| {return} |
public void nextID($tablename, $fieldname, $schema, $start_value)
| $tablename | ||
| $fieldname | ||
| $schema | ||
| $start_value | ||
| {return} |
public void createSeq($seqname, $start_value)
| $seqname | ||
| $start_value | ||
| {return} |
public void dropSeq($seqname)
| $seqname | ||
| {return} |
public void insertID()
public void affectedRows()
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 对象封装了查询结果句柄,而不是结果集。
public void selectLimit($sql, $offset, $length, $inputarr)
| $sql | ||
| $offset | ||
| $length | ||
| $inputarr | ||
| {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 |
返回指定数据表(或者视图)的元数据
返回的结果是一个二维数组,每一项为一个字段的元数据。 每个字段包含下列属性:
public void metaTables($pattern, $schema)
| $pattern | ||
| $schema | ||
| {return} |
protected void _fakebind($sql, $inputarr)
| $sql | ||
| $inputarr | ||
| {return} |
protected string _addslashes($s)
| $s | string | |
| {return} | string |
按照 PostgreSQL 的要求转义 DSN 字符串参数