sub _is_case_sensitive { 1 }
+sub _setup {
+ my $self = shift;
+
+ $self->schema->storage->sql_maker->quote_char('"');
+ $self->schema->storage->sql_maker->name_sep('.');
+}
+
sub _table_pk_info {
my ($self, $table) = @_;
SELECT t.rdb$trigger_source
FROM rdb$triggers t
WHERE t.rdb$relation_name = ?
+AND t.rdb$system_flag = 0 -- user defined
+AND t.rdb$trigger_type = 1 -- BEFORE INSERT
EOF
$sth->execute($table);
my ($quoted, $generator) = $trigger =~
/(?:gen_id\s* \( \s* |next \s* value \s* for \s*)(")?(\w+)/ix;
- $generator = uc $generator unless $quoted;
+ if ($generator) {
+ $generator = uc $generator unless $quoted;
- if ((first { $_ eq $column } @trig_cols) && $generator) {
- $extra_info{is_auto_increment} = 1;
- $extra_info{sequence} = $generator;
+ if (first { $_ eq $column } @trig_cols) {
+ $extra_info{is_auto_increment} = 1;
+ $extra_info{sequence} = $generator;
+ last;
+ }
}
}