diff options
| author | Mark Newnham <mark@newnhams.com> | 2016-01-30 12:37:37 -0700 |
|---|---|---|
| committer | Damien Regad <dregad@mantisbt.org> | 2016-01-31 11:23:51 +0100 |
| commit | 6005cb728243288093ea4c32112d350c138adf30 (patch) | |
| tree | fa08091b52df6195a0d842bdeb1a1e57b93b9f3e /datadict | |
| parent | bcfce82f1de8ec85e84023399b279838bf161e6b (diff) | |
| download | adodb-6005cb728243288093ea4c32112d350c138adf30.tar.gz adodb-6005cb728243288093ea4c32112d350c138adf30.tar.bz2 adodb-6005cb728243288093ea4c32112d350c138adf30.zip | |
A user-defined default Metatype is now available
The user can now define a constant ADODB_DEFAULT_METATYPE. This
overrides the original default value of 'N' and allows the user to
control how a field of unknown metaType is presented. The constant
controls the behavior of the returned value from the method MetaType().
Fixes #165
Diffstat (limited to 'datadict')
| -rw-r--r-- | datadict/datadict-mssqlnative.inc.php | 6 | ||||
| -rw-r--r-- | datadict/datadict-mysql.inc.php | 3 | ||||
| -rw-r--r-- | datadict/datadict-oci8.inc.php | 2 | ||||
| -rw-r--r-- | datadict/datadict-postgres.inc.php | 2 | ||||
| -rw-r--r-- | datadict/datadict-sapdb.inc.php | 2 |
5 files changed, 9 insertions, 6 deletions
diff --git a/datadict/datadict-mssqlnative.inc.php b/datadict/datadict-mssqlnative.inc.php index 1edb85f5..15f69029 100644 --- a/datadict/datadict-mssqlnative.inc.php +++ b/datadict/datadict-mssqlnative.inc.php @@ -94,7 +94,10 @@ class ADODB2_mssqlnative extends ADODB_DataDict { -3 => 'X' ); - return $_typeConversion($t); + if (isset($_typeConversion[$t])) + return $_typeConversion[$t]; + + return ADODB_DEFAULT_METATYPE; } @@ -126,7 +129,6 @@ class ADODB2_mssqlnative extends ADODB_DataDict { case 'F': return 'REAL'; case 'N': return 'NUMERIC'; default: - print "RETURN $meta"; return $meta; } } diff --git a/datadict/datadict-mysql.inc.php b/datadict/datadict-mysql.inc.php index def13030..640fb87a 100644 --- a/datadict/datadict-mysql.inc.php +++ b/datadict/datadict-mysql.inc.php @@ -26,6 +26,7 @@ class ADODB2_mysql extends ADODB_DataDict { function MetaType($t,$len=-1,$fieldobj=false) { + if (is_object($t)) { $fieldobj = $t; $t = $fieldobj->type; @@ -74,7 +75,7 @@ class ADODB2_mysql extends ADODB_DataDict { case 'SMALLINT': return $is_serial ? 'R' : 'I2'; case 'MEDIUMINT': return $is_serial ? 'R' : 'I4'; case 'BIGINT': return $is_serial ? 'R' : 'I8'; - default: return 'N'; + default: return ADODB_DEFAULT_METATYPE; } } diff --git a/datadict/datadict-oci8.inc.php b/datadict/datadict-oci8.inc.php index 6a32fc66..53548d34 100644 --- a/datadict/datadict-oci8.inc.php +++ b/datadict/datadict-oci8.inc.php @@ -69,7 +69,7 @@ class ADODB2_oci8 extends ADODB_DataDict { return 'I'; default: - return 'N'; + return ADODB_DEFAULT_METATYPE; } } diff --git a/datadict/datadict-postgres.inc.php b/datadict/datadict-postgres.inc.php index e24af0d2..d2d3d6da 100644 --- a/datadict/datadict-postgres.inc.php +++ b/datadict/datadict-postgres.inc.php @@ -85,7 +85,7 @@ class ADODB2_postgres extends ADODB_DataDict { return 'F'; default: - return 'N'; + return ADODB_DEFAULT_METATYPE; } } diff --git a/datadict/datadict-sapdb.inc.php b/datadict/datadict-sapdb.inc.php index 687f9a52..b169e924 100644 --- a/datadict/datadict-sapdb.inc.php +++ b/datadict/datadict-sapdb.inc.php @@ -71,7 +71,7 @@ class ADODB2_sapdb extends ADODB_DataDict { 'FLOAT' => 'F', 'FIXED' => 'N', ); - $type = isset($maxdb_type2adodb[$t]) ? $maxdb_type2adodb[$t] : 'C'; + $type = isset($maxdb_type2adodb[$t]) ? $maxdb_type2adodb[$t] : ADODB_DEFAULT_METATYPE; // convert integer-types simulated with fixed back to integer if ($t == 'FIXED' && !$fieldobj->scale && ($len == 20 || $len == 3)) { |
