Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
f935dcf2
Commit
f935dcf2
authored
Jul 20, 2001
by
sasha@mysql.sashanet.com
Browse files
Options
Browse Files
Download
Plain Diff
merged
parents
008456c9
8060b31a
Changes
50
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
50 changed files
with
1070 additions
and
462 deletions
+1070
-462
Docs/manual.texi
Docs/manual.texi
+142
-38
bdb/include/db.src
bdb/include/db.src
+1
-0
configure.in
configure.in
+4
-4
include/thr_lock.h
include/thr_lock.h
+1
-0
mysql-test/r/bdb.result
mysql-test/r/bdb.result
+11
-0
mysql-test/r/rpl_mystery22.result
mysql-test/r/rpl_mystery22.result
+4
-0
mysql-test/t/bdb.test
mysql-test/t/bdb.test
+15
-0
mysql-test/t/rpl_magic.test
mysql-test/t/rpl_magic.test
+1
-0
mysql-test/t/rpl_mystery22.test
mysql-test/t/rpl_mystery22.test
+44
-0
mysql-test/t/rpl_sporadic_master.test
mysql-test/t/rpl_sporadic_master.test
+12
-7
mysys/thr_lock.c
mysys/thr_lock.c
+5
-4
sql-bench/Results/ATIS-mysql-Linux_2.2.16_SMP_alpha
sql-bench/Results/ATIS-mysql-Linux_2.2.16_SMP_alpha
+10
-10
sql-bench/Results/RUN-mysql-Linux_2.2.16_SMP_alpha
sql-bench/Results/RUN-mysql-Linux_2.2.16_SMP_alpha
+92
-91
sql-bench/Results/alter-table-mysql-Linux_2.2.16_SMP_alpha
sql-bench/Results/alter-table-mysql-Linux_2.2.16_SMP_alpha
+5
-5
sql-bench/Results/big-tables-mysql-Linux_2.2.16_SMP_alpha
sql-bench/Results/big-tables-mysql-Linux_2.2.16_SMP_alpha
+6
-6
sql-bench/Results/connect-mysql-Linux_2.2.16_SMP_alpha
sql-bench/Results/connect-mysql-Linux_2.2.16_SMP_alpha
+10
-10
sql-bench/Results/create-mysql-Linux_2.2.16_SMP_alpha
sql-bench/Results/create-mysql-Linux_2.2.16_SMP_alpha
+7
-7
sql-bench/Results/insert-mysql-Linux_2.2.16_SMP_alpha
sql-bench/Results/insert-mysql-Linux_2.2.16_SMP_alpha
+49
-49
sql-bench/Results/select-mysql-Linux_2.2.16_SMP_alpha
sql-bench/Results/select-mysql-Linux_2.2.16_SMP_alpha
+17
-17
sql-bench/Results/wisconsin-mysql-Linux_2.2.16_SMP_alpha
sql-bench/Results/wisconsin-mysql-Linux_2.2.16_SMP_alpha
+5
-5
sql/ha_berkeley.cc
sql/ha_berkeley.cc
+11
-4
sql/mysqld.cc
sql/mysqld.cc
+1
-0
sql/slave.cc
sql/slave.cc
+2
-0
sql/sql_class.h
sql/sql_class.h
+5
-4
sql/sql_insert.cc
sql/sql_insert.cc
+6
-2
sql/sql_parse.cc
sql/sql_parse.cc
+19
-2
sql/sql_unions.cc
sql/sql_unions.cc
+77
-68
support-files/debian/README.debian
support-files/debian/README.debian
+9
-0
support-files/debian/changelog
support-files/debian/changelog
+135
-2
support-files/debian/control
support-files/debian/control
+54
-13
support-files/debian/gomi
support-files/debian/gomi
+5
-4
support-files/debian/libmysqlclient10.dirs
support-files/debian/libmysqlclient10.dirs
+1
-0
support-files/debian/libmysqlclient10.postinst
support-files/debian/libmysqlclient10.postinst
+3
-0
support-files/debian/move
support-files/debian/move
+15
-6
support-files/debian/mysql-max-debug.dirs
support-files/debian/mysql-max-debug.dirs
+1
-0
support-files/debian/mysql-max-debug.postinst
support-files/debian/mysql-max-debug.postinst
+3
-0
support-files/debian/mysql-max-debug.postrm
support-files/debian/mysql-max-debug.postrm
+3
-0
support-files/debian/mysql-max-shared.dirs
support-files/debian/mysql-max-shared.dirs
+1
-0
support-files/debian/mysql-max-shared.postinst
support-files/debian/mysql-max-shared.postinst
+3
-0
support-files/debian/mysql-max-shared.postrm
support-files/debian/mysql-max-shared.postrm
+3
-0
support-files/debian/mysql-max.dirs
support-files/debian/mysql-max.dirs
+1
-0
support-files/debian/mysql-max.postinst
support-files/debian/mysql-max.postinst
+3
-0
support-files/debian/mysql-max.postrm
support-files/debian/mysql-max.postrm
+3
-0
support-files/debian/patches/ab
support-files/debian/patches/ab
+11
-20
support-files/debian/patches/ad
support-files/debian/patches/ad
+6
-47
support-files/debian/patches/ae
support-files/debian/patches/ae
+21
-27
support-files/debian/patches/ta
support-files/debian/patches/ta
+68
-0
support-files/debian/patches/tb
support-files/debian/patches/tb
+86
-0
support-files/debian/rules
support-files/debian/rules
+72
-9
support-files/debian/shlibs
support-files/debian/shlibs
+1
-1
No files found.
Docs/manual.texi
View file @
f935dcf2
This diff is collapsed.
Click to expand it.
bdb/include/db.src
View file @
f935dcf2
...
...
@@ -119,6 +119,7 @@ struct __db_dbt {
u_int32_t dlen; /* RO: get/put record length. */
u_int32_t doff; /* RO: get/put record offset. */
void *app_private; /* Application-private handle. */
#define DB_DBT_ISSET 0x001 /* Lower level calls set value. */
#define DB_DBT_MALLOC 0x002 /* Return in malloc'd memory. */
#define DB_DBT_PARTIAL 0x004 /* Partial put/get. */
...
...
configure.in
View file @
f935dcf2
...
...
@@ -1164,10 +1164,10 @@ if test "$ac_cv_lib_pthread_strtok_r" = "no"
then
my_save_LIBS
=
"
$LIBS
"
AC_CHECK_LIB
(
c_r,strtok_r
)
if
test
"
$with_osf32_threads
"
=
"yes"
-o
"
$target_os
"
=
"FreeBSD"
-o
"
$target_os
"
=
"freebsd"
then
LIBS
=
"
$my_save_LIBS
"
fi
case
"
$with_osf32_threads
---
$target_os
"
in
# Don't keep -lc_r in LIBS; -pthread handles it magically
yes---
*
|
*
---freebsd
*
)
LIBS
=
"
$my_save_LIBS
"
;;
esac
AC_CHECK_FUNCS
(
strtok_r pthread_init
)
else
AC_CHECK_FUNCS
(
strtok_r
)
...
...
include/thr_lock.h
View file @
f935dcf2
...
...
@@ -65,6 +65,7 @@ enum thr_lock_type { TL_IGNORE=-1,
extern
ulong
max_write_lock_count
;
extern
my_bool
thr_lock_inited
;
extern
enum
thr_lock_type
thr_upgraded_concurrent_insert_lock
;
typedef
struct
st_thr_lock_data
{
pthread_t
thread
;
...
...
mysql-test/r/bdb.result
View file @
f935dcf2
...
...
@@ -511,3 +511,14 @@ id id3
100 2
KINMU_DATE
KINMU_DATE
a b
1 1
1 2
a b a b
1 1 1 1
1 1 1 2
1 2 1 1
1 2 1 2
a b
1 1
1 2
mysql-test/r/rpl_mystery22.result
0 → 100644
View file @
f935dcf2
n
1
2
3
mysql-test/t/bdb.test
View file @
f935dcf2
...
...
@@ -715,3 +715,18 @@ CREATE TABLE t2 ( SYAIN_NO char(5) NOT NULL default '',STR_DATE char(8) NOT NULL
select
T1
.
KINMU_DATE
from
t1
T1
,
t2
T2
where
T1
.
SYAIN_NO
=
'12345'
and
T1
.
KINMU_DATE
=
'200106'
and
T2
.
SYAIN_NO
=
T1
.
SYAIN_NO
;
select
T1
.
KINMU_DATE
from
t1
T1
,
t2
T2
where
T1
.
SYAIN_NO
=
'12345'
and
T1
.
KINMU_DATE
=
'200106'
and
T2
.
SYAIN_NO
=
T1
.
SYAIN_NO
;
DROP
TABLE
t1
,
t2
;
#
# Test problem with joining table to itself on a multi-part unique key
#
drop
table
if
exists
t
;
create
table
t
(
a
int
(
11
)
not
null
,
b
int
(
11
)
not
null
,
unique
(
a
,
b
))
type
=
bdb
;
insert
into
t
values
(
1
,
1
),
(
1
,
2
);
select
*
from
t
where
a
=
1
;
select
t1
.*
,
t2
.*
from
t
t1
,
t
t2
where
t1
.
a
=
t2
.
a
and
t2
.
a
=
1
;
select
*
from
t
where
a
=
1
;
drop
table
t
;
mysql-test/t/rpl_magic.test
View file @
f935dcf2
...
...
@@ -28,3 +28,4 @@ disable_rpl_parse;
select
*
from
t1
;
connection
slave
;
select
*
from
t1
;
drop
table
t1
;
mysql-test/t/rpl_mystery22.test
0 → 100644
View file @
f935dcf2
# test case to make slave thread get ahead by 22 bytes
drop
table
if
exists
t1
;
source
include
/
master
-
slave
.
inc
;
connection
master
;
# first, cause a duplicate key problem on the slave
create
table
t1
(
n
int
auto_increment
primary
key
);
save_master_pos
;
connection
slave
;
sync_with_master
;
insert
into
t1
values
(
2
);
connection
master
;
insert
into
t1
values
(
NULL
);
insert
into
t1
values
(
NULL
);
save_master_pos
;
connection
slave
;
sleep
1
;
# there is no way around this sleep - we have to wait until
# the slave tries to run the query, fails and aborts slave thread
delete
from
t1
where
n
=
2
;
slave
start
;
sync_with_master
;
#now the buggy slave would be confused on the offset but it can replicate
#in order to make it break, we need to stop/start the slave one more time
slave
stop
;
connection
master
;
# to be able to really confuse the slave, we need some non-auto-increment
# events in the log
create
table
t2
(
n
int
);
drop
table
t2
;
insert
into
t1
values
(
NULL
);
save_master_pos
;
connection
slave
;
slave
start
;
#now the truth comes out - if the slave is buggy, it will never sync because
#the slave thread is not able to read events
sync_with_master
;
select
*
from
t1
;
#clean up
connection
master
;
drop
table
t1
;
save_master_pos
;
connection
slave
;
sync_with_master
;
mysql-test/t/rpl_sporadic_master.test
View file @
f935dcf2
...
...
@@ -3,24 +3,29 @@
source
include
/
master
-
slave
.
inc
;
connection
master
;
drop
table
if
exists
t1
;
drop
table
if
exists
t1
,
t2
;
create
table
t2
(
n
int
);
create
table
t1
(
n
int
not
null
auto_increment
primary
key
);
insert
into
t1
values
(
NULL
),(
NULL
);
delete
from
t1
;
truncate
table
t1
;
# We have to use 4 in the following to make this test work with all table types
insert
into
t1
values
(
4
),(
NULL
);
save_master_pos
;
connection
slave
;
sync_with_master
;
slave
stop
;
slave
start
;
connection
master
;
insert
into
t1
values
(
NULL
),(
NULL
);
flush
logs
;
delete
from
t1
;
insert
into
t1
values
(
10
),(
NULL
);
insert
into
t1
values
(
NULL
),(
NULL
);
insert
into
t1
values
(
NULL
),(
NULL
);
truncate
table
t1
;
insert
into
t1
values
(
10
),(
NULL
),(
NULL
),(
NULL
),(
NULL
),(
NULL
);
save_master_pos
;
connection
slave
;
sync_with_master
;
select
*
from
t1
;
connection
master
;
drop
table
t1
;
drop
table
t1
,
t2
;
save_master_pos
;
connection
slave
;
sync_with_master
;
mysys/thr_lock.c
View file @
f935dcf2
...
...
@@ -85,6 +85,7 @@ multiple read locks.
my_bool
thr_lock_inited
=
0
;
ulong
locks_immediate
=
0L
,
locks_waited
=
0L
;
enum
thr_lock_type
thr_upgraded_concurrent_insert_lock
=
TL_WRITE
;
/* The following constants are only for debug output */
#define MAX_THREADS 100
...
...
@@ -514,7 +515,7 @@ int thr_lock(THR_LOCK_DATA *data,enum thr_lock_type lock_type)
}
}
else
if
(
lock_type
==
TL_WRITE_CONCURRENT_INSERT
&&
!
lock
->
check_status
)
data
->
type
=
lock_type
=
TL_WRITE
;
/* not supported */
data
->
type
=
lock_type
=
thr_upgraded_concurrent_insert_lock
;
if
(
lock
->
write
.
data
)
/* If there is a write lock */
{
...
...
@@ -556,7 +557,7 @@ int thr_lock(THR_LOCK_DATA *data,enum thr_lock_type lock_type)
{
/* no scheduled write locks */
if
(
lock_type
==
TL_WRITE_CONCURRENT_INSERT
&&
(
*
lock
->
check_status
)(
data
->
status_param
))
data
->
type
=
lock_type
=
TL_WRITE
;
/* Upgrade lock */
data
->
type
=
lock_type
=
thr_upgraded_concurrent_insert_lock
;
if
(
!
lock
->
read
.
data
||
(
lock_type
<=
TL_WRITE_DELAYED
&&
...
...
@@ -943,10 +944,10 @@ my_bool thr_upgrade_write_delay_lock(THR_LOCK_DATA *data)
DBUG_ENTER
(
"thr_upgrade_write_delay_lock"
);
pthread_mutex_lock
(
&
lock
->
mutex
);
if
(
data
->
type
==
TL_UNLOCK
||
data
->
type
==
TL_WRITE
)
/* Aborted */
if
(
data
->
type
==
TL_UNLOCK
||
data
->
type
>=
TL_WRITE_LOW_PRIORITY
)
{
pthread_mutex_unlock
(
&
lock
->
mutex
);
DBUG_RETURN
(
data
->
type
==
TL_UNLOCK
);
DBUG_RETURN
(
data
->
type
==
TL_UNLOCK
);
/* Test if Aborted */
}
check_locks
(
lock
,
"before upgrading lock"
,
0
);
/* TODO: Upgrade to TL_WRITE_CONCURRENT_INSERT in some cases */
...
...
sql-bench/Results/ATIS-mysql-Linux_2.2.16_SMP_alpha
View file @
f935dcf2
Testing server 'MySQL 3.23.3
6' at 2001-03-26 1:22:18
Testing server 'MySQL 3.23.3
9' at 2002-09-08 10:26:22
ATIS table test
Creating tables
Time for create_table (28): 0 wallclock secs ( 0.00 usr 0.0
0
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_table (28): 0 wallclock secs ( 0.00 usr 0.0
1
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (9768):
4 wallclock secs ( 0.57 usr 0.65
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to insert (9768):
3 wallclock secs ( 0.51 usr 0.59
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data
Time for select_simple_join (500):
1
wallclock secs ( 0.58 usr 0.37 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_join (100): 2 wallclock secs ( 0.4
4
usr 0.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key_prefix_join (100): 1
1 wallclock secs ( 3.47 usr 2.55
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_distinct (800): 1
0 wallclock secs ( 1.53 usr 0.98
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (2800): 11 wallclock secs ( 1.4
4 usr 0.65
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_simple_join (500):
2
wallclock secs ( 0.58 usr 0.37 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_join (100): 2 wallclock secs ( 0.4
8
usr 0.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key_prefix_join (100): 1
0 wallclock secs ( 3.45 usr 2.53
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_distinct (800): 1
1 wallclock secs ( 1.54 usr 0.97
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (2800): 11 wallclock secs ( 1.4
8 usr 0.63
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Removing tables
Time to drop_table (28): 0 wallclock secs ( 0.00 usr 0.0
0
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 39 wallclock secs ( 8.05 usr 5.
53
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to drop_table (28): 0 wallclock secs ( 0.00 usr 0.0
1
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 39 wallclock secs ( 8.05 usr 5.
44
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
sql-bench/Results/RUN-mysql-Linux_2.2.16_SMP_alpha
View file @
f935dcf2
This diff is collapsed.
Click to expand it.
sql-bench/Results/alter-table-mysql-Linux_2.2.16_SMP_alpha
View file @
f935dcf2
Testing server 'MySQL 3.23.3
6' at 2001-03-26 1:22:58
Testing server 'MySQL 3.23.3
9' at 2002-09-08 10:27:01
Testing of ALTER TABLE
Testing with 1000 columns and 1000 rows in 20 steps
Insert data into the table
Time for insert (1000) 0 wallclock secs ( 0.0
7 usr 0.06
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for insert (1000) 0 wallclock secs ( 0.0
5 usr 0.05
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_add (992):
219 wallclock secs ( 0.16 usr 0.07
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_add (992):
187 wallclock secs ( 0.18 usr 0.06
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_index (8): 4 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop_index (8): 4 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_drop (496): 1
78 wallclock secs ( 0.06 usr 0.04
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_drop (496): 1
50 wallclock secs ( 0.05 usr 0.05
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time:
405 wallclock secs ( 0.30 usr 0.16
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time:
345 wallclock secs ( 0.29 usr 0.17
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
sql-bench/Results/big-tables-mysql-Linux_2.2.16_SMP_alpha
View file @
f935dcf2
Testing server 'MySQL 3.23.3
6' at 2001-03-26 1:29:43
Testing server 'MySQL 3.23.3
9' at 2002-09-08 10:32:47
Testing of some unusual tables
All tests are done 1000 times with 1000 fields
Testing table with 1000 fields
Testing select * from table with 1 record
Time to select_many_fields(1000): 10 wallclock secs ( 3.
55 usr 5.04
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to select_many_fields(1000): 10 wallclock secs ( 3.
45 usr 4.65
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select all_fields from table with 1 record
Time to select_many_fields(1000): 1
5 wallclock secs ( 3.61 usr 5.0
6 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to select_many_fields(1000): 1
4 wallclock secs ( 3.39 usr 4.7
6 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert VALUES()
Time to insert_many_fields(1000): 5 wallclock secs ( 0.3
0 usr 0.09
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to insert_many_fields(1000): 5 wallclock secs ( 0.3
1 usr 0.07
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert (all_fields) VALUES()
Time to insert_many_fields(1000): 9 wallclock secs ( 0.03 usr 0.0
5
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to insert_many_fields(1000): 9 wallclock secs ( 0.03 usr 0.0
6
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time:
40 wallclock secs ( 7.49 usr 10.23
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time:
38 wallclock secs ( 7.19 usr 9.54
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
sql-bench/Results/connect-mysql-Linux_2.2.16_SMP_alpha
View file @
f935dcf2
Testing server 'MySQL 3.23.3
6' at 2001-03-26 1:30:23
Testing server 'MySQL 3.23.3
9' at 2002-09-08 10:33:26
Testing the speed of connecting to the server and sending of data
All tests are done 10000 times
Testing connection/disconnect
Time to connect (10000): 14 wallclock secs (
7.60 usr 2.34
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to connect (10000): 14 wallclock secs (
8.11 usr 2.28
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test connect/simple select/disconnect
Time for connect+select_simple (10000): 16 wallclock secs (
7.88 usr 3.28
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for connect+select_simple (10000): 16 wallclock secs (
8.44 usr 2.99
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test simple select
Time for select_simple (10000): 1 wallclock secs ( 0.
33 usr 0.77
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_simple (10000): 1 wallclock secs ( 0.
29 usr 0.81
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing connect/select 1 row from table/disconnect
Time to connect+select_1_row (10000): 17 wallclock secs ( 8.
25 usr 3.12
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to connect+select_1_row (10000): 17 wallclock secs ( 8.
45 usr 3.08
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 1 row from table
Time to select_1_row (10000): 3 wallclock secs ( 0.
30 usr 0.80
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to select_1_row (10000): 3 wallclock secs ( 0.
28 usr 0.85
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 2 rows from table
Time to select_2_rows (10000):
2 wallclock secs ( 0.32 usr 0.95
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to select_2_rows (10000):
3 wallclock secs ( 0.37 usr 0.91
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test select with aritmetic (+)
Time for select_column+column (10000): 3 wallclock secs ( 0.31 usr 0.7
9
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_column+column (10000): 3 wallclock secs ( 0.31 usr 0.7
1
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing retrieval of big records (65000 bytes)
Time to select_big
(10000): 20 wallclock secs ( 8.34 usr 6.75
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to select_big
_str (10000): 19 wallclock secs ( 7.79 usr 6.10
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 76 wallclock secs (3
3.34 usr 18.80
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 76 wallclock secs (3
4.04 usr 17.73
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
sql-bench/Results/create-mysql-Linux_2.2.16_SMP_alpha
View file @
f935dcf2
Testing server 'MySQL 3.23.3
6' at 2001-03-26 1:31:40
Testing server 'MySQL 3.23.3
9' at 2002-09-08 10:34:42
Testing the speed of creating and droping tables
Testing with 10000 tables and 10000 loop count
Testing create of tables
Time for create_MANY_tables (10000): 1
04 wallclock secs ( 1.76 usr 0.73
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_MANY_tables (10000): 1
83 wallclock secs ( 1.96 usr 0.78
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Accessing tables
Time to select_group_when_MANY_tables (10000):
6 wallclock secs ( 0.95 usr 0.90
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to select_group_when_MANY_tables (10000):
7 wallclock secs ( 0.99 usr 0.95
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing drop
Time for drop_table_when_MANY_tables (10000):
7 wallclock secs ( 0.64 usr 0.63
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop_table_when_MANY_tables (10000):
6 wallclock secs ( 0.61 usr 0.57
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing create+drop
Time for create+drop (10000): 1
3 wallclock secs ( 2.39 usr 1.35
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_key+drop (10000): 17 wallclock secs ( 4.0
0
usr 1.40 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time:
147 wallclock secs ( 9.75 usr 5.02
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create+drop (10000): 1
2 wallclock secs ( 2.44 usr 1.26
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_key+drop (10000): 17 wallclock secs ( 4.0
3
usr 1.40 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time:
225 wallclock secs (10.03 usr 4.95
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
sql-bench/Results/insert-mysql-Linux_2.2.16_SMP_alpha
View file @
f935dcf2
This diff is collapsed.
Click to expand it.
sql-bench/Results/select-mysql-Linux_2.2.16_SMP_alpha
View file @
f935dcf2
Testing server 'MySQL 3.23.3
6' at 2001-03-26 2:12:47
Testing server 'MySQL 3.23.3
9' at 2002-09-08 11:16:28
Testing the speed of selecting on keys that consist of many parts
The test-table has 10000 rows and the test is done with 500 ranges.
Creating table
Inserting 10000 rows
Time to insert (10000): 4 wallclock secs ( 0.
81 usr 0.63
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to insert (10000): 4 wallclock secs ( 0.
71 usr 0.65
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test if the database has a query cache
Time for select_query_cache (10000): 82 wallclock secs ( 3.
31 usr 1.00
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_query_cache (10000): 82 wallclock secs ( 3.
53 usr 0.98
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_query_cache2 (10000): 8
3 wallclock secs ( 3.20 usr 0.96
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_query_cache2 (10000): 8
4 wallclock secs ( 3.50 usr 1.01
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing big selects on the table
Time for select_big (70:17207):
1
wallclock secs ( 0.12 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (410:1057904): 2
25 wallclock secs ( 7.61 usr 5.12
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (70000): 155 wallclock secs (2
1.44 usr 6.55
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (50000): 3
55 wallclock secs (16.27 usr 4.6
9 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_big (70:17207):
0
wallclock secs ( 0.12 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (410:1057904): 2
30 wallclock secs ( 7.50 usr 5.11
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (70000): 155 wallclock secs (2
2.55 usr 6.20
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (50000): 3
49 wallclock secs (17.12 usr 4.5
9 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_group_on_key_parts (1000:100000):
42 wallclock secs ( 0.94 usr 0.56
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_group_on_key_parts (1000:100000):
38 wallclock secs ( 0.89 usr 0.59
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing count(distinct) on the table
Time for count_distinct_key_prefix (1000:1000):
38 wallclock secs ( 0.39 usr 0.12
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct (1000:1000):
48 wallclock secs ( 0.40 usr 0.10
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_2 (1000:1000):
50 wallclock secs ( 0.42 usr 0.12
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key (1000:6000): 4
2 wallclock secs ( 0.42 usr 0.15
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key_parts (1000:100000): 7
0 wallclock secs ( 0.97 usr 0.59
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group (1000:100000):
69 wallclock secs ( 0.98 usr 0.61
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (100:1000000): 8
2 wallclock secs ( 6.04 usr 7.21
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 13
46 wallclock secs (63.34 usr 28.50
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_key_prefix (1000:1000):
41 wallclock secs ( 0.42 usr 0.13
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct (1000:1000):
51 wallclock secs ( 0.44 usr 0.11
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_2 (1000:1000):
49 wallclock secs ( 0.41 usr 0.14
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key (1000:6000): 4
7 wallclock secs ( 0.45 usr 0.14
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key_parts (1000:100000): 7
5 wallclock secs ( 0.98 usr 0.61
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group (1000:100000):
75 wallclock secs ( 0.97 usr 0.60
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (100:1000000): 8
0 wallclock secs ( 6.08 usr 6.96
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 13
60 wallclock secs (65.68 usr 27.91
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
sql-bench/Results/wisconsin-mysql-Linux_2.2.16_SMP_alpha
View file @
f935dcf2
Testing server 'MySQL 3.23.3
6' at 2001-03-26 2:35:13
Testing server 'MySQL 3.23.3
9' at 2002-09-08 11:39:09
Wisconsin benchmark test
Time for create_table (3): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (31000): 1
5 wallclock secs ( 2.39 usr 2.3
0 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to delete_big (1):
0
wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to insert (31000): 1
4 wallclock secs ( 2.17 usr 2.1
0 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to delete_big (1):
1
wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Running actual benchmark
Time for wisc_benchmark (114):
4 wallclock secs ( 1.59 usr 0.88
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for wisc_benchmark (114):
3 wallclock secs ( 1.61 usr 0.89
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1
9 wallclock secs ( 3.99 usr 3.17
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1
8 wallclock secs ( 3.78 usr 3.00
sys + 0.00 cusr 0.00 csys = 0.00 CPU)
sql/ha_berkeley.cc
View file @
f935dcf2
...
...
@@ -351,7 +351,8 @@ berkeley_cmp_hidden_key(DB* file, const DBT *new_key, const DBT *saved_key)
static
int
berkeley_cmp_packed_key
(
DB
*
file
,
const
DBT
*
new_key
,
const
DBT
*
saved_key
)
{
KEY
*
key
=
(
KEY
*
)
(
file
->
app_private
);
KEY
*
key
=
(
new_key
->
app_private
?
(
KEY
*
)
new_key
->
app_private
:
(
KEY
*
)
(
file
->
app_private
));
char
*
new_key_ptr
=
(
char
*
)
new_key
->
data
;
char
*
saved_key_ptr
=
(
char
*
)
saved_key
->
data
;
KEY_PART_INFO
*
key_part
=
key
->
key_part
,
*
end
=
key_part
+
key
->
key_parts
;
...
...
@@ -388,7 +389,8 @@ berkeley_cmp_packed_key(DB *file, const DBT *new_key, const DBT *saved_key)
static
int
berkeley_cmp_fix_length_key
(
DB
*
file
,
const
DBT
*
new_key
,
const
DBT
*
saved_key
)
{
KEY
*
key
=
(
KEY
*
)
(
file
->
app_private
);
KEY
*
key
=
(
new_key
->
app_private
?
(
KEY
*
)
new_key
->
app_private
:
(
KEY
*
)
(
file
->
app_private
));
char
*
new_key_ptr
=
(
char
*
)
new_key
->
data
;
char
*
saved_key_ptr
=
(
char
*
)
saved_key
->
data
;
KEY_PART_INFO
*
key_part
=
key
->
key_part
,
*
end
=
key_part
+
key
->
key_parts
;
...
...
@@ -730,9 +732,9 @@ DBT *ha_berkeley::create_key(DBT *key, uint keynr, char *buff,
const
byte
*
record
,
int
key_length
)
{
bzero
((
char
*
)
key
,
sizeof
(
*
key
));
if
(
hidden_primary_key
&&
keynr
==
primary_key
)
{
/* We don't need to set app_private here */
key
->
data
=
current_ident
;
key
->
size
=
BDB_HIDDEN_PRIMARY_KEY_LENGTH
;
return
key
;
...
...
@@ -744,6 +746,7 @@ DBT *ha_berkeley::create_key(DBT *key, uint keynr, char *buff,
DBUG_ENTER
(
"create_key"
);
key
->
data
=
buff
;
key
->
app_private
=
key_info
;
for
(
;
key_part
!=
end
&&
key_length
>
0
;
key_part
++
)
{
if
(
key_part
->
null_bit
)
...
...
@@ -777,10 +780,11 @@ DBT *ha_berkeley::pack_key(DBT *key, uint keynr, char *buff,
KEY
*
key_info
=
table
->
key_info
+
keynr
;
KEY_PART_INFO
*
key_part
=
key_info
->
key_part
;
KEY_PART_INFO
*
end
=
key_part
+
key_info
->
key_parts
;
DBUG_ENTER
(
"
pack_key2
"
);
DBUG_ENTER
(
"
bdb:pack_key
"
);
bzero
((
char
*
)
key
,
sizeof
(
*
key
));
key
->
data
=
buff
;
key
->
app_private
=
(
void
*
)
key_info
;
for
(;
key_part
!=
end
&&
(
int
)
key_length
>
0
;
key_part
++
)
{
...
...
@@ -1373,6 +1377,7 @@ int ha_berkeley::read_row(int error, char *buf, uint keynr, DBT *row,
bzero
((
char
*
)
&
key
,
sizeof
(
key
));
key
.
data
=
key_buff
;
key
.
size
=
row
->
size
;
key
.
app_private
=
(
void
*
)
(
table
->
key_info
+
primary_key
);
memcpy
(
key_buff
,
row
->
data
,
row
->
size
);
/* Read the data into current_row */
current_row
.
flags
=
DB_DBT_REALLOC
;
...
...
@@ -1537,6 +1542,7 @@ int ha_berkeley::rnd_next(byte *buf)
DBT
*
ha_berkeley
::
get_pos
(
DBT
*
to
,
byte
*
pos
)
{
/* We don't need to set app_private here */
bzero
((
char
*
)
to
,
sizeof
(
*
to
));
to
->
data
=
pos
;
...
...
@@ -1950,6 +1956,7 @@ longlong ha_berkeley::get_auto_increment()
table
->
next_number_key_offset
);
/* Store for compare */
memcpy
(
old_key
.
data
=
key_buff2
,
key_buff
,
(
old_key
.
size
=
last_key
.
size
));
old_key
.
app_private
=
(
void
*
)
key_info
;
error
=
1
;
{
/* Modify the compare so that we will find the next key */
...
...
sql/mysqld.cc
View file @
f935dcf2
...
...
@@ -3605,6 +3605,7 @@ static void get_options(int argc,char **argv)
break
;
case
OPT_LOW_PRIORITY_UPDATES
:
thd_startup_options
|=
OPTION_LOW_PRIORITY_UPDATES
;
thr_upgraded_concurrent_insert_lock
=
TL_WRITE_LOW_PRIORITY
;
low_priority_updates
=
1
;
break
;
case
OPT_BOOTSTRAP
:
...
...
sql/slave.cc
View file @
f935dcf2
...
...
@@ -1331,6 +1331,8 @@ pthread_handler_decl(handle_slave,arg __attribute__((unused)))
thd
->
thread_stack
=
(
char
*
)
&
thd
;
// remember where our stack is
thd
->
temporary_tables
=
save_temporary_tables
;
// restore temp tables
threads
.
append
(
thd
);
glob_mi
.
pending
=
0
;
//this should always be set to 0 when the slave thread
// is started
DBUG_PRINT
(
"info"
,(
"master info: log_file_name=%s, position=%s"
,
glob_mi
.
log_file_name
,
llstr
(
glob_mi
.
pos
,
llbuff
)));
...
...
sql/sql_class.h
View file @
f935dcf2
...
...
@@ -482,12 +482,13 @@ class select_insert :public select_result {
uint
save_time_stamp
;
ulonglong
last_insert_id
;
COPY_INFO
info
;
bool
unions
;
select_insert
(
TABLE
*
table_par
,
List
<
Item
>
*
fields_par
,
enum_duplicates
duplic
)
select_insert
(
TABLE
*
table_par
,
List
<
Item
>
*
fields_par
,
enum_duplicates
duplic
,
bool
u
=
false
)
:
table
(
table_par
),
fields
(
fields_par
),
save_time_stamp
(
0
),
last_insert_id
(
0
)
{
bzero
((
char
*
)
&
info
,
sizeof
(
info
));
info
.
handle_duplicates
=
duplic
;
info
.
handle_duplicates
=
duplic
;
unions
=
u
;
}
~
select_insert
();
int
prepare
(
List
<
Item
>
&
list
);
...
...
@@ -512,8 +513,8 @@ class select_create: public select_insert {
HA_CREATE_INFO
*
create_info_par
,
List
<
create_field
>
&
fields_par
,
List
<
Key
>
&
keys_par
,
List
<
Item
>
&
select_fields
,
enum_duplicates
duplic
)
:
select_insert
(
NULL
,
&
select_fields
,
duplic
),
db
(
db_name
),
List
<
Item
>
&
select_fields
,
enum_duplicates
duplic
,
bool
u
=
false
)
:
select_insert
(
NULL
,
&
select_fields
,
duplic
,
u
),
db
(
db_name
),
name
(
table_name
),
extra_fields
(
&
fields_par
),
keys
(
&
keys_par
),
create_info
(
create_info_par
),
lock
(
0
)
...
...
sql/sql_insert.cc
View file @
f935dcf2
...
...
@@ -871,6 +871,7 @@ static pthread_handler_decl(handle_delayed_insert,arg)
/* Add thread to THD list so that's it's visible in 'show processlist' */
pthread_mutex_lock
(
&
LOCK_thread_count
);
thd
->
thread_id
=
thread_id
++
;
thd
->
end_time
();
threads
.
append
(
thd
);
pthread_mutex_unlock
(
&
LOCK_thread_count
);
...
...
@@ -1318,7 +1319,8 @@ bool select_insert::send_eof()
thd
->
cuted_fields
);
if
(
last_insert_id
)
thd
->
insert_id
(
last_insert_id
);
// For update log
::
send_ok
(
&
thd
->
net
,
info
.
copied
,
last_insert_id
,
buff
);
if
(
!
unions
)
::
send_ok
(
&
thd
->
net
,
info
.
copied
,
last_insert_id
,
buff
);
mysql_update_log
.
write
(
thd
,
thd
->
query
,
thd
->
query_length
);
if
(
mysql_bin_log
.
is_open
())
{
...
...
@@ -1400,7 +1402,9 @@ bool select_create::send_eof()
mysql_unlock_tables
(
thd
,
lock
);
if
(
!
table
->
tmp_table
)
hash_delete
(
&
open_cache
,(
byte
*
)
table
);
lock
=
0
;
table
=
0
;
lock
=
0
;
if
(
!
unions
)
table
=
0
;
VOID
(
pthread_mutex_unlock
(
&
LOCK_open
));
}
return
tmp
;
...
...
sql/sql_parse.cc
View file @
f935dcf2
...
...
@@ -1754,7 +1754,15 @@ mysql_execute_command(void)
break
;
}
if
(
!
(
res
=
open_and_lock_tables
(
thd
,(
TABLE_LIST
*
)
total
->
first
)))
{
/* Fix tables--to-be-unioned-from list to point at opened tables */
for
(
SELECT_LEX
*
sl
=&
lex
->
select_lex
;
sl
;
sl
=
sl
->
next
)
{
for
(
TABLE_LIST
*
cursor
=
(
TABLE_LIST
*
)
sl
->
table_list
.
first
;
cursor
;
cursor
=
cursor
->
next
)
cursor
->
table
=
((
TABLE_LIST
*
)
cursor
->
table
)
->
table
;
}
res
=
mysql_union
(
thd
,
lex
,
select_lex
->
select_number
+
1
);
}
close_thread_tables
(
thd
);
break
;
}
...
...
@@ -2894,11 +2902,12 @@ TABLE_LIST *add_table_to_list(Table_ident *table, LEX_STRING *alias,
static
int
link_in_large_list_and_check_acl
(
THD
*
thd
,
LEX
*
lex
,
SQL_LIST
*
tables
)
{
SELECT_LEX
*
sl
;
const
char
*
current_db
=
thd
->
db
?
thd
->
db
:
""
;
TABLE_LIST
*
ptr
;
for
(
sl
=&
lex
->
select_lex
;
sl
;
sl
=
sl
->
next
)
{
if
((
lex
->
sql_command
==
SQLCOM_UNION_SELECT
)
&&
(
sl
->
order_list
.
first
!=
(
byte
*
)
NULL
)
&&
(
sl
->
next
!=
(
st_select_lex
*
)
NULL
))
{
net_printf
(
&
thd
->
net
,
ER_ILLEGAL_GRANT_FOR_TABLE
);
// correct error message will come here; only last SELEC
t
can have ORDER BY
net_printf
(
&
thd
->
net
,
ER_ILLEGAL_GRANT_FOR_TABLE
);
// correct error message will come here; only last SELEC
T
can have ORDER BY
return
-
1
;
}
if
(
sl
->
table_list
.
first
==
(
byte
*
)
NULL
)
continue
;
...
...
@@ -2919,7 +2928,15 @@ static int link_in_large_list_and_check_acl(THD *thd,LEX *lex,SQL_LIST *tables)
aux
->
lock_type
=
lex
->
lock_option
;
if
(
!
tables
->
next
)
tables
->
next
=
(
byte
**
)
&
tables
->
first
;
link_in_list
(
tables
,(
byte
*
)
aux
,(
byte
**
)
&
aux
->
next
);
if
(
!
(
ptr
=
(
TABLE_LIST
*
)
thd
->
calloc
(
sizeof
(
TABLE_LIST
))))
return
1
;
ptr
->
db
=
aux
->
db
;
ptr
->
real_name
=
aux
->
real_name
;
ptr
->
name
=
aux
->
name
;
ptr
->
lock_type
=
aux
->
lock_type
;
ptr
->
updating
=
aux
->
updating
;
ptr
->
use_index
=
aux
->
use_index
;
ptr
->
ignore_index
=
aux
->
use_index
;
aux
->
table
=
(
TABLE
*
)
ptr
;
link_in_list
(
tables
,(
byte
*
)
ptr
,(
byte
**
)
&
ptr
->
next
);
}
}
}
...
...
sql/sql_unions.cc
View file @
f935dcf2
...
...
@@ -29,7 +29,8 @@
int
mysql_union
(
THD
*
thd
,
LEX
*
lex
,
uint
no_of_selects
)
{
SELECT_LEX
*
sl
,
*
for_order
=&
lex
->
select_lex
;
uint
no
=
0
;
int
res
=
0
;
List
<
Item
>
fields
;
TABLE
*
table
=
(
TABLE
*
)
NULL
;
TABLE_LIST
*
resulting
=
(
TABLE_LIST
*
)
NULL
;
select_create
*
create_result
;
List
<
Item
>
fields
;
TABLE
*
table
=
(
TABLE
*
)
NULL
;
TABLE_LIST
*
resulting
=
(
TABLE_LIST
*
)
NULL
;
for
(;
for_order
->
next
;
for_order
=
for_order
->
next
);
ORDER
*
some_order
=
(
ORDER
*
)
for_order
->
order_list
.
first
;
for
(
sl
=&
lex
->
select_lex
;
sl
;
sl
=
sl
->
next
,
no
++
)
...
...
@@ -37,102 +38,110 @@ int mysql_union(THD *thd,LEX *lex,uint no_of_selects)
TABLE_LIST
*
tables
=
(
TABLE_LIST
*
)
sl
->
table_list
.
first
;
if
(
!
no
)
// First we do CREATE from SELECT
{
select_create
*
result
;
lex
->
create_info
.
options
=
HA_LEX_CREATE_TMP_TABLE
;
if
((
result
=
new
select_create
(
tables
->
db
?
tables
->
db
:
thd
->
db
,
NULL
,
&
lex
->
create_info
,
lex
->
create_info
.
db_type
=
DB_TYPE_MYISAM
;
lex
->
create_info
.
row_type
=
ROW_TYPE_DEFAULT
;
lex
->
create_info
.
avg_row_length
=
0
;
lex
->
create_info
.
max_rows
=
INT_MAX
;
lex
->
create_info
.
min_rows
=
0
;
lex
->
create_info
.
comment
=
lex
->
create_info
.
password
=
NullS
;
lex
->
create_info
.
data_file_name
=
lex
->
create_info
.
index_file_name
=
NullS
;
lex
->
create_info
.
raid_type
=
lex
->
create_info
.
raid_chunks
=
0
;
lex
->
create_info
.
raid_chunksize
=
0
;
lex
->
create_info
.
if_not_exists
=
false
;
lex
->
create_info
.
used_fields
=
0
;
if
((
create_result
=
new
select_create
(
tables
->
db
?
tables
->
db
:
thd
->
db
,
"ZVEK"
,
&
lex
->
create_info
,
lex
->
create_list
,
lex
->
key_list
,
sl
->
item_list
,
DUP_IGNORE
)))
sl
->
item_list
,
DUP_IGNORE
,
true
)))
{
res
=
mysql_select
(
thd
,
tables
,
sl
->
item_list
,
sl
->
where
,
sl
->
ftfunc_list
,
(
ORDER
*
)
NULL
,
(
ORDER
*
)
sl
->
group_list
.
first
,
sl
->
having
,
(
ORDER
*
)
some_order
,
sl
->
options
|
thd
->
options
,
result
);
if
(
res
)
{
result
->
abort
();
delete
result
;
return
res
;
}
table
=
result
->
table
;
List_iterator
<
Item
>
it
(
*
(
result
->
fields
));
Item
*
item
;
while
((
item
=
it
++
))
fields
.
push_back
(
item
);
delete
result
;
if
(
!
reopen_table
(
table
))
return
1
;
if
(
!
(
resulting
=
(
TABLE_LIST
*
)
thd
->
calloc
(
sizeof
(
TABLE_LIST
))))
return
1
;
resulting
->
db
=
tables
->
db
?
tables
->
db
:
thd
->
db
;
resulting
->
real_name
=
table
->
real_name
;
resulting
->
name
=
table
->
table_name
;
resulting
->
table
=
table
;
res
=
mysql_select
(
thd
,
tables
,
sl
->
item_list
,
sl
->
where
,
sl
->
ftfunc_list
,
(
ORDER
*
)
NULL
,
(
ORDER
*
)
sl
->
group_list
.
first
,
sl
->
having
,
(
ORDER
*
)
some_order
,
sl
->
options
|
thd
->
options
,
create_result
);
if
(
res
)
{
create_result
->
abort
();
delete
create_result
;
return
res
;
}
table
=
create_result
->
table
;
List_iterator
<
Item
>
it
(
*
(
create_result
->
fields
));
Item
*
item
;
while
((
item
=
it
++
))
fields
.
push_back
(
item
);
if
(
!
(
resulting
=
(
TABLE_LIST
*
)
thd
->
calloc
(
sizeof
(
TABLE_LIST
))))
return
1
;
resulting
->
db
=
tables
->
db
?
tables
->
db
:
thd
->
db
;
resulting
->
real_name
=
table
->
real_name
;
resulting
->
name
=
table
->
table_name
;
resulting
->
table
=
table
;
}
else
return
-
1
;
return
-
1
;
}
else
// Then we do INSERT from SELECT
{
select_result
*
result
;
if
((
result
=
new
select_insert
(
table
,
&
fields
,
DUP_IGNORE
)))
if
((
result
=
new
select_insert
(
table
,
&
fields
,
DUP_IGNORE
,
true
)))
{
res
=
mysql_select
(
thd
,
tables
,
sl
->
item_list
,
sl
->
where
,
res
=
mysql_select
(
thd
,
tables
,
sl
->
item_list
,
sl
->
where
,
sl
->
ftfunc_list
,
(
ORDER
*
)
some_order
,
(
ORDER
*
)
sl
->
group_list
.
first
,
sl
->
having
,
(
ORDER
*
)
NULL
,
sl
->
options
|
thd
->
options
,
result
);
delete
result
;
if
(
res
)
return
1
;
(
ORDER
*
)
some_order
,
(
ORDER
*
)
sl
->
group_list
.
first
,
sl
->
having
,
(
ORDER
*
)
NULL
,
sl
->
options
|
thd
->
options
,
result
);
delete
result
;
if
(
res
)
{
delete
create_result
;
return
1
;
}
}
else
return
-
1
;
{
delete
create_result
;
return
-
1
;
}
}
}
select_result
*
result
;
List
<
Item
>
item_list
;
List
<
Item_func_match
>
ftfunc_list
;
ftfunc_list
.
empty
();
if
(
item_list
.
push_back
(
new
Item_field
(
NULL
,
NULL
,
"*"
)))
return
-
1
;
void
(
item_list
.
push_back
(
new
Item_field
(
NULL
,
NULL
,
"*"
)));
if
(
lex
->
exchange
)
{
if
(
lex
->
exchange
->
dumpfile
)
{
if
(
!
(
result
=
new
select_dump
(
lex
->
exchange
)))
return
-
1
;
}
result
=
new
select_dump
(
lex
->
exchange
);
else
{
if
(
!
(
result
=
new
select_export
(
lex
->
exchange
)))
return
-
1
;
}
result
=
new
select_export
(
lex
->
exchange
);
}
else
if
(
!
(
result
=
new
select_send
()))
return
-
1
;
else
else
result
=
new
select_send
();
if
(
result
)
{
res
=
mysql_select
(
thd
,
resulting
,
item_list
,
NULL
,
ftfunc_list
,
(
ORDER
*
)
NULL
,
(
ORDER
*
)
NULL
,
NULL
,
(
ORDER
*
)
NULL
,
thd
->
options
,
result
);
NULL
,
ftfunc_list
,
(
ORDER
*
)
NULL
,
(
ORDER
*
)
NULL
,
NULL
,
(
ORDER
*
)
NULL
,
thd
->
options
,
result
);
if
(
res
)
result
->
abort
();
delete
result
;
}
delete
result
;
delete
create_
result
;
return
res
;
}
support-files/debian/README.debian
View file @
f935dcf2
...
...
@@ -18,6 +18,15 @@ Comments regarding the Package
mysql-server-debug:
--with-debug flag. mysqld only. (/usr/sbin/mysqld-debug)
* about MySQL-Max packages:
mysql-max :
this is static linked MySQL-Max server only. (/usr/sbin/mysqld-max-static).
mysql-max-shared:
this is dynamic linked MySQL server only. (/usr/sbin/mysqld-max-shared)
mysql-max-debug:
--with-debug flag. mysqld only. (/usr/sbin/mysqld-max-debug)
* about charset
I build MySQL server --with-extra-charsets=all
...
...
support-files/debian/changelog
View file @
f935dcf2
mysql (3.23.23-1potato.2) unstable; urgency=low
mysql (3.23.39-1) unstable; urgency=low
* new
-- takeshi <takeshi@softagency.co.jp> Sat, 12 May 2001 05:07:35 +0900
mysql (3.23.38-1potato) unstable; urgency=low
* new
-- takeshi <takeshi@softagency.co.jp> Sat, 12 May 2001 05:07:35 +0900
mysql (3.23.37-1potato.2) unstable; urgency=low
* new
* add mysql-max multi packages.
-- takeshi <takeshi@softagency.co.jp> Thr, 26 Apr 2001 05:07:35 +0900
mysql (3.23.37-1potato) unstable; urgency=low
* new
-- takeshi <takeshi@softagency.co.jp> Thr, 26 Apr 2001 05:07:35 +0900
mysql (3.23.36-1potato) unstable; urgency=low
* new
-- takeshi <takeshi@softagency.co.jp> Thr, 29 Mar 2001 05:07:35 +0900
mysql (3.23.35-1potato.1) unstable; urgency=low
* sql fix patch
-- takeshi <takeshi@softagency.co.jp> Thr, 22 Mar 2001 05:07:35 +0900
mysql (3.23.35-1potato) unstable; urgency=low
* new
* --with-innobase
-- takeshi <takeshi@softagency.co.jp> Sat, 17 Mar 2001 05:07:35 +0900
mysql (3.23.34a-1potato) unstable; urgency=low
* new
* --with-innobase
-- takeshi <takeshi@softagency.co.jp> Wed, 14 Mar 2001 05:07:35 +0900
mysql (3.23.33-1potato) unstable; urgency=low
* new
-- takeshi <takeshi@softagency.co.jp> Tue, 13 Feb 2001 05:07:35 +0900
mysql (3.23.32-1potato) unstable; urgency=low
* new
-- takeshi <takeshi@softagency.co.jp> Tue, 23 Jan 2001 05:07:35 +0900
mysql (3.23.31-1potato) unstable; urgency=low
* new
-- takeshi <takeshi@softagency.co.jp> Fri, 19 Jan 2001 05:07:35 +0900
mysql (3.23.30-gamma-1potato) unstable; urgency=low
* new
-- takeshi <takeshi@softagency.co.jp> Sat, 6 Jan 2001 05:07:35 +0900
mysql (3.23.29a-gamma-1potato.3) unstable; urgency=low
* server:/usr/sbin/{mysql_config, mysqltest} -> client:/usr/bin/
* server:/usr/bin/my_print_defaults -> client:/usr/bin/
* /usr/mysql-test -> mysql-bench /var/mysql/mysql-test
-- takeshi <takeshi@softagency.co.jp> Fri, 29 Dec 2000 05:07:35 +0900
mysql (3.23.29a-gamma-1potato.2) unstable; urgency=low
* /usr/mysql-test -> mysql-bench /var/mysql/mysql-test
-- takeshi <takeshi@softagency.co.jp> Sun, 17 Dec 2000 05:07:35 +0900
mysql (3.23.29a-gamma-1potato) unstable; urgency=low
* new
-- takeshi <takeshi@softagency.co.jp> Sun, 17 Dec 2000 05:07:35 +0900
mysql (3.23.28-gamma-1potato) unstable; urgency=low
* new
-- takeshi <takeshi@softagency.co.jp> Fri, 24 Nov 2000 05:07:35 +0900
mysql (3.23.27-beta-1potato) unstable; urgency=low
* new
-- takeshi <takeshi@softagency.co.jp> Fri, 28 Oct 2000 05:07:35 +0900
mysql (3.23.26-beta-1potato) unstable; urgency=low
* new
-- takeshi <takeshi@softagency.co.jp> Sun, 22 Oct 2000 05:07:35 +0900
mysql (3.23.25-beta-1potato) unstable; urgency=low
* new , libmysqlclient10
* change debian/control file. remove Provides keyword
-- takeshi <takeshi@softagency.co.jp> Fri, 29 Sep 2000 05:07:35 +0900
mysql (3.23.24-1potato.2) unstable; urgency=low
* fix debian/control file
* move patch into debian/patches/
if you want to make new patch,
write patch file and put it into debian/patches/.
debian/rules do patch debian/patches/* automatically.
* change debian/rules , debian/move
* back mysql_resolveip -> resolveip , mysql_perror -> perror
-- takeshi <takeshi@softagency.co.jp> Thr, 14 Sep 2000 05:07:35 +0900
mysql (3.23.24-1potato) unstable; urgency=low
* move patch into debian/patches/
if you want to make new patch,
write patch file and put it into debian/patches/.
debian/rules do patch debian/patches/* automatically.
* change debian/rules , debian/move
* back mysql_resolveip -> resolveip , mysql_perror -> perror
-- takeshi <takeshi@softagency.co.jp>
Tue, 5
Sep 2000 05:07:35 +0900
-- takeshi <takeshi@softagency.co.jp>
Sat, 9
Sep 2000 05:07:35 +0900
mysql (3.23.23-1potato) unstable; urgency=low
...
...
support-files/debian/control
View file @
f935dcf2
...
...
@@ -11,38 +11,44 @@ Description: mysql
Package: mysql-doc
Architecture: all
Section: doc
Priority: extra
Replaces: mysql-gpl-doc
Description: mysql Documentation (html)
MySQL Doc.
Package: libmysqlclient
9
Package: libmysqlclient
10
Architecture: any
Provides: libmysqlclient9
Description: libmysqlclient.so.9
libmysqlclient.so.9
Section: libs
Priority: extra
Description: libmysqlclient.so.10
libmysqlclient.so.10
Package: mysql-client
Architecture: any
Depends: ${shlibs:Depends}
Section:
devel
Section:
misc
Priority: extra
Conflicts: mysql-client-ujis, mysql-client-sjis
Replaces: mysql-base (<< 3.22.11), mysql-base-ujis (<< 3.22.11), mysql-base-sjis (<< 3.22.11), mysql-client-ujis, mysql-client-sjis
Provides: mysql-client
Replaces: mysql-gpl-client, mysql-base (<< 3.22.11), mysql-base-ujis (<< 3.22.11), mysql-base-sjis (<< 3.22.11), mysql-client-ujis, mysql-client-sjis
Description: mysql clients.
MySQL clients programs.
Package: mysql-server
Architecture: any
Section: misc
Priority: extra
Depends: ${shlibs:Depends}
Conflicts: mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
Replaces: mysql-server-sjis, mysql-base (<< 3.22.11), mysql-base-ujis (<< 3.22.11), mysql-base-sjis (<< 3.22.11), mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
Provides: mysql-server
Replaces: mysql-server-sjis, mysql-base (<< 3.22.11), mysql-base-ujis (<< 3.22.11), mysql-base-sjis (<< 3.22.11), mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0), mysql-common
Description: MySQL server (static linked)
MySQL server. static linked.
Package: mysql-server-shared
Architecture: any
Depends: ${shlibs:Depends}
Section: misc
Priority: extra
Depends: mysql-server, ${shlibs:Depends}
Conflicts: mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
Replaces: mysql-server-sjis, mysql-base (<< 3.22.11), mysql-base-ujis (<< 3.22.11), mysql-base-sjis (<< 3.22.11), mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
Description: MySQL server (dynamic linked)
...
...
@@ -50,22 +56,57 @@ Description: MySQL server (dynamic linked)
Package: mysql-server-debug
Architecture: any
Depends: ${shlibs:Depends}
Section: misc
Priority: extra
Depends: mysql-server, ${shlibs:Depends}
Conflicts: mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
Replaces: mysql-server-sjis, mysql-base (<< 3.22.11), mysql-base-ujis (<< 3.22.11), mysql-base-sjis (<< 3.22.11), mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
Description: MySQL server debug
MySQL server. debug
Package: mysql-max
Architecture: any
Section: misc
Priority: extra
Depends: mysql-server
Conflicts: mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
Replaces: mysql-server-sjis, mysql-base (<< 3.22.11), mysql-base-ujis (<< 3.22.11), mysql-base-sjis (<< 3.22.11), mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
Description: MySQL-MAX server (static linked)
MySQL-Max server. (static linked)
Package: mysql-max-shared
Architecture: any
Section: misc
Priority: extra
Depends: mysql-server, ${shlibs:Depends}
Conflicts: mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
Replaces: mysql-server-sjis, mysql-base (<< 3.22.11), mysql-base-ujis (<< 3.22.11), mysql-base-sjis (<< 3.22.11), mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
Description: MySQL-MAX server (shared linked)
MySQL-Max server. (shared linked)
Package: mysql-max-debug
Architecture: any
Section: misc
Priority: extra
Depends: mysql-server, ${shlibs:Depends}
Conflicts: mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
Replaces: mysql-server-sjis, mysql-base (<< 3.22.11), mysql-base-ujis (<< 3.22.11), mysql-base-sjis (<< 3.22.11), mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
Description: MySQL-MAX server (with debug shared linked)
MySQL-Max server. (with debug and shared linked)
Package: mysql-dev
Architecture: any
Section: devel
Priority: extra
Depends: ${shlibs:Depends}
Conflicts: mysql-dev-sjis, mysql-dev-ujis
Replaces: mysql-dev-sjis, mysql-dev-ujis, libmysqlclient6-ujis, libmysqlclient6-sjis
Provides: mysql-dev
Replaces: mysql-devel, libmysqlclient10-dev, libmysqlclient9-dev, libmysqlclient6-dev, mysql-gpl-dev, mysql-dev-sjis, mysql-dev-ujis, libmysqlclient6-ujis, libmysqlclient6-sjis
Description: MySQL develop suite
MySQL develop.
Package: mysql-bench
Architecture: all
Section: misc
Priority: extra
Description: mysql benchmark suite.
MySQL sql-bench files.
support-files/debian/gomi
View file @
f935dcf2
Docs/Makefile
strings/Makefile
dbug/Makefile
mysys/Makefile
extra/Makefile
regex/Makefile
isam/Makefile
heap/Makefile
isam/Makefile
merge/Makefile
mysys/Makefile
readline/Makefile
regex/Makefile
sql/Makefile
sql/share/Makefile
strings/Makefile
support-files/binary-configure
support-files/my-example.cnf
support-files/mysql-log-rotate
...
...
support-files/debian/libmysqlclient10.dirs
0 → 100644
View file @
f935dcf2
usr/lib
support-files/debian/libmysqlclient10.postinst
0 → 100644
View file @
f935dcf2
#!/bin/sh
ldconfig
support-files/debian/move
View file @
f935dcf2
...
...
@@ -7,7 +7,7 @@ if [ -e $STAMPFILE ]; then
fi
#----------
CLIENT1
=
"msql2mysql mysql mysql_convert_table_format mysql_find_rows mysql_fix_privilege_tables mysql_setpermission mysql_zap mysqlaccess mysqladmin mysqlbug mysqldump mysqlhotcopy mysqlimport mysqlshow"
CLIENT1
=
"msql2mysql mysql mysql_convert_table_format mysql_find_rows mysql_fix_privilege_tables mysql_setpermission mysql_zap mysqlaccess mysqladmin mysqlbug mysqldump mysqlhotcopy mysqlimport mysqlshow
mysql_config mysqltest my_print_defaults
"
# CLIENT2="add_file_priv add_func_table add_long_password make_binary_distribution"
...
...
@@ -20,7 +20,7 @@ for CHAR in build
do
#-----
cp
-Rpd
debian/
${
CHAR
}
/usr debian/mysql-server/
cp
-Rpd
debian/
${
CHAR
}
-shared
/usr/lib/mysql/libmysqlclient.so.
*
debian/libmysqlclient
9
/usr/lib/
cp
-Rpd
debian/
${
CHAR
}
-shared
/usr/lib/mysql/libmysqlclient.so.
*
debian/libmysqlclient
10
/usr/lib/
#----- mysql-server-shared ---
cp
-Rpd
debian/
${
CHAR
}
-shared
/usr/sbin/mysqld debian/mysql-server-shared/usr/sbin/mysqld-shared
...
...
@@ -31,20 +31,28 @@ do
#----- mysql-server ---
mv
debian/mysql-server/usr/sbin/mysqld debian/mysql-server/usr/sbin/mysqld-static
#----- mysql-max-shared ---
cp
-Rpd
debian/
${
CHAR
}
-max-shared
/usr/sbin/mysqld debian/mysql-max-shared/usr/sbin/mysqld-max-shared
#----- mysql-max-debug ---
cp
-Rpd
debian/
${
CHAR
}
-max-debug
/usr/sbin/mysqld debian/mysql-max-debug/usr/sbin/mysqld-max-debug
#----- mysql-max ---
mv
debian/
${
CHAR
}
-max
/usr/sbin/mysqld debian/mysql-max/usr/sbin/mysqld-max-static
#----- mysql-client ----
cd
${
P
}
/debian/mysql-server/usr/bin/
&&
mv
$CLIENT1
../../../mysql-client/usr/bin/
cd
${
P
}
mv
-f
debian/mysql-server/usr/
{
man,info
}
debian/mysql-client/usr/share/
mv
debian/mysql-server/usr/share/mysql/my-example
.cnf debian/mysql-client/usr/share/mysql/
# mv debian/mysql-server/usr/share/mysql/my-*
.cnf debian/mysql-client/usr/share/mysql/
mv
-f
debian/mysql-server/usr/bin/replace debian/mysql-client/usr/bin/mysql_replace
#----- mysql-server ---
mv
debian/mysql-server/usr/bin/
*
debian/mysql-server/usr/sbin/
mv
debian/mysql-server/usr/sbin/my_print_defaults debian/mysql-server/usr/bin/
mv
debian/mysql-server/usr/sbin/comp_err debian/mysql-server/usr/bin/
mv
debian/mysql-server/usr/sbin/perror debian/mysql-server/usr/bin/
mysql_perror
mv
debian/mysql-server/usr/sbin/resolveip debian/mysql-server/usr/bin/
mysql_resolveip
mv
debian/mysql-server/usr/sbin/perror debian/mysql-server/usr/bin/
mv
debian/mysql-server/usr/sbin/resolveip debian/mysql-server/usr/bin/
#----- mysql-dev ----
cp
-Rpd
debian/
${
CHAR
}
-shared
/usr/lib/mysql/libmysqlclient.so debian/mysql-dev/usr/lib/
...
...
@@ -67,6 +75,7 @@ cp -r COPYING* MIRRORS README* Docs/* debian/mysql-doc/usr/share/doc/mysql/
#### sql-bench
mv
debian/mysql-server/usr/sql-bench
\
debian/mysql-server/usr/mysql-test
\
debian/mysql-bench/var/mysql/
touch
$STAMPFILE
support-files/debian/mysql-max-debug.dirs
0 → 100644
View file @
f935dcf2
usr/sbin
support-files/debian/mysql-max-debug.postinst
0 → 100644
View file @
f935dcf2
#!/bin/sh
update-alternatives
--install
/usr/sbin/mysqld mysqld /usr/sbin/mysqld-max-debug 40
support-files/debian/mysql-max-debug.postrm
0 → 100644
View file @
f935dcf2
#!/bin/sh
update-alternatives
--auto
mysqld
support-files/debian/mysql-max-shared.dirs
0 → 100644
View file @
f935dcf2
usr/sbin
support-files/debian/mysql-max-shared.postinst
0 → 100644
View file @
f935dcf2
#!/bin/sh
update-alternatives
--install
/usr/sbin/mysqld mysqld /usr/sbin/mysqld-max-shared 35
support-files/debian/mysql-max-shared.postrm
0 → 100644
View file @
f935dcf2
#!/bin/sh
update-alternatives
--auto
mysqld
support-files/debian/mysql-max.dirs
0 → 100644
View file @
f935dcf2
usr/sbin
support-files/debian/mysql-max.postinst
0 → 100644
View file @
f935dcf2
#!/bin/sh
update-alternatives
--install
/usr/sbin/mysqld mysqld /usr/sbin/mysqld-max-static 30
support-files/debian/mysql-max.postrm
0 → 100644
View file @
f935dcf2
#!/bin/sh
update-alternatives
--auto
mysqld
support-files/debian/patches/ab
View file @
f935dcf2
--- mysql-3.23.23.orig/scripts/Makefile.in
+++ mysql-3.23.23/scripts/Makefile.in
@@ -337,6 +337,7 @@
@RM@ -f $@ $@-t
@SED@ \
-e 's!@''bindir''@!$(bindir)!g' \
+ -e 's!@''sbindir''@!$(sbindir)!g' \
-e 's!@''scriptdir''@!$(bindir)!g' \
-e 's!@''prefix''@!$(prefix)!g' \
-e 's!@''datadir''@!$(datadir)!g' \
--- mysql-3.23.23.orig/support-files/Makefile.in
+++ mysql-3.23.23/support-files/Makefile.in
@@ -308,6 +308,7 @@
@RM@ -f $@ $@-t
@SED@ \
-e 's!@''bindir''@!$(bindir)!g' \
+ -e 's!@''sbindir''@!$(sbindir)!g' \
-e 's!@''scriptdir''@!$(bindir)!g' \
-e 's!@''prefix''@!$(prefix)!g' \
-e 's!@''datadir''@!$(datadir)!g' \
--- mysql-3.23.34a/sql/Makefile.in.orig Mon Mar 12 08:27:39 2001
+++ mysql-3.23.34a/sql/Makefile.in Thu Mar 15 04:11:14 2001
@@ -373,7 +373,7 @@
mysqlbinlog: $(mysqlbinlog_OBJECTS) $(mysqlbinlog_DEPENDENCIES)
@rm -f mysqlbinlog
- $(CXXLINK) $(mysqlbinlog_LDFLAGS) $(mysqlbinlog_OBJECTS) $(mysqlbinlog_LDADD) $(LIBS)
+ $(CXXLINK) $(mysqld_LDFLAGS) $(mysqlbinlog_OBJECTS) $(mysqld_LDADD) $(LIBS)
mysqld: $(mysqld_OBJECTS) $(mysqld_DEPENDENCIES)
@rm -f mysqld
support-files/debian/patches/ad
View file @
f935dcf2
--- mysql-3.23.23.orig/scripts/mysql_install_db.sh
+++ mysql-3.23.23/scripts/mysql_install_db.sh
@@ -11,6 +11,7 @@
ldata=@localstatedir@
execdir=@libexecdir@
bindir=@bindir@
+sbindir=@sbindir@
force=0
IN_RPM=0
defaults=
@@ -47,6 +48,10 @@
--- mysql-3.23.34a/scripts/mysql_install_db.sh.orig Mon Mar 12 08:18:27 2001
+++ mysql-3.23.34a/scripts/mysql_install_db.sh Thu Mar 15 04:12:28 2001
@@ -325,7 +325,7 @@
if test "$IN_RPM" -eq 0
then
bindir=`grep "^bindir" $conf | sed 's;^[^=]*=[ \t]*;;' | sed 's;[ \t]$;;'`
fi
+ if grep "^sbindir" $conf >/dev/null
+ then
+ sbindir=`grep "^sbindir" $conf | sed '.*=[ \t]*//`
+ fi
if grep "^user" $conf >/dev/null
then
user=`grep "^user" $conf | sed 's;^[^=]*=[ \t]*;;' | sed 's;[ \t]$;;'`
@@ -56,7 +61,7 @@
for arg
do
case "$arg" in
- --basedir=*) basedir=`echo "$arg"|sed 's;^--basedir=;;'`; bindir="$basedir/bin"; execdir="$basedir/libexec" ;;
+ --basedir=*) basedir=`echo "$arg"|sed 's;^--basedir=;;'`; bindir="$basedir/bin"; sbindir="$basedir/sbin"; execdir="$basedir/libexec" ;;
--datadir=*) ldata=`echo "$arg"|sed 's;^--datadir=;;'` ;;
--user=*) user=`echo "$arg"|sed 's;^--user=;;'` ;;
esac
@@ -82,10 +87,10 @@
# Check if hostname is valid
if test "$IN_RPM" -eq 0 -a $force -eq 0
then
- resolved=`$bindir/resolveip $hostname 2>&1`
+ resolved=`$bindir/mysql_resolveip $hostname 2>&1`
if [ $? -ne 0 ]
then
- resolved=`$bindir/resolveip localhost 2>&1`
+ resolved=`$bindir/mysql_resolveip localhost 2>&1`
if [ $? -eq 0 ]
then
echo "Sorry, the host '$hostname' could not be looked up."
@@ -300,7 +305,7 @@
if test -z "$IN_RPM"
then
echo "You can start the MySQL demon with:"
echo "You can start the MySQL daemon with:"
- echo "cd @prefix@ ; $bindir/safe_mysqld &"
+ echo "cd @prefix@ ; $sbindir/safe_mysqld &"
echo
echo "You can test the MySQL demon with the benchmarks in the 'sql-bench' directory:"
echo "You can test the MySQL d
a
emon with the benchmarks in the 'sql-bench' directory:"
echo "cd sql-bench ; run-all-tests"
support-files/debian/patches/ae
View file @
f935dcf2
--- mysql-3.23.23.orig/support-files/mysql.server.sh Tue Sep 5 19:13:35 2000
+++ mysql-3.23.23/support-files/mysql.server.sh Tue Sep 5 19:19:40 2000
@@ -16,6 +16,7 @@
PATH=/sbin:/usr/sbin:/bin:/usr/bin
basedir=@prefix@
bindir=@bindir@
+sbindir=@sbindir@
datadir=@localstatedir@
pid_file=@localstatedir@/mysqld.pid
log_file=@localstatedir@/mysqld.log
@@ -64,6 +65,10 @@
then
bindir=`grep "^bindir" $conf | cut -f 2 -d= | tr -d ' '`
fi
+ if grep "^sbindir" $conf >/dev/null
+ then
+ sbindir=`grep "^sbindir" $conf | cut -f 2 -d= | tr -d ' '`
+ fi
if grep "^log[ \t]*=" $conf >/dev/null
then
log_file=`grep "log[ \t]*=" $conf | cut -f 2 -d= | tr -d ' '`
@@ -78,14 +83,15 @@
--- mysql-3.23.30-gamma/support-files/mysql.server.sh.orig Thu Jan 4 11:03:57 2001
+++ mysql-3.23.30-gamma/support-files/mysql.server.sh Sat Jan 6 12:18:50 2001
@@ -28,8 +28,10 @@
then
basedir=@prefix@
bindir=@bindir@
+ sbindir=@sbindir@
else
bindir="$basedir/bin"
+ sbindir="$basedir/sbin"
fi
if test -z "$pid_file"
then
@@ -100,18 +102,18 @@
'start')
# Start daemon
...
...
@@ -28,11 +20,13 @@
then
# Give extra arguments to mysqld with the my.cnf file. This script may
# be overwritten at next upgrade.
- $bindir/safe_mysqld \
- --user=$mysql_daemon_user --datadir=$datadir --pid-file=$pid_file --log=$log_file &
+ $sbindir/safe_mysqld \
+ --user=$mysql_daemon_user --datadir=$datadir --pid-file=$pid_file &
+# --log=$log_file &
- $bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file &
+ $sbindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file &
# Make lock for RedHat / SuSE
if test -w /var/lock/subsys
then
touch /var/lock/subsys/mysql
fi
else
- echo "Can't execute $bindir/safe_mysqld"
+ echo "Can't execute $sbindir/safe_mysqld"
...
...
support-files/debian/patches/ta
0 → 100644
View file @
f935dcf2
--- mysql-3.23.34a/mysql-test/install_test_db.sh.orig Mon Mar 12 08:18:24 2001
+++ mysql-3.23.34a/mysql-test/install_test_db.sh Thu Mar 15 04:11:14 2001
@@ -5,6 +5,15 @@
# This scripts creates the privilege tables db, host, user, tables_priv,
# columns_priv in the mysql database, as well as the func table.
+if [ x$1 = x"-debian" ]; then
+ DEBIAN=1
+ shift 1
+ execdir=/usr/sbin
+ bindir=/usr/bin
+ BINARY_DIST=1
+ fix_bin=/var/mysql/mysql-test
+else
+
if [ x$1 = x"-bin" ]; then
shift 1
execdir=../bin
@@ -17,6 +26,10 @@
fix_bin=.
fi
+fi
+
+
+
vardir=var
logdir=$vardir/log
if [ x$1 = x"-slave" ]
@@ -47,12 +60,17 @@
#create the directories
[ -d $vardir ] || mkdir $vardir
[ -d $logdir ] || mkdir $logdir
+[ "x$RUN_USER" != "x" ] && chown -R $RUN_USER $logdir
# Create database directories mysql & test
if [ -d $data ] ; then rm -rf $data ; fi
mkdir $data $data/mysql $data/test
#for error messages
+if [ "x$DEBIAN" = "x1" ]; then
+ basedir=/usr
+else
+
if [ x$BINARY_DIST = x1 ] ; then
basedir=..
else
@@ -62,6 +80,10 @@
ln -sf ../../sql/share share/mysql
fi
+fi
+
+
+
# Initialize variables
c_d="" i_d=""
c_h="" i_h=""
@@ -211,7 +233,9 @@
$c_c
END_OF_DATA
then
+ [ "x$RUN_USER" != "x" ] && chown -R $RUN_USER $ldata
exit 0
else
+ [ "x$RUN_USER" != "x" ] && chown -R $RUN_USER $ldata
exit 1
fi
support-files/debian/patches/tb
0 → 100644
View file @
f935dcf2
--- mysql-3.23.34a/mysql-test/mysql-test-run.sh.orig Mon Mar 12 08:18:27 2001
+++ mysql-3.23.34a/mysql-test/mysql-test-run.sh Thu Mar 15 04:11:14 2001
@@ -37,9 +37,23 @@
XARGS=`which xargs | head -1`
SED=sed
+if [ $USER = root ]; then
+ RUN_USER="mysql"
+ RUN_USER_OPT="--user=$RUN_USER"
+ export RUN_USER
+fi
+
+
# Are we using a source or a binary distribution?
testdir=@testdir@
+
+if [ -d /var/mysql/mysql-test ]; then
+ DEBIAN=1
+ cd /var/mysql/mysql-test
+ testdir=/var/mysql
+fi
+
if [ -d bin/mysqld ] && [ -d mysql-test ] ; then
cd mysql-test
else
@@ -56,6 +70,10 @@
exit 1
fi
+if [ x$DEBIAN = x1 ]; then
+ MY_BASEDIR=/usr
+fi
+
#++
# Misc. Definitions
#--
@@ -184,12 +202,21 @@
[ -d $MYSQL_TEST_DIR/var ] || mkdir $MYSQL_TEST_DIR/var
[ -d $MYSQL_TEST_DIR/var/tmp ] || mkdir $MYSQL_TEST_DIR/var/tmp
[ -d $MYSQL_TEST_DIR/var/run ] || mkdir $MYSQL_TEST_DIR/var/run
+[ -d $MYSQL_TEST_DIR -a "x$RUN_USER" != "x" ] && chown -R $RUN_USER $MYSQL_TEST_DIR
[ -z "$COLUMNS" ] && COLUMNS=80
E=`$EXPR $COLUMNS - 8`
#DASH72=`expr substr '------------------------------------------------------------------------' 1 $E`
DASH72=`$ECHO '------------------------------------------------------------------------'|$CUT -c 1-$E`
+if [ "x$DEBIAN" = "x1" ]; then
+ MYSQLD="/usr/sbin/mysqld"
+ MYSQL_TEST="/usr/sbin/mysqltest"
+ MYSQLADMIN="/usr/bin/mysqladmin"
+ INSTALL_DB="/var/mysql/mysql-test/install_test_db -debian"
+
+else
+
# on source dist, we pick up freshly build executables
# on binary, use what is installed
if [ x$SOURCE_DIST = x1 ] ; then
@@ -250,6 +277,8 @@
read unused
}
+fi
+
error () {
$ECHO "Error: $1"
@@ -365,7 +394,7 @@
--language=english \
--innobase_data_file_path=ibdata1:50M \
$SMALL_SERVER \
- $EXTRA_MASTER_OPT $EXTRA_MASTER_MYSQLD_OPT"
+ $RUN_USER_OPT $EXTRA_MASTER_OPT $EXTRA_MASTER_MYSQLD_OPT"
if [ x$DO_DDD = x1 ]
then
$ECHO "set args $master_args" > $GDB_MASTER_INIT
@@ -420,7 +449,7 @@
--language=english \
--skip-innobase \
$SMALL_SERVER \
- $EXTRA_SLAVE_OPT $EXTRA_SLAVE_MYSQLD_OPT"
+ $RUN_USER_OPT $EXTRA_SLAVE_OPT $EXTRA_SLAVE_MYSQLD_OPT"
if [ x$DO_DDD = x1 ]
then
$ECHO "set args $master_args" > $GDB_SLAVE_INIT
support-files/debian/rules
View file @
f935dcf2
...
...
@@ -4,9 +4,11 @@
package=mysql
CHARSET=ujis
SYSNAME=
TEMPINST=build
#CFLAGS="-O6 -mpentium -mstack-align-double -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentium -mstack-align-double -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static
#
CFLAGS="-O6 -mpentium -mstack-align-double -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentium -mstack-align-double -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static
CC=gcc
CFLAGS=-O6 -fomit-frame-pointer
...
...
@@ -14,7 +16,6 @@ CXX=gcc
CXXFLAGS=-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti
# CXXFLAGS=-O6 -fomit-frame-pointer -felide-constructors -fno-rtti
SYSNAME=
COMMONCONF= --prefix=/usr --libexecdir=/usr/sbin \
--localstatedir=/var/mysql/data \
--enable-shared \
...
...
@@ -26,8 +27,14 @@ COMMONCONF= --prefix=/usr --libexecdir=/usr/sbin \
SERVERCONF=$(COMMONCONF) --enable-assembler \
--with-raid
MYSQLMAXCONF= --with-server-suffix=-Max \
--with-innodb \
--with-berkeley-db
# --with-gemini \
# --with-berkeley-db-includes=/usr/include/db3 \
# --with-berkeley-db-libs=/usr/lib
/libdb3.a
# --with-berkeley-db-libs=/usr/lib
STATICCONF=--with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static
...
...
@@ -37,6 +44,7 @@ CLIENTCONF=$(COMMONCONF) --without-server
patches debian/stamp-patches:
-test -e debian/stamp-patches || \
for i in `find debian/patches -type f -print` ; do \
echo "==== $$i ====" ; \
patch -p1 < $$i ; \
done
touch debian/stamp-patches
...
...
@@ -46,9 +54,15 @@ premkdir debian/stamp-premkdir:
$(checkdir)
-rm -rf debian/tmp debian/$(TEMPINST)*
dh_installdirs
-install -d debian/$(TEMPINST)/usr/{bin,sbin,share,man,include,info}
-install -d debian/$(TEMPINST)-shared/usr/{bin,sbin,share,man,include,info}
-install -d debian/$(TEMPINST)-debug/usr/{bin,sbin,share,man,include,info}
for i in '' -shared -debug -max -max-shared -max-debug ; do \
install -d debian/$(TEMPINST)$${i}/usr/{bin,sbin,share,man,include,info} ; \
done
# -install -d debian/$(TEMPINST)$${i}/usr/{bin,sbin,share,man,include,info}
# -install -d debian/$(TEMPINST)-shared/usr/{bin,sbin,share,man,include,info}
# -install -d debian/$(TEMPINST)-debug/usr/{bin,sbin,share,man,include,info}
touch debian/stamp-premkdir
##################################################
...
...
@@ -59,6 +73,7 @@ config debian/stamp-config: debian/stamp-premkdir debian/stamp-patches
--with-charset=$(CHARSET) \
--with-bench \
$(SYSNAME)
# sed 's/-fno-implicit-templates//g' sql/Makefile > .m
# mv .m sql/Makefile
touch debian/stamp-config
...
...
@@ -101,6 +116,51 @@ build-debug debian/stamp-build-debug: debian/stamp-patches
touch debian/stamp-build-debug
##################################################
debian/stamp-mysql-max: debian/stamp-mysql-max-static debian/stamp-mysql-max-shared debian/stamp-mysql-max-debug
debian/stamp-mysql-max-static: debian/stamp-premkdir debian/stamp-patches
-make distclean
CC=$(CC) CFLAGS="$(CFLAGS)" CXX=$(CXX) CXXFLAGS="$(CXXFLAGS)" \
./configure $(SERVERCONF) $(STATICCONF) \
$(MYSQLMAXCONF) \
--with-charset=$(CHARSET) \
$(SYSNAME)
make LDFLAGS="-static"
make install DESTDIR=`pwd`/debian/$(TEMPINST)-max
touch debian/stamp-mysql-max-static
debian/stamp-mysql-max-shared: debian/stamp-premkdir debian/stamp-patches
-make distclean
CC=$(CC) CFLAGS="$(CFLAGS)" CXX=$(CXX) CXXFLAGS="$(CXXFLAGS)" \
./configure $(SERVERCONF) \
$(MYSQLMAXCONF) \
--with-charset=$(CHARSET) \
$(SYSNAME)
make
make install DESTDIR=`pwd`/debian/$(TEMPINST)-max-shared
touch debian/stamp-mysql-max-shared
debian/stamp-mysql-max-debug: debian/stamp-premkdir debian/stamp-patches
-make distclean
CC=$(CC) CFLAGS="$(CFLAGS)" CXX=$(CXX) CXXFLAGS="$(CXXFLAGS)" \
./configure $(SERVERCONF) \
$(MYSQLMAXCONF) \
--with-charset=$(CHARSET) \
--with-debug \
$(SYSNAME)
make
make install DESTDIR=`pwd`/debian/$(TEMPINST)-max-debug
touch debian/stamp-mysql-max-debug
##################################################
clean:
$(checkdir)
...
...
@@ -123,12 +183,12 @@ binary-indep: checkroot build
# generated by this package. If there were any they would be
# made here.
binary-arch: checkroot build debian/stamp-build-shared debian/stamp-build-debug
binary-arch: checkroot build debian/stamp-build-shared debian/stamp-build-debug
debian/stamp-mysql-max
sh debian/move
### init, post*
dh_installdeb
cp debian/shlibs debian/libmysqlclient
9
/DEBIAN/
cp debian/shlibs debian/libmysqlclient
10
/DEBIAN/
cp debian/my.cnf debian/mysql-server/etc/
cp support-files/mysql.server debian/mysql-server/etc/init.d/mysql ; chmod +x debian/mysql-server/etc/init.d/mysql
...
...
@@ -143,7 +203,7 @@ binary-arch: checkroot build debian/stamp-build-shared debian/stamp-build-debug
dh_shlibdeps
dh_gencontrol
dpkg --build debian/libmysqlclient
9
..
dpkg --build debian/libmysqlclient
10
..
dpkg --build debian/mysql-client ..
dpkg --build debian/mysql-server ..
dpkg --build debian/mysql-server-shared ..
...
...
@@ -151,6 +211,9 @@ binary-arch: checkroot build debian/stamp-build-shared debian/stamp-build-debug
dpkg --build debian/mysql-dev ..
dpkg --build debian/mysql-bench ..
dpkg --build debian/mysql-doc ..
dpkg --build debian/mysql-max ..
dpkg --build debian/mysql-max-shared ..
dpkg --build debian/mysql-max-debug ..
define checkdir
test -f debian/rules
...
...
support-files/debian/shlibs
View file @
f935dcf2
libmysqlclient
9 libmysqlclient9
libmysqlclient
10 libmysqlclient10
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment