summaryrefslogtreecommitdiff
path: root/datadict/datadict-mssql.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'datadict/datadict-mssql.inc.php')
-rw-r--r--datadict/datadict-mssql.inc.php17
1 files changed, 16 insertions, 1 deletions
diff --git a/datadict/datadict-mssql.inc.php b/datadict/datadict-mssql.inc.php
index 1bcb27da..17df9e39 100644
--- a/datadict/datadict-mssql.inc.php
+++ b/datadict/datadict-mssql.inc.php
@@ -68,9 +68,14 @@ class ADODB2_mssql extends ADODB_DataDict {
$t = $fieldobj->type;
$len = $fieldobj->max_length;
}
+
+ $t = strtoupper($t);
+
+ if (array_key_exists($t,$this->connection->customActualTypes))
+ return $this->connection->customActualTypes[$t];
$len = -1; // mysql max_length is not accurate
- switch (strtoupper($t)) {
+ switch ($t) {
case 'R':
case 'INT':
case 'INTEGER': return 'I';
@@ -87,6 +92,16 @@ class ADODB2_mssql extends ADODB_DataDict {
function ActualType($meta)
{
+
+ $meta = strtoupper($meta);
+
+ /*
+ * Add support for custom meta types. We do this
+ * first, that allows us to override existing types
+ */
+ if (isset($this->connection->customMetaTypes[$meta]))
+ return $this->connection->customMetaTypes[$meta]['actual'];
+
switch(strtoupper($meta)) {
case 'C': return 'VARCHAR';