}
- function get($tbl)
+ function get($tbl, $opts = array())
{
// colname_{remotename}_{col}
$kv = explode(':', $links[$c]);
//$ar = $this->createRet($dos[$c], $c . '_' . $kv[1] . '_');
- $ar = $this->createRet($dos[$c], $c . '_' );
+ $ar = $this->createRet($dos[$c], $c . '_' , $kv[1]);
$desc[$c]['maps_to'] = $kv[1];
$desc[$c]['deps'] = array_values($ar);
}
- function createRet($do, $pref='')
+ function createRet($do, $pref='', $skip = '')
{
- static $cache = array();
+ static $desc = array();
static $types= array();
$tn = $do->tableName();
+
+
+
+
// get a description if available..
if (!isset($desc[$tn])) {
+
+
+
+
+
+
$desc[$tn] = array();
$dd = clone($do);
c.table_schema = 'public' and c.table_name = '{$tn}'
");
while($dd->fetch()) {
- $cache[$tn][$dd->name] = $dd->desc;
+ $desc[$tn][$dd->name] = $dd->desc;
}
$defs = $dd->getDatabaseConnection()->tableInfo($tn);
$ret = array();
foreach($do->table() as $k=>$ty) {
+ if ($k == $skip) {
+ continue;
+ }
$ret[$k] = array(
'table' => $tn,
'column' => $pref . $k,