password => $password,
data_types => {
# http://ispirer.com/wiki/sqlways/sybase/data-types
- # XXX organize by category
+ #
+ # Numeric Types
'integer identity' => { data_type => 'integer', is_auto_increment => 1 },
- 'AS getdate()' => { data_type => undef, inflate_datetime => 1, default_value => \'getdate()' },
- text => { data_type => 'text' },
- unitext => { data_type => 'unitext' },
- image => { data_type => 'image' },
- bigint => { data_type => 'bigint' },
int => { data_type => 'integer' },
integer => { data_type => 'integer' },
+ bigint => { data_type => 'bigint' },
smallint => { data_type => 'smallint' },
tinyint => { data_type => 'tinyint' },
+ 'double precision' => { data_type => 'double precision' },
+ real => { data_type => 'real' },
+ float => { data_type => 'double precision' },
+ 'float(14)' => { data_type => 'real' },
+ 'float(15)' => { data_type => 'real' },
+ 'float(16)' => { data_type => 'double precision' },
+ 'float(48)' => { data_type => 'double precision' },
+ 'numeric(6,3)' => { data_type => 'numeric', size => [6,3] },
+ 'decimal(6,3)' => { data_type => 'numeric', size => [6,3] },
+ numeric => { data_type => 'numeric' },
+ decimal => { data_type => 'numeric' },
+ bit => { data_type => 'bit' },
+
+ # Money Types
+ money => { data_type => 'money' },
+ smallmoney => { data_type => 'smallmoney' },
+
+ # Computed Column
+ 'AS getdate()' => { data_type => undef, inflate_datetime => 1, default_value => \'getdate()' },
+
+ # Blob Types
+ text => { data_type => 'text' },
+ unitext => { data_type => 'unitext' },
+ image => { data_type => 'image' },
+
+ # DateTime Types
date => { data_type => 'date' },
time => { data_type => 'time' },
datetime => { data_type => 'datetime' },
smalldatetime => { data_type => 'smalldatetime' },
- money => { data_type => 'money' },
- smallmoney => { data_type => 'smallmoney' },
+
+ # Timestamp column
timestamp => { data_type => 'timestamp', inflate_datetime => 0 },
- bit => { data_type => 'bit' },
+
+ # String Types
+ 'char' => { data_type => 'char', size => 1 },
'char(2)' => { data_type => 'char', size => 2 },
+ 'nchar' => { data_type => 'nchar', size => 1 },
'nchar(2)' => { data_type => 'nchar', size => 2 },
'unichar(2)' => { data_type => 'unichar', size => 2 },
'varchar(2)' => { data_type => 'varchar', size => 2 },
'nvarchar(2)' => { data_type => 'nvarchar', size => 2 },
'univarchar(2)' => { data_type => 'univarchar', size => 2 },
+
+ # Binary Types
+ 'binary' => { data_type => 'binary', size => 1 },
'binary(2)' => { data_type => 'binary', size => 2 },
'varbinary(2)' => { data_type => 'varbinary', size => 2 },
- 'double precision' => { data_type => 'double precision' },
- real => { data_type => 'real' },
- float => { data_type => 'double precision' },
- 'float(14)' => { data_type => 'real' },
- 'float(15)' => { data_type => 'real' },
- 'float(16)' => { data_type => 'double precision' },
- 'float(48)' => { data_type => 'double precision' },
- 'numeric(6,3)' => { data_type => 'numeric', size => [6,3] },
- 'decimal(6,3)' => { data_type => 'numeric', size => [6,3] },
- numeric => { data_type => 'numeric' },
- decimal => { data_type => 'numeric' },
},
);