# Numeric Types
#
- # everything is alised to NUMBER
+ # integer/decimal/numeric is alised to NUMBER
#
- 'decimal' => { data_type => 'integer' },
- 'dec' => { data_type => 'integer' },
- 'numeric' => { data_type => 'integer' },
+ 'integer' => { data_type => 'integer', original => { data_type => 'number', size => [38,0] } },
+ 'int' => { data_type => 'integer', original => { data_type => 'number', size => [38,0] } },
+ 'smallint' => { data_type => 'integer', original => { data_type => 'number', size => [38,0] } },
- 'decimal(3)' => { data_type => 'numeric', size => [3,0] },
- 'dec(3)' => { data_type => 'numeric', size => [3,0] },
- 'numeric(3)' => { data_type => 'numeric', size => [3,0] },
+ 'decimal' => { data_type => 'integer', original => { data_type => 'number', size => [38,0] } },
+ 'dec' => { data_type => 'integer', original => { data_type => 'number', size => [38,0] } },
+ 'numeric' => { data_type => 'integer', original => { data_type => 'number', size => [38,0] } },
- 'decimal(3,3)' => { data_type => 'numeric', size => [3,3] },
- 'dec(3,3)' => { data_type => 'numeric', size => [3,3] },
- 'numeric(3,3)' => { data_type => 'numeric', size => [3,3] },
+ 'decimal(3)' => { data_type => 'numeric', size => [3,0], original => { data_type => 'number' } },
+ 'dec(3)' => { data_type => 'numeric', size => [3,0], original => { data_type => 'number' } },
+ 'numeric(3)' => { data_type => 'numeric', size => [3,0], original => { data_type => 'number' } },
- 'integer' => { data_type => 'integer' },
- 'int' => { data_type => 'integer' },
- 'smallint' => { data_type => 'integer' },
+ 'decimal(3,3)' => { data_type => 'numeric', size => [3,3], original => { data_type => 'number' } },
+ 'dec(3,3)' => { data_type => 'numeric', size => [3,3], original => { data_type => 'number' } },
+ 'numeric(3,3)' => { data_type => 'numeric', size => [3,3], original => { data_type => 'number' } },
- 'binary_float' => { data_type => 'binary_float' },
- 'binary_double' => { data_type => 'binary_double' },
+ 'binary_float' => { data_type => 'real', original => { data_type => 'binary_float' } },
+ 'binary_double' => { data_type => 'double precision', original => { data_type => 'binary_double' } },
+
+ # these are not mentioned in the summary chart, must be aliased
+ real => { data_type => 'real', original => { data_type => 'float', size => 63 } },
+ 'float(63)' => { data_type => 'real', original => { data_type => 'float', size => 63 } },
+ 'float(64)' => { data_type => 'double precision', original => { data_type => 'float', size => 64 } },
+ 'float(126)' => { data_type => 'double precision', original => { data_type => 'float', size => 126 } },
+ float => { data_type => 'double precision', original => { data_type => 'float', size => 126 } },
# Blob Types
'raw(50)' => { data_type => 'raw', size => 50 },
'nclob' => { data_type => 'nclob' },
'blob' => { data_type => 'blob' },
'bfile' => { data_type => 'bfile' },
- # these must be tested one at a time, can't have 2 longs in one table
- # XXX add overrides to type tester to handle this
-# 'long' => { data_type => 'long' },
+ 'long' => { data_type => 'long' },
'long raw' => { data_type => 'long raw' },
# Datetime Types
- 'date' => { data_type => 'date' },
+ 'date' => { data_type => 'datetime', original => { data_type => 'date' } },
'date default sysdate'
- => { data_type => 'date', default_value => \'current_timestamp' },
+ => { data_type => 'datetime', default_value => \'current_timestamp',
+ original => { data_type => 'date', default_value => \'sysdate' } },
'timestamp' => { data_type => 'timestamp' },
'timestamp default current_timestamp'
=> { data_type => 'timestamp', default_value => \'current_timestamp' },