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
9e9f21a5
Commit
9e9f21a5
authored
Jul 01, 2001
by
Sinisa@sinisa.nasamreza.org
Browse files
Options
Browse Files
Download
Plain Diff
Merge sinisa@work.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/hdc/Sinisa/mysql-4.0
parents
a973b855
ce09acfb
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
54 additions
and
17 deletions
+54
-17
.bzrignore
.bzrignore
+9
-8
mysql-test/t/multi_update.test
mysql-test/t/multi_update.test
+1
-1
mysys/my_compress.c
mysys/my_compress.c
+1
-1
sql/filesort.cc
sql/filesort.cc
+0
-5
sql/sql_class.h
sql/sql_class.h
+4
-0
sql/sql_delete.cc
sql/sql_delete.cc
+38
-2
sql/sql_select.cc
sql/sql_select.cc
+1
-0
No files found.
.bzrignore
View file @
9e9f21a5
...
...
@@ -12,10 +12,12 @@
.*.swp
.deps
.gdb_history
.gdbinit
.libs
.o
.out
.snprj/*
.vimrc
BitKeeper/etc/config
BitKeeper/etc/csets
BitKeeper/etc/csets-in
...
...
@@ -199,6 +201,7 @@ libmysqld/ha_isammrg.cc
libmysqld/ha_myisam.cc
libmysqld/ha_myisammrg.cc
libmysqld/handler.cc
libmysqld/hash_filo.cc
libmysqld/hostname.cc
libmysqld/init.cc
libmysqld/item.cc
...
...
@@ -251,8 +254,10 @@ libmysqld/sql_string.cc
libmysqld/sql_table.cc
libmysqld/sql_test.cc
libmysqld/sql_udf.cc
libmysqld/sql_unions.cc
libmysqld/sql_update.cc
libmysqld/sql_yacc.cc
libmysqld/stacktrace.c
libmysqld/table.cc
libmysqld/thr_malloc.cc
libmysqld/time.cc
...
...
@@ -265,6 +270,7 @@ linked_libmysql_r_sources
linked_libmysql_sources
linked_libmysqld_sources
linked_server_sources
locked
myisam/ft_dump
myisam/ft_eval
myisam/ft_test1
...
...
@@ -279,6 +285,7 @@ mysql-test/gmon.out
mysql-test/install_test_db
mysql-test/mysql-test-run
mysql-test/r/*.reject
mysql-test/r/rpl_log.eval
mysql-test/share/mysql
mysql-test/var/*
mysql.proj
...
...
@@ -307,6 +314,7 @@ scripts/mysql_zap
scripts/mysqlaccess
scripts/mysqlbug
scripts/mysqld_multi
scripts/mysqld_safe
scripts/mysqldumpslow
scripts/mysqlhotcopy
scripts/safe_mysqld
...
...
@@ -341,6 +349,7 @@ sql/mysqld
sql/share/*.sys
sql/share/charsets/gmon.out
sql/share/gmon.out
sql/share/mysql
sql/share/norwegian-ny/errmsg.sys
sql/share/norwegian/errmsg.sys
sql/sql_yacc.cc
...
...
@@ -364,11 +373,3 @@ support-files/mysql.server
support-files/mysql.spec
tags
tmp/*
libmysqld/hash_filo.cc
libmysqld/sql_unions.cc
libmysqld/stacktrace.c
sql/share/mysql
.gdbinit
.vimrc
scripts/mysqld_safe
mysql-test/r/rpl_log.eval
mysql-test/t/multi_update.test
View file @
9e9f21a5
...
...
@@ -7,7 +7,7 @@ eval select $BIG_TEST as using_big_test;
drop
table
if
exists
t1
,
t2
,
t3
;
create
table
t1
(
id1
int
not
null
auto_increment
primary
key
,
t
char
(
12
));
create
table
t2
(
id2
int
not
null
,
t
char
(
12
)
,
index
(
id2
)
);
create
table
t2
(
id2
int
not
null
,
t
char
(
12
));
create
table
t3
(
id3
int
not
null
,
t
char
(
12
),
index
(
id3
));
let
$
1
=
10000
;
while
(
$
1
)
...
...
mysys/my_compress.c
View file @
9e9f21a5
...
...
@@ -15,7 +15,7 @@
Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA */
/* Written by Sinisa Milivojevic <sinisa@
coresinc
.com> */
/* Written by Sinisa Milivojevic <sinisa@
mysql
.com> */
#include <global.h>
#ifdef HAVE_COMPRESS
...
...
sql/filesort.cc
View file @
9e9f21a5
...
...
@@ -685,7 +685,6 @@ int merge_buffers(SORTPARAM *param, IO_CACHE *from_file,
uchar
*
strpos
;
BUFFPEK
*
buffpek
,
**
refpek
;
QUEUE
queue
;
volatile
bool
*
killed
=
&
current_thd
->
killed
;
qsort2_cmp
cmp
;
DBUG_ENTER
(
"merge_buffers"
);
...
...
@@ -739,10 +738,6 @@ int merge_buffers(SORTPARAM *param, IO_CACHE *from_file,
while
(
queue
.
elements
>
1
)
{
if
(
*
killed
)
{
error
=
1
;
goto
err
;
/* purecov: inspected */
}
for
(;;)
{
buffpek
=
(
BUFFPEK
*
)
queue_top
(
&
queue
);
...
...
sql/sql_class.h
View file @
9e9f21a5
...
...
@@ -410,6 +410,8 @@ class sql_exchange :public Sql_alloc
** This is used to get result from a select
*/
class
JOIN
;
class
select_result
:
public
Sql_alloc
{
protected:
THD
*
thd
;
...
...
@@ -419,6 +421,7 @@ class select_result :public Sql_alloc {
virtual
int
prepare
(
List
<
Item
>
&
list
)
{
return
0
;
}
virtual
bool
send_fields
(
List
<
Item
>
&
list
,
uint
flag
)
=
0
;
virtual
bool
send_data
(
List
<
Item
>
&
items
)
=
0
;
virtual
void
initialize_tables
(
JOIN
*
join
=
0
)
{};
virtual
void
send_error
(
uint
errcode
,
const
char
*
err
)
=
0
;
virtual
bool
send_eof
()
=
0
;
virtual
void
abort
()
{}
...
...
@@ -621,6 +624,7 @@ class Unique :public Sql_alloc
bool
send_fields
(
List
<
Item
>
&
list
,
uint
flag
)
{
return
0
;
}
bool
send_data
(
List
<
Item
>
&
items
);
void
initialize_tables
(
JOIN
*
join
);
void
send_error
(
uint
errcode
,
const
char
*
err
);
int
do_deletes
(
bool
from_send_error
);
bool
send_eof
();
...
...
sql/sql_delete.cc
View file @
9e9f21a5
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
& Sinisa
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -19,6 +19,7 @@
#include "mysql_priv.h"
#include "ha_innobase.h"
#include "sql_select.h"
/*
Optimize delete of all rows by doing a full generate of the table
...
...
@@ -315,12 +316,14 @@ multi_delete::multi_delete(THD *thd_arg, TABLE_LIST *dt,
#endif
(
void
)
dt
->
table
->
file
->
extra
(
HA_EXTRA_NO_READCHECK
);
(
void
)
dt
->
table
->
file
->
extra
(
HA_EXTRA_NO_KEYREAD
);
/* Don't use key read with MULTI-TABLE-DELETE */
dt
->
table
->
used_keys
=
0
;
for
(
dt
=
dt
->
next
;
dt
;
dt
=
dt
->
next
,
counter
++
)
{
TABLE
*
table
=
dt
->
table
;
(
void
)
table
->
file
->
extra
(
HA_EXTRA_NO_READCHECK
);
(
void
)
dt
->
table
->
file
->
extra
(
HA_EXTRA_NO_READCHECK
);
(
void
)
dt
->
table
->
file
->
extra
(
HA_EXTRA_NO_KEYREAD
);
#ifdef SINISAS_STRIP
tempfiles
[
counter
]
=
(
IO_CACHE
*
)
sql_alloc
(
sizeof
(
IO_CACHE
));
if
(
open_cached_file
(
tempfiles
[
counter
],
mysql_tmpdir
,
TEMP_PREFIX
,
...
...
@@ -363,6 +366,39 @@ multi_delete::prepare(List<Item> &values)
DBUG_RETURN
(
0
);
}
inline
static
void
link_in_list
(
SQL_LIST
*
list
,
byte
*
element
,
byte
**
next
)
{
list
->
elements
++
;
(
*
list
->
next
)
=
element
;
list
->
next
=
next
;
*
next
=
0
;
}
void
multi_delete
::
initialize_tables
(
JOIN
*
join
)
{
SQL_LIST
*
new_list
=
(
SQL_LIST
*
)
sql_alloc
(
sizeof
(
SQL_LIST
));
new_list
->
elements
=
0
;
new_list
->
first
=
0
;
new_list
->
next
=
(
byte
**
)
&
(
new_list
->
first
);
for
(
JOIN_TAB
*
tab
=
join
->
join_tab
,
*
end
=
join
->
join_tab
+
join
->
tables
;
tab
<
end
;
tab
++
)
{
TABLE_LIST
*
walk
;
for
(
walk
=
(
TABLE_LIST
*
)
delete_tables
;
walk
;
walk
=
walk
->
next
)
if
(
!
strcmp
(
tab
->
table
->
path
,
walk
->
table
->
path
))
break
;
if
(
walk
)
// Table need not be the one to be deleted
{
register
TABLE_LIST
*
ptr
=
(
TABLE_LIST
*
)
sql_alloc
(
sizeof
(
TABLE_LIST
));
memcpy
(
ptr
,
walk
,
sizeof
(
TABLE_LIST
));
ptr
->
next
=
0
;
link_in_list
(
new_list
,(
byte
*
)
ptr
,(
byte
**
)
&
ptr
->
next
);
}
}
delete_tables
=
(
TABLE_LIST
*
)
new_list
->
first
;
return
;
}
multi_delete
::~
multi_delete
()
{
...
...
sql/sql_select.cc
View file @
9e9f21a5
...
...
@@ -385,6 +385,7 @@ mysql_select(THD *thd,TABLE_LIST *tables,List<Item> &fields,COND *conds,
thd
->
fatal_error
)
goto
err
;
thd
->
proc_info
=
"preparing"
;
result
->
initialize_tables
(
&
join
);
if
((
tmp
=
join_read_const_tables
(
&
join
))
>
0
)
goto
err
;
if
(
tmp
&&
!
(
select_options
&
SELECT_DESCRIBE
))
...
...
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