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
698cebb6
Commit
698cebb6
authored
Oct 09, 2009
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge Sanja's fix of BUG#39249 into MariaDB 5.1.38 release clone.
parents
e702b70d
99ff6ada
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
44 additions
and
3 deletions
+44
-3
BUILD/SETUP.sh
BUILD/SETUP.sh
+1
-0
BUILD/compile-pentium-debug-max-no-qc
BUILD/compile-pentium-debug-max-no-qc
+10
-0
sql/mysql_priv.h
sql/mysql_priv.h
+0
-1
storage/maria/ha_maria.cc
storage/maria/ha_maria.cc
+6
-0
storage/maria/ma_state.c
storage/maria/ma_state.c
+9
-0
storage/maria/maria_def.h
storage/maria/maria_def.h
+5
-1
storage/myisam/ha_myisam.cc
storage/myisam/ha_myisam.cc
+3
-0
storage/myisam/mi_locking.c
storage/myisam/mi_locking.c
+6
-0
storage/myisam/myisamdef.h
storage/myisam/myisamdef.h
+4
-1
No files found.
BUILD/SETUP.sh
View file @
698cebb6
...
...
@@ -172,6 +172,7 @@ local_infile_configs="--enable-local-infile"
max_no_embedded_configs
=
"
$SSL_LIBRARY
--with-plugins=max"
max_no_qc_configs
=
"
$SSL_LIBRARY
--with-plugins=max --without-query-cache"
max_no_ndb_configs
=
"
$SSL_LIBRARY
--with-plugins=max-no-ndb --with-embedded-server --with-libevent"
max_configs
=
"
$SSL_LIBRARY
--with-plugins=max --with-embedded-server --with-libevent"
# Disable NDB in maria max builds
...
...
BUILD/compile-pentium-debug-max-no-qc
0 → 100755
View file @
698cebb6
#! /bin/sh
# Builds server without query cache support
path
=
`
dirname
$0
`
.
"
$path
/SETUP.sh"
extra_flags
=
"
$pentium_cflags
$debug_cflags
"
extra_configs
=
"
$pentium_configs
$debug_configs
$max_no_qc_configs
"
.
"
$path
/FINISH.sh"
sql/mysql_priv.h
View file @
698cebb6
...
...
@@ -947,7 +947,6 @@ struct Query_cache_query_flags
#define query_cache_abort(A)
#define query_cache_end_of_result(A)
#define query_cache_invalidate_by_MyISAM_filename_ref NULL
#define query_cache_maybe_disabled(T) 1
#define query_cache_is_cacheable_query(L) 0
#endif
/*HAVE_QUERY_CACHE*/
...
...
storage/maria/ha_maria.cc
View file @
698cebb6
...
...
@@ -28,6 +28,7 @@
#include <my_bit.h>
#include "ha_maria.h"
#include "trnman_public.h"
#include "trnman.h"
C_MODE_START
#include "maria_def.h"
...
...
@@ -918,6 +919,8 @@ int ha_maria::open(const char *name, int mode, uint test_if_locked)
if
(
!
(
file
=
maria_open
(
name
,
mode
,
test_if_locked
|
HA_OPEN_FROM_SQL_LAYER
)))
return
(
my_errno
?
my_errno
:
-
1
);
file
->
s
->
chst_invalidator
=
query_cache_invalidate_by_MyISAM_filename_ref
;
if
(
test_if_locked
&
(
HA_OPEN_IGNORE_IF_LOCKED
|
HA_OPEN_TMP_TABLE
))
VOID
(
maria_extra
(
file
,
HA_EXTRA_NO_WAIT_LOCK
,
0
));
...
...
@@ -3238,6 +3241,9 @@ my_bool ha_maria::register_query_cache_table(THD *thd, char *table_name,
*/
*
engine_data
=
0
;
if
(
file
->
s
->
now_transactional
&&
file
->
s
->
have_versioning
)
return
(
file
->
trn
->
trid
>=
file
->
s
->
state
.
last_change_trn
);
/*
If a concurrent INSERT has happened just before the currently processed
SELECT statement, the total size of the table is unknown.
...
...
storage/maria/ma_state.c
View file @
698cebb6
...
...
@@ -318,6 +318,13 @@ void _ma_update_status(void* param)
DBUG_ASSERT
(
!
info
->
s
->
base
.
born_transactional
);
share
->
state
.
state
=
*
info
->
state
;
info
->
state
=
&
share
->
state
.
state
;
#ifdef HAVE_QUERY_CACHE
DBUG_PRINT
(
"info"
,
(
"invalidator... '%s' (status update)"
,
info
->
s
->
data_file_name
.
str
));
DBUG_ASSERT
(
info
->
s
->
chst_invalidator
!=
NULL
);
(
*
info
->
s
->
chst_invalidator
)((
const
char
*
)
info
->
s
->
data_file_name
.
str
);
#endif
}
info
->
append_insert_at_end
=
0
;
}
...
...
@@ -469,6 +476,8 @@ my_bool _ma_trnman_end_trans_hook(TRN *trn, my_bool commit,
tables
->
state_start
.
checksum
);
history
->
trid
=
trn
->
commit_trid
;
share
->
state
.
last_change_trn
=
trn
->
commit_trid
;
if
(
history
->
next
)
{
/* Remove not visible states */
...
...
storage/maria/maria_def.h
View file @
698cebb6
...
...
@@ -83,6 +83,7 @@ typedef struct st_maria_state_info
pgcache_page_no_t
first_bitmap_with_space
;
ulonglong
auto_increment
;
TrID
create_trid
;
/* Minum trid for file */
TrID
last_change_trn
;
/* selfdescriptive */
ulong
update_count
;
/* Updated for each write lock */
ulong
status
;
double
*
rec_per_key_part
;
...
...
@@ -337,7 +338,10 @@ typedef struct st_maria_share
/* Mapings to read/write the data file */
size_t
(
*
file_read
)(
MARIA_HA
*
,
uchar
*
,
size_t
,
my_off_t
,
myf
);
size_t
(
*
file_write
)(
MARIA_HA
*
,
const
uchar
*
,
size_t
,
my_off_t
,
myf
);
invalidator_by_filename
invalidator
;
/* query cache invalidator */
/* query cache invalidator for merged tables */
invalidator_by_filename
invalidator
;
/* query cache invalidator for changing state */
invalidator_by_filename
chst_invalidator
;
my_off_t
key_del_current
;
/* delete links for index pages */
ulong
this_process
;
/* processid */
ulong
last_process
;
/* For table-change-check */
...
...
storage/myisam/ha_myisam.cc
View file @
698cebb6
...
...
@@ -690,6 +690,9 @@ int ha_myisam::open(const char *name, int mode, uint test_if_locked)
if
(
!
(
file
=
mi_open
(
name
,
mode
,
test_if_locked
|
HA_OPEN_FROM_SQL_LAYER
)))
return
(
my_errno
?
my_errno
:
-
1
);
file
->
s
->
chst_invalidator
=
query_cache_invalidate_by_MyISAM_filename_ref
;
if
(
!
table
->
s
->
tmp_table
)
/* No need to perform a check for tmp table */
{
if
((
my_errno
=
table2myisam
(
table
,
&
keyinfo
,
&
recinfo
,
&
recs
)))
...
...
storage/myisam/mi_locking.c
View file @
698cebb6
...
...
@@ -329,6 +329,12 @@ void mi_update_status(void* param)
#endif
info
->
s
->
state
.
state
=
*
info
->
state
;
info
->
state
=
&
info
->
s
->
state
.
state
;
#ifdef HAVE_QUERY_CACHE
DBUG_PRINT
(
"info"
,
(
"invalidator... '%s' (status update)"
,
info
->
filename
));
DBUG_ASSERT
(
info
->
s
->
chst_invalidator
!=
NULL
);
(
*
info
->
s
->
chst_invalidator
)((
const
char
*
)
info
->
filename
);
#endif
}
info
->
append_insert_at_end
=
0
;
...
...
storage/myisam/myisamdef.h
View file @
698cebb6
...
...
@@ -190,7 +190,10 @@ typedef struct st_mi_isam_share
const
uchar
*
record
,
my_off_t
pos
);
size_t
(
*
file_read
)
(
MI_INFO
*
,
uchar
*
,
size_t
,
my_off_t
,
myf
);
size_t
(
*
file_write
)
(
MI_INFO
*
,
const
uchar
*
,
size_t
,
my_off_t
,
myf
);
invalidator_by_filename
invalidator
;
/* query cache invalidator */
/* query cache invalidator for merged tables */
invalidator_by_filename
invalidator
;
/* query cache invalidator for changing state */
invalidator_by_filename
chst_invalidator
;
ulong
this_process
;
/* processid */
ulong
last_process
;
/* For table-change-check */
ulong
last_version
;
/* Version on start */
...
...
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