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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
9265a4df
Commit
9265a4df
authored
Nov 22, 2001
by
monty@hundin.mysql.fi
Browse files
Options
Browse Files
Download
Plain Diff
merge
parents
9209210d
a2a838f8
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
63 additions
and
24 deletions
+63
-24
Docs/manual.texi
Docs/manual.texi
+13
-3
innobase/srv/srv0srv.c
innobase/srv/srv0srv.c
+8
-4
mysql-test/t/fulltext.test
mysql-test/t/fulltext.test
+3
-0
mysys/my_seek.c
mysys/my_seek.c
+2
-1
sql/mysql_priv.h
sql/mysql_priv.h
+2
-2
sql/sql_base.cc
sql/sql_base.cc
+21
-4
sql/sql_delete.cc
sql/sql_delete.cc
+6
-9
sql/sql_update.cc
sql/sql_update.cc
+3
-1
sql/stacktrace.c
sql/stacktrace.c
+4
-0
support-files/mysql.spec.sh
support-files/mysql.spec.sh
+1
-0
No files found.
Docs/manual.texi
View file @
9265a4df
...
@@ -46013,10 +46013,22 @@ not yet 100% confident in this code.
...
@@ -46013,10 +46013,22 @@ not yet 100% confident in this code.
@appendixsubsec Changes in release 3.23.45
@appendixsubsec Changes in release 3.23.45
@itemize @bullet
@itemize @bullet
@item
@item
@code{(UPDATE|DELETE) ...WHERE MATCH} bugfix
@item
shutdown should now work on Darwin (Mac OS X).
@item
Fixed core-dump when repairing corrupted packed MyISAM files.
@item
@code{--core-file} now works on Solaris.
@item
Fix a bug which could cause InnoDB to complain if it cannot find free blocks
Fix a bug which could cause InnoDB to complain if it cannot find free blocks
from the buffer cache during recovery.
from the buffer cache during recovery.
@item
@item
Fixed a bug in InnoDB insert buffer B-tree handling that could cause crashes.
Fixed bug in InnoDB insert buffer B-tree handling that could cause crashes.
@item
Fixed bug in InnoDB lock timeout handling.
@item
Fixed core dump bug in @code{ALTER TABLE} on a @code{TEMPORARY} InnoDB table.
@item
@item
Fixed bug in @code{OPTIMIZE TABLE} that reset index cardinality if it
Fixed bug in @code{OPTIMIZE TABLE} that reset index cardinality if it
was up to date.
was up to date.
...
@@ -46029,8 +46041,6 @@ Fixed bug with BDB tables and keys on @code{BLOB}'s.
...
@@ -46029,8 +46041,6 @@ Fixed bug with BDB tables and keys on @code{BLOB}'s.
Fixed bug in @code{MERGE} tables on OS with 32 bit file pointers.
Fixed bug in @code{MERGE} tables on OS with 32 bit file pointers.
@item
@item
Fixed bug in @code{TIME_TO_SEC()} when using negative values.
Fixed bug in @code{TIME_TO_SEC()} when using negative values.
@item
Fixed core dump bug in @code{ALTER TABLE} on a @code{TEMPORARY} InnoDB table.
@end itemize
@end itemize
@node News-3.23.44, News-3.23.43, News-3.23.45, News-3.23.x
@node News-3.23.44, News-3.23.43, News-3.23.45, News-3.23.x
innobase/srv/srv0srv.c
View file @
9265a4df
...
@@ -2153,10 +2153,14 @@ loop:
...
@@ -2153,10 +2153,14 @@ loop:
/* Timeout exceeded or a wrap-around in system
/* Timeout exceeded or a wrap-around in system
time counter: cancel the lock request queued
time counter: cancel the lock request queued
by the transaction and release possible
by the transaction and release possible
other transactions waiting behind */
other transactions waiting behind; it is
possible that the lock has already been
lock_cancel_waiting_and_release
(
granted: in that case do nothing */
thr_get_trx
(
slot
->
thr
)
->
wait_lock
);
if
(
thr_get_trx
(
slot
->
thr
)
->
wait_lock
)
{
lock_cancel_waiting_and_release
(
thr_get_trx
(
slot
->
thr
)
->
wait_lock
);
}
}
}
}
}
}
}
...
...
mysql-test/t/fulltext.test
View file @
9265a4df
...
@@ -23,6 +23,9 @@ select * from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN
...
@@ -23,6 +23,9 @@ select * from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN
select
*
from
t1
where
MATCH
(
a
,
b
)
AGAINST
(
"+search -(support vector)"
IN
BOOLEAN
MODE
);
select
*
from
t1
where
MATCH
(
a
,
b
)
AGAINST
(
"+search -(support vector)"
IN
BOOLEAN
MODE
);
select
*
,
MATCH
(
a
,
b
)
AGAINST
(
"support collections"
IN
BOOLEAN
MODE
)
as
x
from
t1
;
select
*
,
MATCH
(
a
,
b
)
AGAINST
(
"support collections"
IN
BOOLEAN
MODE
)
as
x
from
t1
;
delete
from
t1
where
a
like
"MySQL%"
;
delete
from
t1
where
a
like
"MySQL%"
;
update
t1
set
a
=
'some test foobar'
where
MATCH
a
,
b
AGAINST
(
'model'
);
delete
from
t1
where
MATCH
(
a
,
b
)
AGAINST
(
"indexes"
);
select
*
from
t1
;
drop
table
t1
;
drop
table
t1
;
#
#
...
...
mysys/my_seek.c
View file @
9265a4df
...
@@ -20,7 +20,8 @@
...
@@ -20,7 +20,8 @@
/* Seek to position in file */
/* Seek to position in file */
/*ARGSUSED*/
/*ARGSUSED*/
my_off_t
my_seek
(
File
fd
,
my_off_t
pos
,
int
whence
,
myf
MyFlags
__attribute__
((
unused
)))
my_off_t
my_seek
(
File
fd
,
my_off_t
pos
,
int
whence
,
myf
MyFlags
__attribute__
((
unused
)))
{
{
reg1
os_off_t
newpos
;
reg1
os_off_t
newpos
;
DBUG_ENTER
(
"my_seek"
);
DBUG_ENTER
(
"my_seek"
);
...
...
sql/mysql_priv.h
View file @
9265a4df
...
@@ -327,7 +327,6 @@ int setup_order(THD *thd,TABLE_LIST *tables, List<Item> &fields,
...
@@ -327,7 +327,6 @@ int setup_order(THD *thd,TABLE_LIST *tables, List<Item> &fields,
int
handle_select
(
THD
*
thd
,
LEX
*
lex
,
select_result
*
result
);
int
handle_select
(
THD
*
thd
,
LEX
*
lex
,
select_result
*
result
);
int
mysql_select
(
THD
*
thd
,
TABLE_LIST
*
tables
,
List
<
Item
>
&
list
,
COND
*
conds
,
int
mysql_select
(
THD
*
thd
,
TABLE_LIST
*
tables
,
List
<
Item
>
&
list
,
COND
*
conds
,
List
<
Item_func_match
>
&
ftfuncs
,
ORDER
*
order
,
ORDER
*
group
,
Item
*
having
,
ORDER
*
proc_param
,
ORDER
*
order
,
ORDER
*
group
,
Item
*
having
,
ORDER
*
proc_param
,
ulong
select_type
,
select_result
*
result
);
ulong
select_type
,
select_result
*
result
);
int
mysql_union
(
THD
*
thd
,
LEX
*
lex
,
select_result
*
result
);
int
mysql_union
(
THD
*
thd
,
LEX
*
lex
,
select_result
*
result
);
...
@@ -450,7 +449,8 @@ int setup_fields(THD *thd,TABLE_LIST *tables,List<Item> &item,
...
@@ -450,7 +449,8 @@ int setup_fields(THD *thd,TABLE_LIST *tables,List<Item> &item,
bool
set_query_id
,
List
<
Item
>
*
sum_func_list
,
bool
set_query_id
,
List
<
Item
>
*
sum_func_list
,
bool
allow_sum_func
);
bool
allow_sum_func
);
int
setup_conds
(
THD
*
thd
,
TABLE_LIST
*
tables
,
COND
**
conds
);
int
setup_conds
(
THD
*
thd
,
TABLE_LIST
*
tables
,
COND
**
conds
);
int
setup_ftfuncs
(
THD
*
thd
,
TABLE_LIST
*
tables
,
List
<
Item_func_match
>
&
ftfuncs
);
int
setup_ftfuncs
(
THD
*
thd
);
int
init_ftfuncs
(
THD
*
thd
,
bool
no_order
);
void
wait_for_refresh
(
THD
*
thd
);
void
wait_for_refresh
(
THD
*
thd
);
int
open_tables
(
THD
*
thd
,
TABLE_LIST
*
tables
);
int
open_tables
(
THD
*
thd
,
TABLE_LIST
*
tables
);
int
open_and_lock_tables
(
THD
*
thd
,
TABLE_LIST
*
tables
);
int
open_and_lock_tables
(
THD
*
thd
,
TABLE_LIST
*
tables
);
...
...
sql/sql_base.cc
View file @
9265a4df
...
@@ -2172,17 +2172,18 @@ bool remove_table_from_cache(THD *thd, const char *db, const char *table_name,
...
@@ -2172,17 +2172,18 @@ bool remove_table_from_cache(THD *thd, const char *db, const char *table_name,
DBUG_RETURN
(
result
);
DBUG_RETURN
(
result
);
}
}
int
setup_ftfuncs
(
THD
*
thd
,
TABLE_LIST
*
tables
,
List
<
Item_func_match
>
&
ftfuncs
)
int
setup_ftfuncs
(
THD
*
thd
)
{
{
List_iterator
<
Item_func_match
>
li
(
ftfuncs
),
li2
(
ftfuncs
);
List_iterator
<
Item_func_match
>
li
(
thd
->
lex
.
ftfunc_list
),
lj
(
thd
->
lex
.
ftfunc_list
);
Item_func_match
*
ftf
,
*
ftf2
;
Item_func_match
*
ftf
,
*
ftf2
;
while
((
ftf
=
li
++
))
while
((
ftf
=
li
++
))
{
{
if
(
ftf
->
fix_index
())
if
(
ftf
->
fix_index
())
return
1
;
return
1
;
l
i2
.
rewind
();
l
j
.
rewind
();
while
((
ftf2
=
l
i2
++
)
!=
ftf
)
while
((
ftf2
=
l
j
++
)
!=
ftf
)
{
{
if
(
ftf
->
eq
(
ftf2
)
&&
!
ftf2
->
master
)
if
(
ftf
->
eq
(
ftf2
)
&&
!
ftf2
->
master
)
ftf2
->
master
=
ftf
;
ftf2
->
master
=
ftf
;
...
@@ -2191,3 +2192,19 @@ int setup_ftfuncs(THD *thd,TABLE_LIST *tables, List<Item_func_match> &ftfuncs)
...
@@ -2191,3 +2192,19 @@ int setup_ftfuncs(THD *thd,TABLE_LIST *tables, List<Item_func_match> &ftfuncs)
return
0
;
return
0
;
}
}
int
init_ftfuncs
(
THD
*
thd
,
bool
no_order
)
{
List_iterator
<
Item_func_match
>
li
(
thd
->
lex
.
ftfunc_list
);
Item_func_match
*
ifm
;
DBUG_PRINT
(
"info"
,(
"Performing FULLTEXT search"
));
thd
->
proc_info
=
"FULLTEXT initialization"
;
while
((
ifm
=
li
++
))
{
ifm
->
init_search
(
no_order
);
}
return
0
;
}
sql/sql_delete.cc
View file @
9265a4df
/* Copyright (C) 2000 MySQL AB
/* Copyright (C) 2000 MySQL AB
This program is free software; you can redistribute it and/or modify
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
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
(at your option) any later version.
This program is distributed in the hope that it will be useful,
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/*
/*
Delete of records and truncate of tables.
Delete of records and truncate of tables.
Multi-table deletes were introduced by Monty and Sinisa
Multi-table deletes were introduced by Monty and Sinisa
*/
*/
#include "mysql_priv.h"
#include "mysql_priv.h"
#include "ha_innobase.h"
#include "ha_innobase.h"
#include "sql_select.h"
#include "sql_select.h"
...
@@ -52,7 +48,7 @@ int mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds, ORDER *order,
...
@@ -52,7 +48,7 @@ int mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds, ORDER *order,
table
->
file
->
info
(
HA_STATUS_VARIABLE
|
HA_STATUS_NO_LOCK
);
table
->
file
->
info
(
HA_STATUS_VARIABLE
|
HA_STATUS_NO_LOCK
);
thd
->
proc_info
=
"init"
;
thd
->
proc_info
=
"init"
;
table
->
map
=
1
;
table
->
map
=
1
;
if
(
setup_conds
(
thd
,
table_list
,
&
conds
))
if
(
setup_conds
(
thd
,
table_list
,
&
conds
)
||
setup_ftfuncs
(
thd
)
)
DBUG_RETURN
(
-
1
);
DBUG_RETURN
(
-
1
);
/* Test if the user wants to delete all rows */
/* Test if the user wants to delete all rows */
...
@@ -79,7 +75,7 @@ int mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds, ORDER *order,
...
@@ -79,7 +75,7 @@ int mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds, ORDER *order,
if
(
error
)
if
(
error
)
DBUG_RETURN
(
-
1
);
DBUG_RETURN
(
-
1
);
if
((
select
&&
select
->
check_quick
(
test
(
thd
->
options
&
SQL_SAFE_UPDATES
),
if
((
select
&&
select
->
check_quick
(
test
(
thd
->
options
&
SQL_SAFE_UPDATES
),
limit
))
||
limit
))
||
!
limit
)
!
limit
)
{
{
delete
select
;
delete
select
;
...
@@ -129,6 +125,7 @@ int mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds, ORDER *order,
...
@@ -129,6 +125,7 @@ int mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds, ORDER *order,
}
}
init_read_record
(
&
info
,
thd
,
table
,
select
,
1
,
1
);
init_read_record
(
&
info
,
thd
,
table
,
select
,
1
,
1
);
init_ftfuncs
(
thd
,
1
);
deleted
=
0L
;
deleted
=
0L
;
thd
->
proc_info
=
"updating"
;
thd
->
proc_info
=
"updating"
;
while
(
!
(
error
=
info
.
read_record
(
&
info
))
&&
!
thd
->
killed
)
while
(
!
(
error
=
info
.
read_record
(
&
info
))
&&
!
thd
->
killed
)
...
...
sql/sql_update.cc
View file @
9265a4df
...
@@ -74,7 +74,8 @@ int mysql_update(THD *thd,
...
@@ -74,7 +74,8 @@ int mysql_update(THD *thd,
table
->
quick_keys
=
0
;
table
->
quick_keys
=
0
;
want_privilege
=
table
->
grant
.
want_privilege
;
want_privilege
=
table
->
grant
.
want_privilege
;
table
->
grant
.
want_privilege
=
(
SELECT_ACL
&
~
table
->
grant
.
privilege
);
table
->
grant
.
want_privilege
=
(
SELECT_ACL
&
~
table
->
grant
.
privilege
);
if
(
setup_tables
(
table_list
)
||
setup_conds
(
thd
,
table_list
,
&
conds
))
if
(
setup_tables
(
table_list
)
||
setup_conds
(
thd
,
table_list
,
&
conds
)
||
setup_ftfuncs
(
thd
))
DBUG_RETURN
(
-
1
);
/* purecov: inspected */
DBUG_RETURN
(
-
1
);
/* purecov: inspected */
old_used_keys
=
table
->
used_keys
;
// Keys used in WHERE
old_used_keys
=
table
->
used_keys
;
// Keys used in WHERE
...
@@ -138,6 +139,7 @@ int mysql_update(THD *thd,
...
@@ -138,6 +139,7 @@ int mysql_update(THD *thd,
DBUG_RETURN
(
1
);
DBUG_RETURN
(
1
);
}
}
}
}
init_ftfuncs
(
thd
,
1
);
/* Check if we are modifying a key that we are used to search with */
/* Check if we are modifying a key that we are used to search with */
if
(
select
&&
select
->
quick
)
if
(
select
&&
select
->
quick
)
used_key_is_modified
=
(
!
select
->
quick
->
unique_key_range
()
&&
used_key_is_modified
=
(
!
select
->
quick
->
unique_key_range
()
&&
...
...
sql/stacktrace.c
View file @
9265a4df
...
@@ -218,5 +218,9 @@ void write_core(int sig)
...
@@ -218,5 +218,9 @@ void write_core(int sig)
{
{
signal
(
sig
,
SIG_DFL
);
signal
(
sig
,
SIG_DFL
);
pthread_kill
(
pthread_self
(),
sig
);
pthread_kill
(
pthread_self
(),
sig
);
#if defined(P_MYID)
/* On Solaris, the above kill is not enough */
sigsend
(
P_PID
,
P_MYID
,
sig
);
#endif
}
}
#endif
#endif
support-files/mysql.spec.sh
View file @
9265a4df
...
@@ -365,6 +365,7 @@ fi
...
@@ -365,6 +365,7 @@ fi
%attr
(
755, root, root
)
/usr/bin/replace
%attr
(
755, root, root
)
/usr/bin/replace
%attr
(
755, root, root
)
/usr/bin/resolveip
%attr
(
755, root, root
)
/usr/bin/resolveip
%attr
(
755, root, root
)
/usr/bin/mysqld_safe
%attr
(
755, root, root
)
/usr/bin/mysqld_safe
%attr
(
755, root, root
)
/usr/bin/resolve_stack_dump
%attr
(
755, root, root
)
/usr/bin/mysqld_multi
%attr
(
755, root, root
)
/usr/bin/mysqld_multi
%attr
(
755, root, root
)
/usr/bin/my_print_defaults
%attr
(
755, root, root
)
/usr/bin/my_print_defaults
...
...
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