|
|
@@ -159,6 +159,7 @@ sub new
|
|
|
|
$limits{'max_index'} = 16; # Max number of keys
|
|
|
|
$limits{'max_index'} = 16; # Max number of keys
|
|
|
|
$limits{'max_index_parts'} = 16; # Max segments/key
|
|
|
|
$limits{'max_index_parts'} = 16; # Max segments/key
|
|
|
|
$limits{'max_tables'} = (($machine || '') =~ "^win") ? 5000 : 65000;
|
|
|
|
$limits{'max_tables'} = (($machine || '') =~ "^win") ? 5000 : 65000;
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= 400;
|
|
|
|
$limits{'max_text_size'} = 1000000; # Good enough for tests
|
|
|
|
$limits{'max_text_size'} = 1000000; # Good enough for tests
|
|
|
|
$limits{'multi_drop'} = 1; # Drop table can take many tables
|
|
|
|
$limits{'multi_drop'} = 1; # Drop table can take many tables
|
|
|
|
$limits{'order_by_position'} = 1; # Can use 'ORDER BY 1'
|
|
|
|
$limits{'order_by_position'} = 1; # Can use 'ORDER BY 1'
|
|
|
@@ -189,6 +190,7 @@ sub new
|
|
|
|
$self->{'transactions'} = 1; # Transactions enabled
|
|
|
|
$self->{'transactions'} = 1; # Transactions enabled
|
|
|
|
$limits{'max_columns'} = 90; # Max number of columns in table
|
|
|
|
$limits{'max_columns'} = 90; # Max number of columns in table
|
|
|
|
$limits{'max_tables'} = 32; # No comments
|
|
|
|
$limits{'max_tables'} = 32; # No comments
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (defined($main::opt_create_options) &&
|
|
|
|
if (defined($main::opt_create_options) &&
|
|
|
|
$main::opt_create_options =~ /engine=bdb/i)
|
|
|
|
$main::opt_create_options =~ /engine=bdb/i)
|
|
|
@@ -200,6 +202,7 @@ sub new
|
|
|
|
{
|
|
|
|
{
|
|
|
|
$limits{'working_blobs'} = 0; # Blobs not implemented yet
|
|
|
|
$limits{'working_blobs'} = 0; # Blobs not implemented yet
|
|
|
|
$limits{'max_tables'} = 500;
|
|
|
|
$limits{'max_tables'} = 500;
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
$self->{'transactions'} = 1; # Transactions enabled
|
|
|
|
$self->{'transactions'} = 1; # Transactions enabled
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@@ -270,7 +273,14 @@ sub create
|
|
|
|
my($self,$table_name,$fields,$index,$options) = @_;
|
|
|
|
my($self,$table_name,$fields,$index,$options) = @_;
|
|
|
|
my($query,@queries);
|
|
|
|
my($query,@queries);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($main::opt_temporary_tables)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
$query="create temporary table $table_name (";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
$query="create table $table_name (";
|
|
|
|
$query="create table $table_name (";
|
|
|
|
|
|
|
|
}
|
|
|
|
foreach $field (@$fields)
|
|
|
|
foreach $field (@$fields)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
# $field =~ s/ decimal/ double(10,2)/i;
|
|
|
|
# $field =~ s/ decimal/ double(10,2)/i;
|
|
|
@@ -393,6 +403,7 @@ sub new
|
|
|
|
$limits{'max_conditions'} = 74;
|
|
|
|
$limits{'max_conditions'} = 74;
|
|
|
|
$limits{'max_columns'} = 75;
|
|
|
|
$limits{'max_columns'} = 75;
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
$limits{'max_text_size'} = 32000;
|
|
|
|
$limits{'max_text_size'} = 32000;
|
|
|
|
$limits{'query_size'} = 65535;
|
|
|
|
$limits{'query_size'} = 65535;
|
|
|
|
$limits{'max_index'} = 5;
|
|
|
|
$limits{'max_index'} = 5;
|
|
|
@@ -622,7 +633,9 @@ sub new
|
|
|
|
$limits{'max_conditions'} = 9999; # This makes Pg real slow
|
|
|
|
$limits{'max_conditions'} = 9999; # This makes Pg real slow
|
|
|
|
$limits{'max_index'} = 64; # Big enough
|
|
|
|
$limits{'max_index'} = 64; # Big enough
|
|
|
|
$limits{'max_index_parts'} = 16;
|
|
|
|
$limits{'max_index_parts'} = 16;
|
|
|
|
$limits{'max_tables'} = 5000; # 10000 crashes pg 7.0.2
|
|
|
|
$limits{'max_tables'} = 65000;
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
|
|
|
|
|
|
|
|
$limits{'max_text_size'} = 65000; # Good enough for test
|
|
|
|
$limits{'max_text_size'} = 65000; # Good enough for test
|
|
|
|
$limits{'multi_drop'} = 1;
|
|
|
|
$limits{'multi_drop'} = 1;
|
|
|
|
$limits{'order_by_position'} = 1;
|
|
|
|
$limits{'order_by_position'} = 1;
|
|
|
@@ -873,6 +886,8 @@ sub new
|
|
|
|
$limits{'max_conditions'} = 9999; # Probably big enough
|
|
|
|
$limits{'max_conditions'} = 9999; # Probably big enough
|
|
|
|
$limits{'max_columns'} = 2000; # From crash-me
|
|
|
|
$limits{'max_columns'} = 2000; # From crash-me
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
|
|
|
|
|
|
|
|
$limits{'max_text_size'} = 65492; # According to tests
|
|
|
|
$limits{'max_text_size'} = 65492; # According to tests
|
|
|
|
$limits{'query_size'} = 65535; # Probably a limit
|
|
|
|
$limits{'query_size'} = 65535; # Probably a limit
|
|
|
|
$limits{'max_index'} = 64; # Probably big enough
|
|
|
|
$limits{'max_index'} = 64; # Probably big enough
|
|
|
@@ -1104,6 +1119,7 @@ sub new
|
|
|
|
# above this value .... but can handle 2419 columns
|
|
|
|
# above this value .... but can handle 2419 columns
|
|
|
|
# maybe something for crash-me ... but how to check ???
|
|
|
|
# maybe something for crash-me ... but how to check ???
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
$limits{'max_text_size'} = 4095; # max returned ....
|
|
|
|
$limits{'max_text_size'} = 4095; # max returned ....
|
|
|
|
$limits{'query_size'} = 65535; # Not a limit, big enough
|
|
|
|
$limits{'query_size'} = 65535; # Not a limit, big enough
|
|
|
|
$limits{'max_index'} = 64; # Big enough
|
|
|
|
$limits{'max_index'} = 64; # Big enough
|
|
|
@@ -1374,6 +1390,8 @@ sub new
|
|
|
|
$limits{'max_conditions'} = 9999; # (Actually not a limit)
|
|
|
|
$limits{'max_conditions'} = 9999; # (Actually not a limit)
|
|
|
|
$limits{'max_columns'} = 254; # Max number of columns in table
|
|
|
|
$limits{'max_columns'} = 254; # Max number of columns in table
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
|
|
|
|
|
|
|
|
$limits{'max_text_size'} = 2000; # Limit for blob test-connect
|
|
|
|
$limits{'max_text_size'} = 2000; # Limit for blob test-connect
|
|
|
|
$limits{'query_size'} = 65525; # Max size with default buffers.
|
|
|
|
$limits{'query_size'} = 65525; # Max size with default buffers.
|
|
|
|
$limits{'max_index'} = 16; # Max number of keys
|
|
|
|
$limits{'max_index'} = 16; # Max number of keys
|
|
|
@@ -1647,6 +1665,8 @@ sub new
|
|
|
|
$limits{'max_column_name'} = 18; # max table and column name
|
|
|
|
$limits{'max_column_name'} = 18; # max table and column name
|
|
|
|
$limits{'max_columns'} = 994; # Max number of columns in table
|
|
|
|
$limits{'max_columns'} = 994; # Max number of columns in table
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
|
|
|
|
|
|
|
|
$limits{'max_index'} = 64; # Max number of keys
|
|
|
|
$limits{'max_index'} = 64; # Max number of keys
|
|
|
|
$limits{'max_index_parts'} = 15; # Max segments/key
|
|
|
|
$limits{'max_index_parts'} = 15; # Max segments/key
|
|
|
|
$limits{'max_text_size'} = 65535; # Max size with default buffers. ??
|
|
|
|
$limits{'max_text_size'} = 65535; # Max size with default buffers. ??
|
|
|
@@ -1835,6 +1855,8 @@ sub new
|
|
|
|
$limits{'max_conditions'} = 97; # We get 'Query is too complex'
|
|
|
|
$limits{'max_conditions'} = 97; # We get 'Query is too complex'
|
|
|
|
$limits{'max_columns'} = 255; # Max number of columns in table
|
|
|
|
$limits{'max_columns'} = 255; # Max number of columns in table
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
|
|
|
|
|
|
|
|
$limits{'max_text_size'} = 255; # Max size with default buffers.
|
|
|
|
$limits{'max_text_size'} = 255; # Max size with default buffers.
|
|
|
|
$limits{'query_size'} = 65535; # Not a limit, big enough
|
|
|
|
$limits{'query_size'} = 65535; # Not a limit, big enough
|
|
|
|
$limits{'max_index'} = 32; # Max number of keys
|
|
|
|
$limits{'max_index'} = 32; # Max number of keys
|
|
|
@@ -2020,6 +2042,8 @@ sub new
|
|
|
|
$limits{'max_conditions'} = 1030; # We get 'Query is too complex'
|
|
|
|
$limits{'max_conditions'} = 1030; # We get 'Query is too complex'
|
|
|
|
$limits{'max_columns'} = 250; # Max number of columns in table
|
|
|
|
$limits{'max_columns'} = 250; # Max number of columns in table
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
|
|
|
|
|
|
|
|
$limits{'max_text_size'} = 9830; # Max size with default buffers.
|
|
|
|
$limits{'max_text_size'} = 9830; # Max size with default buffers.
|
|
|
|
$limits{'query_size'} = 9830; # Max size with default buffers.
|
|
|
|
$limits{'query_size'} = 9830; # Max size with default buffers.
|
|
|
|
$limits{'max_index'} = 64; # Max number of keys
|
|
|
|
$limits{'max_index'} = 64; # Max number of keys
|
|
|
@@ -2216,6 +2240,8 @@ sub new
|
|
|
|
$limits{'max_conditions'} = 1030; # We get 'Query is too complex'
|
|
|
|
$limits{'max_conditions'} = 1030; # We get 'Query is too complex'
|
|
|
|
$limits{'max_columns'} = 250; # Max number of columns in table
|
|
|
|
$limits{'max_columns'} = 250; # Max number of columns in table
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
|
|
|
|
|
|
|
|
$limits{'max_text_size'} = 9830; # Max size with default buffers.
|
|
|
|
$limits{'max_text_size'} = 9830; # Max size with default buffers.
|
|
|
|
$limits{'query_size'} = 9830; # Max size with default buffers.
|
|
|
|
$limits{'query_size'} = 9830; # Max size with default buffers.
|
|
|
|
$limits{'max_index'} = 64; # Max number of keys
|
|
|
|
$limits{'max_index'} = 64; # Max number of keys
|
|
|
@@ -2448,6 +2474,8 @@ sub new
|
|
|
|
$limits{'max_conditions'} = 50; # (Actually not a limit)
|
|
|
|
$limits{'max_conditions'} = 50; # (Actually not a limit)
|
|
|
|
$limits{'max_columns'} = 254; # Max number of columns in table
|
|
|
|
$limits{'max_columns'} = 254; # Max number of columns in table
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
|
|
|
|
|
|
|
|
$limits{'max_text_size'} = 2000; # Limit for blob test-connect
|
|
|
|
$limits{'max_text_size'} = 2000; # Limit for blob test-connect
|
|
|
|
$limits{'query_size'} = 65525; # Max size with default buffers.
|
|
|
|
$limits{'query_size'} = 65525; # Max size with default buffers.
|
|
|
|
$limits{'max_index'} = 16; # Max number of keys
|
|
|
|
$limits{'max_index'} = 16; # Max number of keys
|
|
|
@@ -2652,6 +2680,8 @@ sub new
|
|
|
|
$limits{'max_conditions'} = 418; # We get 'Query is too complex'
|
|
|
|
$limits{'max_conditions'} = 418; # We get 'Query is too complex'
|
|
|
|
$limits{'max_columns'} = 500; # Max number of columns in table
|
|
|
|
$limits{'max_columns'} = 500; # Max number of columns in table
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
|
|
|
|
|
|
|
|
$limits{'max_text_size'} = 254; # Max size with default buffers.
|
|
|
|
$limits{'max_text_size'} = 254; # Max size with default buffers.
|
|
|
|
$limits{'query_size'} = 254; # Max size with default buffers.
|
|
|
|
$limits{'query_size'} = 254; # Max size with default buffers.
|
|
|
|
$limits{'max_index'} = 48; # Max number of keys
|
|
|
|
$limits{'max_index'} = 48; # Max number of keys
|
|
|
@@ -2830,6 +2860,7 @@ sub new
|
|
|
|
$limits{'max_conditions'} = 9999; # (Actually not a limit)
|
|
|
|
$limits{'max_conditions'} = 9999; # (Actually not a limit)
|
|
|
|
$limits{'max_columns'} = 252; # Max number of columns in table
|
|
|
|
$limits{'max_columns'} = 252; # Max number of columns in table
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
$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'} = 32; # Max number of keys
|
|
|
|
$limits{'max_index'} = 32; # Max number of keys
|
|
|
@@ -3032,6 +3063,7 @@ sub new
|
|
|
|
$limits{'max_conditions'} = 9999; # (Actually not a limit)
|
|
|
|
$limits{'max_conditions'} = 9999; # (Actually not a limit)
|
|
|
|
$limits{'max_columns'} = 252; # Max number of columns in table
|
|
|
|
$limits{'max_columns'} = 252; # Max number of columns in table
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
$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'} = 65000; # Max number of keys
|
|
|
|
$limits{'max_index'} = 65000; # Max number of keys
|
|
|
@@ -3228,6 +3260,7 @@ sub new
|
|
|
|
# The following should be 8192, but is smaller because Frontbase crashes..
|
|
|
|
# The following should be 8192, but is smaller because Frontbase crashes..
|
|
|
|
$limits{'max_columns'} = 150; # Max number of columns in table
|
|
|
|
$limits{'max_columns'} = 150; # Max number of columns in table
|
|
|
|
$limits{'max_tables'} = 5000; # 10000 crashed FrontBase
|
|
|
|
$limits{'max_tables'} = 5000; # 10000 crashed FrontBase
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
$limits{'max_text_size'} = 65000; # Max size with default buffers.
|
|
|
|
$limits{'max_text_size'} = 65000; # Max size with default buffers.
|
|
|
|
$limits{'query_size'} = 8000000; # Max size with default buffers.
|
|
|
|
$limits{'query_size'} = 8000000; # Max size with default buffers.
|
|
|
|
$limits{'max_index'} = 38; # Max number of keys
|
|
|
|
$limits{'max_index'} = 38; # Max number of keys
|
|
|
@@ -3440,6 +3473,7 @@ sub new
|
|
|
|
$limits{'max_conditions'} = 9999; # (Actually not a limit) *
|
|
|
|
$limits{'max_conditions'} = 9999; # (Actually not a limit) *
|
|
|
|
$limits{'max_columns'} = 1023; # Max number of columns in table *
|
|
|
|
$limits{'max_columns'} = 1023; # Max number of columns in table *
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough * unlimited actually
|
|
|
|
$limits{'max_tables'} = 65000; # Should be big enough * unlimited actually
|
|
|
|
|
|
|
|
$limits{'max_temporary_tables'}= $limits{"max_tables"};
|
|
|
|
$limits{'max_text_size'} = 15000; # Max size with default buffers.
|
|
|
|
$limits{'max_text_size'} = 15000; # Max size with default buffers.
|
|
|
|
$limits{'query_size'} = 64*1024; # Max size with default buffers. *64 kb by default. May be set by system variable
|
|
|
|
$limits{'query_size'} = 64*1024; # Max size with default buffers. *64 kb by default. May be set by system variable
|
|
|
|
$limits{'max_index'} = 510; # Max number of keys *
|
|
|
|
$limits{'max_index'} = 510; # Max number of keys *
|
|
|
|