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
aa0d0d20
Commit
aa0d0d20
authored
Jul 23, 2003
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0
parents
d289accb
9dce7500
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
90 additions
and
44 deletions
+90
-44
acinclude.m4
acinclude.m4
+42
-13
configure.in
configure.in
+1
-1
innobase/btr/btr0cur.c
innobase/btr/btr0cur.c
+25
-19
myisam/mi_locking.c
myisam/mi_locking.c
+8
-0
myisam/myisamchk.c
myisam/myisamchk.c
+8
-6
sql/ha_myisam.cc
sql/ha_myisam.cc
+5
-4
sql/sql_acl.cc
sql/sql_acl.cc
+1
-1
No files found.
acinclude.m4
View file @
aa0d0d20
...
...
@@ -709,6 +709,10 @@ AC_DEFUN(MYSQL_CHECK_VIO, [
])
AC_DEFUN(MYSQL_FIND_OPENSSL, [
incs="$1"
libs="$2"
case "$incs---$libs" in
---)
for d in /usr/ssl/include /usr/local/ssl/include /usr/include \
/usr/include/ssl /opt/ssl/include /opt/openssl/include \
/usr/local/ssl/include /usr/local/include ; do
...
...
@@ -723,6 +727,19 @@ AC_DEFUN(MYSQL_FIND_OPENSSL, [
OPENSSL_LIB=$d
fi
done
;;
---* | *---)
AC_MSG_ERROR([if either 'includes' or 'libs' is specified, both must be specified])
;;
* )
if test -f $incs/openssl/ssl.h ; then
OPENSSL_INCLUDE=-I$incs
fi
if test -f $libs/libssl.a ; then
OPENSSL_LIB=$libs
fi
;;
esac
# On RedHat 9 we need kerberos to compile openssl
for d in /usr/kerberos/include
...
...
@@ -752,11 +769,23 @@ AC_MSG_CHECKING(for OpenSSL)
[openssl="$withval"],
[openssl=no])
openssl_libs=""
openssl_includes=""
AC_ARG_WITH([openssl-includes],
[
--with-openssl-includes=DIR
Find OpenSSL headers in DIR],
[openssl_includes="$withval"],
[openssl_includes=""])
AC_ARG_WITH([openssl-libs],
[
--with-openssl-libs=DIR
Find OpenSSL libraries in DIR],
[openssl_libs="$withval"],
[openssl_libs=""])
if test "$openssl" = "yes"
then
MYSQL_FIND_OPENSSL
MYSQL_FIND_OPENSSL
([$openssl_includes], [$openssl_libs])
#force VIO use
vio_dir="vio"
vio_libs="../vio/libvio.la"
...
...
configure.in
View file @
aa0d0d20
...
...
@@ -4,7 +4,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT
(
sql/mysqld.cc
)
AC_CANONICAL_SYSTEM
# The Docs Makefile.am parses this line!
AM_INIT_AUTOMAKE
(
mysql, 4.0.1
4
)
AM_INIT_AUTOMAKE
(
mysql, 4.0.1
5
)
AM_CONFIG_HEADER
(
config.h
)
PROTOCOL_VERSION
=
10
...
...
innobase/btr/btr0cur.c
View file @
aa0d0d20
...
...
@@ -1107,6 +1107,10 @@ btr_cur_pessimistic_insert(
if
(
big_rec_vec
==
NULL
)
{
if
(
n_extents
>
0
)
{
fil_space_release_free_extents
(
index
->
space
,
n_extents
);
}
return
(
DB_TOO_BIG_RECORD
);
}
}
...
...
@@ -1784,21 +1788,6 @@ btr_cur_pessimistic_update(
trx
->
id
);
}
page_cursor
=
btr_cur_get_page_cur
(
cursor
);
/* Store state of explicit locks on rec on the page infimum record,
before deleting rec. The page infimum acts as a dummy carrier of the
locks, taking care also of lock releases, before we can move the locks
back on the actual record. There is a special case: if we are
inserting on the root page and the insert causes a call of
btr_root_raise_and_insert. Therefore we cannot in the lock system
delete the lock structs set on the root page even if the root
page carries just node pointers. */
lock_rec_store_on_page_infimum
(
rec
);
btr_search_update_hash_on_delete
(
cursor
);
if
(
flags
&
BTR_NO_UNDO_LOG_FLAG
)
{
/* We are in a transaction rollback undoing a row
update: we must free possible externally stored fields
...
...
@@ -1819,10 +1808,6 @@ btr_cur_pessimistic_update(
ext_vect
=
mem_heap_alloc
(
heap
,
sizeof
(
ulint
)
*
rec_get_n_fields
(
rec
));
n_ext_vect
=
btr_push_update_extern_fields
(
ext_vect
,
rec
,
update
);
page_cur_delete_rec
(
page_cursor
,
mtr
);
page_cur_move_to_prev
(
page_cursor
);
if
((
rec_get_converted_size
(
new_entry
)
>=
page_get_free_space_of_empty
()
/
2
)
||
(
rec_get_converted_size
(
new_entry
)
>=
REC_MAX_DATA_SIZE
))
{
...
...
@@ -1833,10 +1818,31 @@ btr_cur_pessimistic_update(
mem_heap_free
(
heap
);
err
=
DB_TOO_BIG_RECORD
;
goto
return_after_reservations
;
}
}
page_cursor
=
btr_cur_get_page_cur
(
cursor
);
/* Store state of explicit locks on rec on the page infimum record,
before deleting rec. The page infimum acts as a dummy carrier of the
locks, taking care also of lock releases, before we can move the locks
back on the actual record. There is a special case: if we are
inserting on the root page and the insert causes a call of
btr_root_raise_and_insert. Therefore we cannot in the lock system
delete the lock structs set on the root page even if the root
page carries just node pointers. */
lock_rec_store_on_page_infimum
(
rec
);
btr_search_update_hash_on_delete
(
cursor
);
page_cur_delete_rec
(
page_cursor
,
mtr
);
page_cur_move_to_prev
(
page_cursor
);
rec
=
btr_cur_insert_if_possible
(
cursor
,
new_entry
,
&
dummy_reorganized
,
mtr
);
ut_a
(
rec
||
optim_err
!=
DB_UNDERFLOW
);
...
...
myisam/mi_locking.c
View file @
aa0d0d20
...
...
@@ -39,6 +39,14 @@ int mi_lock_database(MI_INFO *info, int lock_type)
if
(
share
->
options
&
HA_OPTION_READ_ONLY_DATA
||
info
->
lock_type
==
lock_type
)
DBUG_RETURN
(
0
);
if
(
lock_type
==
F_EXTRA_LCK
)
{
++
share
->
w_locks
;
++
share
->
tot_locks
;
info
->
lock_type
=
lock_type
;
DBUG_RETURN
(
0
);
}
flag
=
error
=
0
;
pthread_mutex_lock
(
&
share
->
intern_lock
);
if
(
share
->
kfile
>=
0
)
/* May only be false on windows */
...
...
myisam/myisamchk.c
View file @
aa0d0d20
...
...
@@ -878,10 +878,7 @@ static int myisamchk(MI_CHECK *param, my_string filename)
param
->
error_printed
=
0
;
goto
end2
;
}
share
->
w_locks
++
;
/* Mark for writeinfo */
share
->
tot_locks
++
;
info
->
lock_type
=
F_EXTRA_LCK
;
/* Simulate as locked */
info
->
tmp_lock_type
=
lock_type
;
mi_lock_database
(
info
,
F_EXTRA_LCK
);
datafile
=
info
->
dfile
;
if
(
param
->
testflag
&
(
T_REP_ANY
|
T_SORT_RECORDS
|
T_SORT_INDEX
))
...
...
@@ -1057,8 +1054,7 @@ static int myisamchk(MI_CHECK *param, my_string filename)
VOID
(
lock_file
(
param
,
share
->
kfile
,
0L
,
F_UNLCK
,
"indexfile"
,
filename
));
info
->
update
&=
~
HA_STATE_CHANGED
;
}
share
->
w_locks
--
;
share
->
tot_locks
--
;
mi_lock_database
(
info
,
F_UNLCK
);
end2:
if
(
mi_close
(
info
))
{
...
...
@@ -1412,6 +1408,12 @@ static int mi_sort_records(MI_CHECK *param,
param
->
error_printed
=
0
;
DBUG_RETURN
(
-
1
);
}
if
(
share
->
data_file_type
==
COMPRESSED_RECORD
)
{
mi_check_print_error
(
param
,
"Can't sort read-only table '%s'"
,
name
);
param
->
error_printed
=
0
;
DBUG_RETURN
(
-
1
);
}
if
(
!
(
param
->
testflag
&
T_SILENT
))
{
printf
(
"- Sorting records for MyISAM-table '%s'
\n
"
,
name
);
...
...
sql/ha_myisam.cc
View file @
aa0d0d20
...
...
@@ -559,7 +559,8 @@ int ha_myisam::repair(THD *thd, MI_CHECK ¶m, bool optimize)
strmov
(
fixed_name
,
file
->
filename
);
// Don't lock tables if we have used LOCK TABLE
if
(
!
thd
->
locked_tables
&&
mi_lock_database
(
file
,
F_WRLCK
))
if
(
!
thd
->
locked_tables
&&
mi_lock_database
(
file
,
table
->
tmp_table
?
F_EXTRA_LCK
:
F_WRLCK
))
{
mi_check_print_error
(
&
param
,
ER
(
ER_CANT_LOCK
),
my_errno
);
DBUG_RETURN
(
HA_ADMIN_FAILED
);
...
...
@@ -999,9 +1000,9 @@ int ha_myisam::delete_table(const char *name)
int
ha_myisam
::
external_lock
(
THD
*
thd
,
int
lock_type
)
{
if
(
!
table
->
tmp_table
)
return
mi_lock_database
(
file
,
lock_type
);
return
0
;
return
mi_lock_database
(
file
,
!
table
->
tmp_table
?
lock_type
:
((
lock_type
==
F_UNLCK
)
?
F_UNLCK
:
F_EXTRA_LCK
))
;
}
...
...
sql/sql_acl.cc
View file @
aa0d0d20
...
...
@@ -725,7 +725,7 @@ static void acl_insert_user(const char *user, const char *host,
ulong
privileges
)
{
ACL_USER
acl_user
;
acl_user
.
user
=
strdup_root
(
&
mem
,
user
)
;
acl_user
.
user
=
*
user
?
strdup_root
(
&
mem
,
user
)
:
0
;
update_hostname
(
&
acl_user
.
host
,
strdup_root
(
&
mem
,
host
));
acl_user
.
password
=
0
;
acl_user
.
access
=
privileges
;
...
...
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