explicitly enable casts between text and bytea for transparent use by schema_proc

This commit is contained in:
Carsten Wolff 2007-09-27 22:06:58 +00:00
parent b43a9982e3
commit 645750297f

View File

@ -218,7 +218,13 @@ class ADODB2_postgres extends ADODB_DataDict {
$copyflds[] = "to_number($fld->name,'S9999999999999D99')"; $copyflds[] = "to_number($fld->name,'S9999999999999D99')";
} elseif (preg_match('/'.$fld->name.' ([\w]+)/i',$tableflds,$matches) && } elseif (preg_match('/'.$fld->name.' ([\w]+)/i',$tableflds,$matches) &&
strtoupper($fld->type) != ($type = $this->ActualType($matches[1]))) { strtoupper($fld->type) != ($type = $this->ActualType($matches[1]))) {
$copyflds[] = "CAST($fld->name AS $type)"; if ($type == 'BYTEA' && $fld->type == 'text') {
$copyflds[] = "DECODE($fld->name, 'escape')";
} elseif ($fld->type == 'bytea' && $type == 'TEXT') {
$copyflds[] = "ENCODE($fld->name, 'escape')";
} else {
$copyflds[] = "CAST($fld->name AS $type)";
}
} else { } else {
$copyflds[] = $fld->name; $copyflds[] = $fld->name;
} }