Commit ae702831 authored by unknown's avatar unknown

Merge akishkin@work.mysql.com:/home/bk/mysql-4.0

into mysql.com:/home/walrus/bk/40.ibase


BitKeeper/etc/logging_ok:
  auto-union
sql-bench/server-cfg.sh:
  Auto merged
parents 89991c65 448644dc
...@@ -2985,7 +2985,7 @@ sub new ...@@ -2985,7 +2985,7 @@ sub new
bless $self; bless $self;
$self->{'cmp_name'} = "interbase"; $self->{'cmp_name'} = "interbase";
$self->{'data_source'} = "DBI:InterBase:database=$database:ib_dialect=3"; $self->{'data_source'} = "DBI:InterBase:database=$database;ib_dialect=3";
$self->{'limits'} = \%limits; $self->{'limits'} = \%limits;
$self->{'blob'} = "blob"; $self->{'blob'} = "blob";
$self->{'text'} = ""; $self->{'text'} = "";
...@@ -3000,7 +3000,7 @@ sub new ...@@ -3000,7 +3000,7 @@ sub new
$limits{'max_tables'} = 65000; # Should be big enough $limits{'max_tables'} = 65000; # Should be big enough
$limits{'max_text_size'} = 15000; # Max size with default buffers. $limits{'max_text_size'} = 15000; # Max size with default buffers.
$limits{'query_size'} = 1000000; # Max size with default buffers. $limits{'query_size'} = 1000000; # Max size with default buffers.
$limits{'max_index'} = 31; # Max number of keys $limits{'max_index'} = 65000; # Max number of keys
$limits{'max_index_parts'} = 8; # Max segments/key $limits{'max_index_parts'} = 8; # Max segments/key
$limits{'max_column_name'} = 128; # max table and column name $limits{'max_column_name'} = 128; # max table and column name
...@@ -3050,16 +3050,13 @@ sub new ...@@ -3050,16 +3050,13 @@ sub new
sub version sub version
{ {
my ($self)=@_; my ($self)=@_;
my ($dbh,$sth,$version,@row); my ($dbh,$version);
$version='Interbase ?';
$dbh=$self->connect(); $dbh=$self->connect();
# $sth = $dbh->prepare("show version"); eval { $version = $dbh->func('version','ib_database_info')->{'version'}; };
# $sth->execute;
# @row = $sth->fetchrow_array;
# $version = $row[0];
# $version =~ s/.*version \"(.*)\"$/$1/;
$dbh->disconnect; $dbh->disconnect;
$version = "6.0Beta";
$version .= "/ODBC" if ($self->{'data_source'} =~ /:ODBC:/); $version .= "/ODBC" if ($self->{'data_source'} =~ /:ODBC:/);
return $version; return $version;
} }
...@@ -3090,36 +3087,34 @@ sub connect ...@@ -3090,36 +3087,34 @@ sub connect
sub create sub create
{ {
my($self,$table_name,$fields,$index,$options) = @_; my($self,$table_name,$fields,$index,$options) = @_;
my($query,@queries); my($query,@queries,@keys,@indexes);
$query="create table $table_name ("; $query="create table $table_name (";
foreach $field (@$fields) foreach $field (@$fields)
{ {
$field =~ s/ big_decimal/ float/i; $field =~ s/ big_decimal/ decimal/i;
$field =~ s/ double/ float/i; $field =~ s/ double/ double precision/i;
$field =~ s/ tinyint/ smallint/i; $field =~ s/ tinyint/ smallint/i;
$field =~ s/ mediumint/ int/i; $field =~ s/ mediumint/ integer/i;
$field =~ s/ integer/ int/i; $field =~ s/\bint\b/integer/i;
$field =~ s/ float\(\d,\d\)/ float/i; $field =~ s/ float\(\d,\d\)/ float/i;
$field =~ s/ date/ int/i; # Because of tcp ?
$field =~ s/ smallint\(\d\)/ smallint/i; $field =~ s/ smallint\(\d\)/ smallint/i;
$field =~ s/ int\(\d\)/ int/i; $field =~ s/ integer\(\d\)/ integer/i;
$query.= $field . ','; $query.= $field . ',';
} }
foreach $ind (@$index) foreach $ind (@$index)
{ {
my @index; if ( $ind =~ /(\bKEY\b)|(\bUNIQUE\b)/i ){
if ( $ind =~ /\bKEY\b/i ){
push(@keys,"ALTER TABLE $table_name ADD $ind"); push(@keys,"ALTER TABLE $table_name ADD $ind");
}else{ }else{
my @fields = split(' ',$index); my @fields = split(' ',$ind);
my $query="CREATE INDEX $fields[1] ON $table_name $fields[2]"; my $query="CREATE INDEX $fields[1] ON $table_name $fields[2]";
push(@index,$query); push(@indexes,$query);
} }
} }
substr($query,-1)=")"; # Remove last ','; substr($query,-1)=")"; # Remove last ',';
$query.=" $options" if (defined($options)); $query.=" $options" if (defined($options));
push(@queries,$query); push(@queries,$query,@keys,@indexes);
return @queries; return @queries;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment