Lines 129-152
sub store {
Link Here
|
129 |
# Integers |
129 |
# Integers |
130 |
if ( _numeric_column_type( $columns_info->{$col}->{data_type} ) ) { |
130 |
if ( _numeric_column_type( $columns_info->{$col}->{data_type} ) ) { |
131 |
# Has been passed but not a number, usually an empty string |
131 |
# Has been passed but not a number, usually an empty string |
132 |
if ( defined $self->$col and not looks_like_number( $self->$col ) ) { |
132 |
my $value = $self->_result()->get_column($col); |
|
|
133 |
if ( defined $value and not looks_like_number( $value ) ) { |
133 |
if ( $columns_info->{$col}->{is_nullable} ) { |
134 |
if ( $columns_info->{$col}->{is_nullable} ) { |
134 |
# If nullable, default to null |
135 |
# If nullable, default to null |
135 |
$self->$col(undef); |
136 |
$self->_result()->set_column($col => undef); |
136 |
} else { |
137 |
} else { |
137 |
# If cannot be null, get the default value |
138 |
# If cannot be null, get the default value |
138 |
# What if cannot be null and does not have a default value? Possible? |
139 |
# What if cannot be null and does not have a default value? Possible? |
139 |
$self->$col($columns_info->{$col}->{default_value}); |
140 |
$self->_result()->set_column($col => $columns_info->{$col}->{default_value}); |
140 |
} |
141 |
} |
141 |
} |
142 |
} |
142 |
} |
143 |
} |
143 |
elsif ( _date_or_datetime_column_type( $columns_info->{$col}->{data_type} ) ) { |
144 |
elsif ( _date_or_datetime_column_type( $columns_info->{$col}->{data_type} ) ) { |
144 |
# Set to null if an empty string (or == 0 but should not happen) |
145 |
# Set to null if an empty string (or == 0 but should not happen) |
145 |
if ( defined $self->$col and not $self->$col ) { |
146 |
my $value = $self->_result()->get_column($col); |
|
|
147 |
if ( defined $value and not $value ) { |
146 |
if ( $columns_info->{$col}->{is_nullable} ) { |
148 |
if ( $columns_info->{$col}->{is_nullable} ) { |
147 |
$self->$col(undef); |
149 |
$self->_result()->set_column($col => undef); |
148 |
} else { |
150 |
} else { |
149 |
$self->$col($columns_info->{$col}->{default_value}); |
151 |
$self->_result()->set_column($col => $columns_info->{$col}->{default_value}); |
150 |
} |
152 |
} |
151 |
} |
153 |
} |
152 |
} |
154 |
} |
153 |
- |
|
|