1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00

Updated manual about embedded version.

Speed up column-completion in 'mysql'
Don't use ISAM if HAVE_ISAM is not defined
A lot of fixes for the embedded version.  All libraries are now included in libmysqld.a
Changed arguments to convert_dirname() to make it more general.
Renamed files in the 'merge' directory to all use a common prefix.
Don't compile both assembler and C functions on x86


BitKeeper/deleted/.del-mf_pack2.c~f07795bbcf57be7:
  Delete: mysys/mf_pack2.c
Docs/manual.texi:
  Updated chapter about embedded version
acinclude.m4:
  Fix for using BDB and InnoDB with embedded
client/completion_hash.cc:
  Speed up memory allocation
client/completion_hash.h:
  Speed up memory allocation
client/mysql.cc:
  Speed up memory allocation
client/mysqldump.c:
  Fix to use now convert_dirname
client/mysqltest.c:
  Fixed memory allocation bugs.
  Added --basedir=#, --compress=#, --server-arg, --server-file.
  Fixes for embedded version
  Changed silent mode to -s instead of -q
include/my_global.h:
  Update to use HAVE_ISAM
include/my_sys.h:
  Cleanup of fn_format()
include/mysql.h:
  Prepare FIELD struct for 4.1
include/mysql_embed.h:
  Don't use ISAM in embedded version
innobase/include/srv0srv.h:
  Make InnoDB startup/shutdown silent in embedded version
innobase/log/log0log.c:
  Make InnoDB startup/shutdown silent in embedded version
innobase/srv/srv0srv.c:
  Make InnoDB startup/shutdown silent in embedded version
innobase/srv/srv0start.c:
  Make InnoDB startup/shutdown silent in embedded version
isam/isamlog.c:
  new convert_dirname
libmysql/libmysql.c:
  Prepare for 4.1
libmysqld/Makefile.am:
  Changed to create one libmysqld.a file that includes all other libraries.
libmysqld/examples/Makefile.am:
  Changed to use new libmysqld.a
libmysqld/examples/test-run:
  Lot's of fixes to get new mysqltest with embedded MySQL to work.
libmysqld/lib_sql.cc:
  Changed type of arguments for mysql_server_init() to make code more portable.
libmysqld/libmysqld.c:
  Cleanup
merge/Makefile.am:
  Rename to use common prefix.
merge/mrg_close.c:
  Rename to use common prefix.
merge/mrg_create.c:
  Rename to use common prefix.
merge/mrg_def.h:
  Rename to use common prefix.
merge/mrg_delete.c:
  Rename to use common prefix.
merge/mrg_extra.c:
  Rename to use common prefix.
merge/mrg_info.c:
  Rename to use common prefix.
merge/mrg_locking.c:
  Rename to use common prefix.
merge/mrg_open.c:
  Rename to use common prefix.
merge/mrg_panic.c:
  Rename to use common prefix.
merge/mrg_rrnd.c:
  Rename to use common prefix.
merge/mrg_rsame.c:
  Rename to use common prefix.
merge/mrg_static.c:
  Rename to use common prefix.
merge/mrg_update.c:
  Rename to use common prefix.
myisam/myisamlog.c:
  Use new convert_dirname
myisammrg/Makefile.am:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_close.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_create.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_def.h:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_delete.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_extra.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_info.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_locking.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_open.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_panic.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_queue.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_rfirst.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_rkey.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_rlast.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_rnext.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_rprev.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_rrnd.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_rsame.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_static.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_update.c:
  Renamed mymrgdef.h -> myrg_def.h
myisammrg/myrg_write.c:
  Renamed mymrgdef.h -> myrg_def.h
mysql-test/include/master-slave.inc:
  Use short filenames for sockets (portability problem on Mac OS X)
mysql-test/mysql-test-run.sh:
  cleanup
mysql-test/r/auto_increment.result:
  Cleanup of tests for embedded version
mysql-test/r/func_system.result:
  Cleanup of tests for embedded version
mysql-test/r/isam.result:
  Cleanup of tests for embedded version
mysql-test/r/lock.result:
  Cleanup of tests for embedded version
mysql-test/r/show_check.result:
  Cleanup of tests for embedded version
mysql-test/t/auto_increment.test:
  Cleanup of tests for embedded version
mysql-test/t/backup.test:
  Cleanup of tests for embedded version
mysql-test/t/count_distinct2-master.opt:
  Cleanup of tests for embedded version
mysql-test/t/count_distinct2.test:
  Cleanup of tests for embedded version
mysql-test/t/create.test:
  Cleanup of tests for embedded version
mysql-test/t/flush.test:
  Cleanup of tests for embedded version
mysql-test/t/func_system.test:
  Cleanup of tests for embedded version
mysql-test/t/isam.test:
  Cleanup of tests for embedded version
mysql-test/t/kill.test:
  Cleanup of tests for embedded version
mysql-test/t/lock.test:
  Cleanup of tests for embedded version
mysql-test/t/order_fill_sortbuf-master.opt:
  Cleanup of tests for embedded version
mysql-test/t/rpl000015.test:
  Use short filenames for sockets (portability problem on Mac OS X)
mysql-test/t/rpl000016.test:
  Use short filenames for sockets (portability problem on Mac OS X)
mysql-test/t/rpl000017.test:
  Use short filenames for sockets (portability problem on Mac OS X)
mysql-test/t/rpl000018.test:
  Use short filenames for sockets (portability problem on Mac OS X)
mysql-test/t/show_check.test:
  Move ISAM specific tests to isam.test
mysql-test/t/status.test:
  Cleanup of tests for embedded version
mysql-test/t/tablelock.test:
  Cleanup
mysys/Makefile.am:
  Removed not used mf_pack2.c
mysys/charset.c:
  new convert_dirname
mysys/default.c:
  new convert_dirname
mysys/mf_dirname.c:
  Changed convert_dirname() to be more general
mysys/mf_format.c:
  Changed bit flags to fn_format() to defines.
  Added handling of relative filenames
BitKeeper/etc/ignore:
  Added libmysqld/examples/test-gdbinit scripts/mysql_explain_log to the ignore list
mysys/mf_pack.c:
  new convert_dirname
mysys/mf_tempfile.c:
  new convert_dirname
scripts/Makefile.am:
  Adde mysql_explain_log
scripts/mysql_config.sh:
  Added support of --libmysqld-libs
sql/Makefile.am:
  Fix to use 'innodb_system_libs'
sql/ha_innobase.cc:
  Make InnoDB startup/shutdown silent in embedded version
sql/ha_isam.cc:
  Added handling of HAVE_ISAM
sql/ha_isammrg.cc:
  Added handling of HAVE_ISAM
sql/ha_myisam.cc:
  Handle relative paths;  Needed to support BACKUP TABLE in embedded version
sql/ha_myisammrg.cc:
  Rename of filenames
sql/handler.cc:
  Added handling of HAVE_ISAM
sql/item_func.cc:
  Fix for ecc (Intel Compiler)
sql/mysql_priv.h:
  Added global variable 'mysql_embedded'
sql/mysqld.cc:
  Use HAVE_ISAM
sql/sql_parse.cc:
  Use new convert_dirname
sql/sql_select.cc:
  Fix for ecc (Intel Compiler)
sql/sql_table.cc:
  Added handling of relative filenames
strings/Makefile.am:
  Don't compile both assembler and C functions on x86
strings/bchange.c:
  cleanup
This commit is contained in:
unknown
2001-10-08 04:58:07 +03:00
parent bd7b4aaa7d
commit cef1d75249
114 changed files with 1343 additions and 745 deletions

View File

@@ -1,7 +1,7 @@
connect (master,localhost,root,,test,0,mysql-master.sock);
connect (master1,localhost,root,,test,0,mysql-master.sock);
connect (slave,localhost,root,,test,0,mysql-slave.sock);
connect (slave1,localhost,root,,test,0,mysql-slave.sock);
connect (master,localhost,root,,test,0,master.sock);
connect (master1,localhost,root,,test,0,master.sock);
connect (slave,localhost,root,,test,0,slave.sock);
connect (slave1,localhost,root,,test,0,slave.sock);
connection slave;
!slave stop;
@r/slave-stopped.result show status like 'Slave_running';

View File

@@ -0,0 +1,3 @@
-- require r/not_embedded.require
select version() like "%embedded%" as "have_embedded";

View File

@@ -789,10 +789,10 @@ run_testcase ()
if [ -f $tf ] ; then
$RM -f r/$tname.*reject
mysql_test_args="-R r/$tname.result $EXTRA_MYSQL_TEST_OPT"
if [ -z "$DO_CLIENT_GDB" ] ; then
mytime=`$TIME -p $MYSQL_TEST $mysql_test_args < $tf 2> $TIMEFILE`
if [ -z "$DO_CLIENT_GDB" ] ; then
mytime=`$TIME -p $MYSQL_TEST $mysql_test_args < $tf 2> $TIMEFILE`
else
do_gdb_test "$mysql_test_args" "$tf"
do_gdb_test "$mysql_test_args" "$tf"
fi
res=$?

View File

@@ -9,18 +9,6 @@ a b c
5 5 NULL
8 8 8
9 9 9
a b
1 1
5 5
3 3
4 4
6 6
a b c
1 1 NULL
5 5 NULL
3 3 NULL
4 4 NULL
6 6 6
skey sval
1 hello
2 hey

View File

@@ -1,4 +1,4 @@
database() user()
test root@localhost
database() user() like "%@%"
test 1
version()>="3.23.29"
1

View File

@@ -8,3 +8,41 @@ Table Op Msg_type Msg_text
test.t1 repair status OK
Table Op Msg_type Msg_text
test.t1 check status OK
a b
1 1
5 5
3 3
4 4
6 6
a b c
1 1 NULL
5 5 NULL
3 3 NULL
4 4 NULL
6 6 6
Table Op Msg_type Msg_text
test.t1 optimize status OK
Table Op Msg_type Msg_text
test.t1 check status OK
test.t2 check error The handler for the table doesn't support check/repair
Table Op Msg_type Msg_text
test.t1 repair status OK
test.t2 repair error The handler for the table doesn't support check/repair
Table Op Msg_type Msg_text
test.t2 check error The handler for the table doesn't support check/repair
test.t1 check status OK
Table Op Msg_type Msg_text
test.t2 check error Table 't2' was not locked with LOCK TABLES
test.t1 check status OK
Field Type Null Key Default Extra
a int(11) PRI 0
b int(11) MUL 0
c int(11) 0
Field Type Null Key Default Extra Privileges
a int(11) PRI 0 select,insert,update,references
b int(11) MUL 0 select,insert,update,references
c int(11) 0 select,insert,update,references
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Comment
t1 0 PRIMARY 1 a A 4 NULL NULL
t1 1 b 1 b A 1 NULL NULL
t1 1 b 2 c A 4 NULL NULL

View File

@@ -4,7 +4,3 @@ Table Op Msg_type Msg_text
test.t1 check status OK
Table Op Msg_type Msg_text
test.t2 check error Table 't2' was not locked with LOCK TABLES
n
4
n
1

View File

@@ -0,0 +1,4 @@
n
4
n
1

View File

@@ -0,0 +1,2 @@
have_embedded
0

View File

@@ -1,30 +1,4 @@
Table Op Msg_type Msg_text
test.t1 optimize status OK
Table Op Msg_type Msg_text
test.t1 check status OK
test.t2 check error The handler for the table doesn't support check/repair
Table Op Msg_type Msg_text
test.t1 repair status OK
test.t2 repair error The handler for the table doesn't support check/repair
Table Op Msg_type Msg_text
test.t2 check error The handler for the table doesn't support check/repair
test.t1 check status OK
Table Op Msg_type Msg_text
test.t2 check error Table 't2' was not locked with LOCK TABLES
test.t1 check status OK
Field Type Null Key Default Extra
a int(11) PRI 0
b int(11) MUL 0
c int(11) 0
Field Type Null Key Default Extra Privileges
a int(11) PRI 0 select,insert,update,references
b int(11) MUL 0 select,insert,update,references
c int(11) 0 select,insert,update,references
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Comment
t1 0 PRIMARY 1 a A 4 NULL NULL
t1 1 b 1 b A 1 NULL NULL
t1 1 b 2 c A 4 NULL NULL
Table Op Msg_type Msg_text
test.t1 check status Table is already up to date
Table Op Msg_type Msg_text
test.t1 check status Table is already up to date

View File

@@ -2,6 +2,7 @@
# Test of auto_increment; The test for BDB tables is in bdb.test
#
drop table if exists t1;
create table t1 (a int not null auto_increment,b int, primary key (a)) type=myisam auto_increment=3;
insert into t1 values (1,1),(NULL,3),(NULL,4);
delete from t1 where a=4;
@@ -18,20 +19,6 @@ insert into t1 values (NULL,9,9);
select * from t1;
drop table t1;
create table t1 (a int not null auto_increment,b int, primary key (a)) type=isam;
insert into t1 values (1,1),(NULL,2),(3,3),(NULL,4);
delete from t1 where a=4 or a=2;
insert into t1 values (NULL,4),(NULL,5),(6,6);
select * from t1;
delete from t1 where a=6;
#show table status like "t1";
replace t1 values (3,1);
replace t1 values (3,3);
ALTER TABLE t1 add c int;
insert into t1 values (NULL,6,6);
select * from t1;
drop table t1;
create table t1 (
skey tinyint unsigned NOT NULL auto_increment PRIMARY KEY,
sval char(20)

View File

@@ -39,9 +39,3 @@ reap;
unlock tables;
connection con1;
reap;

View File

@@ -1 +1 @@
-O max_heap_table_size=16384
--set-variable=max_heap_table_size=16384

View File

@@ -1,3 +1,5 @@
drop table if exists t1;
create table t1(n1 int, n2 int, s char(20), vs varchar(20), t text);
insert into t1 values (1,11, 'one','eleven', 'eleven'),
(1,11, 'one','eleven', 'eleven'),
@@ -44,7 +46,7 @@ select count(distinct n1), count(distinct n2) from t1;
select count(distinct n2), n1 from t1 group by n1;
drop table t1;
# test the converstion from tree to MyISAM
# test the conversion from tree to MyISAM
create table t1 (n int default NULL);
let $1=5000;
while ($1)

View File

@@ -25,14 +25,10 @@ drop table if exists t1,t2;
!$1164 create table t1 (a int not null auto_increment,primary key (a)) type=heap;
!$1163 create table t1 (a int not null,b text) type=heap;
!$1171 create table t1 (a int ,primary key(a)) type=heap;
!$1121 create table t1 (a int,b text, index(a)) type=isam;
!$1073 create table t1 (a int,b text, index(b)) type=isam;
drop table if exists t1;
!$1075 create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid)) type=isam;
!$1164 create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid)) type=heap;
!$1171 create table t1 (ordid int(8), primary key (ordid));
!$1121 create table t1 (ordid int(8), unique (ordid)) type=isam;
-- error 1044,1
create table not_existing_database.test (a int);

View File

@@ -1,3 +1,11 @@
# This test doesn't work with the embedded version as this code
# assumes that one query is running while we are doing queries on
# a second connection.
# This would work if mysqltest run would be threaded and handle each
# connection in a separate thread.
#
-- source include/not_embedded.inc
connect (con1,localhost,root,,);
connect (con2,localhost,root,,);
connection con1;

View File

@@ -2,5 +2,5 @@
# system functions
#
select database(),user();
select database(),user() like "%@%";
select version()>="3.23.29";

View File

@@ -1,3 +1,7 @@
-- source include/have_isam.inc
drop table if exists t1,t2;
#
# Test possible problem with rows that are about 65535 bytes long
#
@@ -17,3 +21,48 @@ check table t1;
repair table t1;
check table t1;
drop table t1;
#
# Test of auto_increment; The test for BDB tables is in bdb.test
#
create table t1 (a int not null auto_increment,b int, primary key (a)) type=isam;
insert into t1 values (1,1),(NULL,2),(3,3),(NULL,4);
delete from t1 where a=4 or a=2;
insert into t1 values (NULL,4),(NULL,5),(6,6);
select * from t1;
delete from t1 where a=6;
#show table status like "t1";
replace t1 values (3,1);
replace t1 values (3,3);
ALTER TABLE t1 add c int;
insert into t1 values (NULL,6,6);
select * from t1;
drop table t1;
#
# Test of some CREATE TABLE's that should fail
#
!$1121 create table t1 (a int,b text, index(a)) type=isam;
!$1073 create table t1 (a int,b text, index(b)) type=isam;
!$1075 create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid)) type=isam;
!$1121 create table t1 (ordid int(8), unique (ordid)) type=isam;
drop table if exists t1;
#
# Test of some show commands
#
create table t1 (a int not null primary key, b int not null,c int not null, key(b,c));
insert into t1 values (1,2,2),(2,2,3),(3,2,4),(4,2,4);
create table t2 type=isam select * from t1;
optimize table t1;
check table t1,t2;
repair table t1,t2;
check table t2,t1;
lock tables t1 write;
check table t2,t1;
show columns from t1;
show full columns from t1;
show index from t1;
drop table t1,t2;

View File

@@ -1,3 +1,11 @@
# This test doesn't work with the embedded version as this code
# assumes that one query is running while we are doing queries on
# a second connection.
# This would work if mysqltest run would be threaded and handle each
# connection in a separate thread.
#
-- source include/not_embedded.inc
connect (con1, localhost, root,,);
connect (con2, localhost, root,,);

View File

@@ -53,45 +53,3 @@ lock tables t1 write;
check table t2;
unlock tables;
drop table t1,t2;
#test to see if select will get the lock ahead of low priority update
connect (locker,localhost,root,,);
connect (reader,localhost,root,,);
connect (writer,localhost,root,,);
connection locker;
create table t1(n int);
insert into t1 values (1);
lock tables t1 write;
connection writer;
send update low_priority t1 set n = 4;
connection reader;
--sleep 2
send select n from t1;
connection locker;
--sleep 2
unlock tables;
connection writer;
reap;
connection reader;
reap;
drop table t1;
connection locker;
create table t1(n int);
insert into t1 values (1);
lock tables t1 read;
connection writer;
send update low_priority t1 set n = 4;
connection reader;
--sleep 2
send select n from t1;
connection locker;
--sleep 2
unlock tables;
connection writer;
reap;
connection reader;
reap;
drop table t1;

View File

@@ -0,0 +1,49 @@
# This test doesn't work with the embedded version as this code
# assumes that one query is running while we are doing queries on
# a second connection.
# This would work if mysqltest run would be threaded and handle each
# connection in a separate thread.
#
-- source include/not_embedded.inc
#test to see if select will get the lock ahead of low priority update
connect (locker,localhost,root,,);
connect (reader,localhost,root,,);
connect (writer,localhost,root,,);
connection locker;
create table t1(n int);
insert into t1 values (1);
lock tables t1 write;
connection writer;
send update low_priority t1 set n = 4;
connection reader;
--sleep 2
send select n from t1;
connection locker;
--sleep 2
unlock tables;
connection writer;
reap;
connection reader;
reap;
drop table t1;
connection locker;
create table t1(n int);
insert into t1 values (1);
lock tables t1 read;
connection writer;
send update low_priority t1 set n = 4;
connection reader;
--sleep 2
send select n from t1;
connection locker;
--sleep 2
unlock tables;
connection writer;
reap;
connection reader;
reap;
drop table t1;

View File

@@ -1 +1 @@
-O sort_buffer=0
--set-variable=sort_buffer=0

View File

@@ -1,5 +1,5 @@
connect (master,localhost,root,,test,0,mysql-master.sock);
connect (slave,localhost,root,,test,0, mysql-slave.sock);
connect (master,localhost,root,,test,0,master.sock);
connect (slave,localhost,root,,test,0, slave.sock);
connection master;
reset master;
show master status;

View File

@@ -1,5 +1,5 @@
connect (master,localhost,root,,test,0,mysql-master.sock);
connect (slave,localhost,root,,test,0,mysql-slave.sock);
connect (master,localhost,root,,test,0,master.sock);
connect (slave,localhost,root,,test,0,slave.sock);
system cat /dev/null > var/slave-data/master.info;
system chmod 000 var/slave-data/master.info;
connection slave;

View File

@@ -1,5 +1,5 @@
connect (master,localhost,root,,test,0,mysql-master.sock);
connect (slave,localhost,root,,test,0,mysql-slave.sock);
connect (master,localhost,root,,test,0,master.sock);
connect (slave,localhost,root,,test,0,slave.sock);
connection master;
reset master;
grant file on *.* to replicate@localhost identified by 'aaaaaaaaaaaaaaab';

View File

@@ -1,5 +1,5 @@
connect (master,localhost,root,,test,0,mysql-master.sock);
connect (slave,localhost,root,,test,0,mysql-slave.sock);
connect (master,localhost,root,,test,0,master.sock);
connect (slave,localhost,root,,test,0,slave.sock);
connection slave;
reset slave;
slave start;

View File

@@ -1,21 +1,8 @@
#
# Test of some show commands
#
drop table if exists t1,t2;
create table t1 (a int not null primary key, b int not null,c int not null, key(b,c));
insert into t1 values (1,2,2),(2,2,3),(3,2,4),(4,2,4);
create table t2 type=isam select * from t1;
optimize table t1;
check table t1,t2;
repair table t1,t2;
check table t2,t1;
lock tables t1 write;
check table t2,t1;
show columns from t1;
show full columns from t1;
show index from t1;
drop table t1,t2;
drop table if exists t1,t2;
create table t1 (a int not null primary key, b int not null,c int not null, key(b,c));
insert into t1 values (1,2,2),(2,2,3),(3,2,4),(4,2,4);
check table t1 type=fast;

View File

@@ -1,3 +1,11 @@
# This test doesn't work with the embedded version as this code
# assumes that one query is running while we are doing queries on
# a second connection.
# This would work if mysqltest run would be threaded and handle each
# connection in a separate thread.
#
-- source include/not_embedded.inc
connect (con1,localhost,root,,);
connect (con2,localhost,root,,);

View File

@@ -2,6 +2,7 @@
# Test of lock tables
#
drop table if exists t1,t2;
create table t1 ( n int auto_increment primary key);
lock tables t1 write;
insert into t1 values(NULL);
@@ -36,12 +37,10 @@ drop table t1;
CREATE TABLE t1 (a int);
CREATE TABLE t2 (a int);
lock tables t1 write,t1 as b write, t2 write, t2 as c read;
drop table t1;
drop table t2;
drop table t1,t2;
CREATE TABLE t1 (a int);
CREATE TABLE t2 (a int);
lock tables t1 write,t1 as b write, t2 write, t2 as c read;
drop table t2;
drop table t1;
drop table t2,t1;
unlock tables;