summaryrefslogtreecommitdiffstats
path: root/system/database/drivers/interbase
diff options
context:
space:
mode:
authorTimothy Warren <tim@timshomepage.net>2012-02-15 22:48:51 +0100
committerTimothy Warren <tim@timshomepage.net>2012-02-15 22:48:51 +0100
commiteb6dcf058bd0cc6e5f3b6a793491d4a1c144155b (patch)
tree4f197065b2a6d43b3937c89b511aba2751de3c32 /system/database/drivers/interbase
parent8be31a92758959d7fd7b035e36b9799da13426ae (diff)
Implemented _list_columns() method
Diffstat (limited to 'system/database/drivers/interbase')
-rw-r--r--system/database/drivers/interbase/interbase_driver.php13
1 files changed, 11 insertions, 2 deletions
diff --git a/system/database/drivers/interbase/interbase_driver.php b/system/database/drivers/interbase/interbase_driver.php
index 197c01401..8a156af53 100644
--- a/system/database/drivers/interbase/interbase_driver.php
+++ b/system/database/drivers/interbase/interbase_driver.php
@@ -419,8 +419,17 @@ SQL;
*/
public function _list_columns($table = '')
{
- // Not supported
- return FALSE;
+ $sql = <<<SQL
+ SELECT "RDB\$FIELD_NAME" FROM "RDB\$RELATION_FIELDS"
+ WHERE "RDB\$RELATION_NAME" NOT LIKE 'RDB$%'
+ AND "RDB\$RELATION_NAME" NOT LIKE 'MON$%'
+SQL;
+ if($table !== '')
+ {
+ $sql .= ' AND "RDB$RELATION_NAME"='.$table;
+ }
+
+ return $sql;
}
// --------------------------------------------------------------------