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
700c2332
Commit
700c2332
authored
Jun 22, 2004
by
marko@hundin.mysql.fi
Browse files
Options
Browse Files
Download
Plain Diff
Merge marko@build.mysql.com:/home/bk/mysql-4.0
into hundin.mysql.fi:/home/marko/k/mysql-4.0
parents
4fc8a451
fe3f6f4c
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
48 additions
and
7 deletions
+48
-7
mysql-test/r/innodb_cache.result
mysql-test/r/innodb_cache.result
+20
-1
mysql-test/r/range.result
mysql-test/r/range.result
+1
-1
mysql-test/t/innodb_cache.test
mysql-test/t/innodb_cache.test
+22
-1
sql/handler.cc
sql/handler.cc
+2
-3
sql/sql_select.cc
sql/sql_select.cc
+3
-1
No files found.
mysql-test/r/innodb_cache.result
View file @
700c2332
...
@@ -98,7 +98,7 @@ commit;
...
@@ -98,7 +98,7 @@ commit;
show status like "Qcache_queries_in_cache";
show status like "Qcache_queries_in_cache";
Variable_name Value
Variable_name Value
Qcache_queries_in_cache 1
Qcache_queries_in_cache 1
drop table
if exists
t1;
drop table
t3,t2,
t1;
CREATE TABLE t1 (id int(11) NOT NULL auto_increment, PRIMARY KEY (id)) TYPE=InnoDB;
CREATE TABLE t1 (id int(11) NOT NULL auto_increment, PRIMARY KEY (id)) TYPE=InnoDB;
select count(*) from t1;
select count(*) from t1;
count(*)
count(*)
...
@@ -108,3 +108,22 @@ select count(*) from t1;
...
@@ -108,3 +108,22 @@ select count(*) from t1;
count(*)
count(*)
1
1
drop table t1;
drop table t1;
set GLOBAL query_cache_size=1355776;
CREATE TABLE t1 ( id int(10) NOT NULL auto_increment, a varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY a (a)) TYPE=innodb;
CREATE TABLE t2 ( id int(10) NOT NULL auto_increment, b varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY b (b)) TYPE=innodb;
CREATE TABLE t3 ( id int(10) NOT NULL auto_increment, t1_id int(10) NOT NULL default '0', t2_id int(10) NOT NULL default '0', state int(11) default NULL, PRIMARY KEY (id), UNIQUE KEY t1_id (t1_id,t2_id), KEY t2_id (t2_id,t1_id), CONSTRAINT `t3_ibfk_1` FOREIGN KEY (`t1_id`) REFERENCES `t1` (`id`), CONSTRAINT `t3_ibfk_2` FOREIGN KEY (`t2_id`) REFERENCES `t2` (`id`)) TYPE=innodb;
INSERT INTO t1 VALUES (1,'me');
INSERT INTO t2 VALUES (1,'you');
INSERT INTO t3 VALUES (2,1,1,2);
delete from t3 where t1_id = 1 and t2_id = 1;
select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc;
id a
begin;
insert into t3 VALUES ( NULL, 1, 1, 2 );
insert into t3 VALUES ( NULL, 1, 1, 2 );
Duplicate entry '1-1' for key 2
commit;
select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc;
id a
1 me
drop table t3,t2,t1;
mysql-test/r/range.result
View file @
700c2332
...
@@ -255,7 +255,7 @@ t1 ref y y 5 const 1 Using where
...
@@ -255,7 +255,7 @@ t1 ref y y 5 const 1 Using where
t2 range x x 5 NULL 2 Using where
t2 range x x 5 NULL 2 Using where
explain select count(*) from t1 where x in (1);
explain select count(*) from t1 where x in (1);
table type possible_keys key key_len ref rows Extra
table type possible_keys key key_len ref rows Extra
t1 r
ange x x 5 NULL
1 Using where; Using index
t1 r
ef x x 5 const
1 Using where; Using index
explain select count(*) from t1 where x in (1,2);
explain select count(*) from t1 where x in (1,2);
table type possible_keys key key_len ref rows Extra
table type possible_keys key key_len ref rows Extra
t1 range x x 5 NULL 2 Using where; Using index
t1 range x x 5 NULL 2 Using where; Using index
...
...
mysql-test/t/innodb_cache.test
View file @
700c2332
...
@@ -48,10 +48,31 @@ show status like "Qcache_queries_in_cache";
...
@@ -48,10 +48,31 @@ show status like "Qcache_queries_in_cache";
show
status
like
"Qcache_hits"
;
show
status
like
"Qcache_hits"
;
commit
;
commit
;
show
status
like
"Qcache_queries_in_cache"
;
show
status
like
"Qcache_queries_in_cache"
;
drop
table
t3
,
t2
,
t1
;
drop
table
if
exists
t1
;
CREATE
TABLE
t1
(
id
int
(
11
)
NOT
NULL
auto_increment
,
PRIMARY
KEY
(
id
))
TYPE
=
InnoDB
;
CREATE
TABLE
t1
(
id
int
(
11
)
NOT
NULL
auto_increment
,
PRIMARY
KEY
(
id
))
TYPE
=
InnoDB
;
select
count
(
*
)
from
t1
;
select
count
(
*
)
from
t1
;
insert
into
t1
(
id
)
values
(
0
);
insert
into
t1
(
id
)
values
(
0
);
select
count
(
*
)
from
t1
;
select
count
(
*
)
from
t1
;
drop
table
t1
;
drop
table
t1
;
#
# one statement roll back inside transation
#
set
GLOBAL
query_cache_size
=
1355776
;
CREATE
TABLE
t1
(
id
int
(
10
)
NOT
NULL
auto_increment
,
a
varchar
(
25
)
default
NULL
,
PRIMARY
KEY
(
id
),
UNIQUE
KEY
a
(
a
))
TYPE
=
innodb
;
CREATE
TABLE
t2
(
id
int
(
10
)
NOT
NULL
auto_increment
,
b
varchar
(
25
)
default
NULL
,
PRIMARY
KEY
(
id
),
UNIQUE
KEY
b
(
b
))
TYPE
=
innodb
;
CREATE
TABLE
t3
(
id
int
(
10
)
NOT
NULL
auto_increment
,
t1_id
int
(
10
)
NOT
NULL
default
'0'
,
t2_id
int
(
10
)
NOT
NULL
default
'0'
,
state
int
(
11
)
default
NULL
,
PRIMARY
KEY
(
id
),
UNIQUE
KEY
t1_id
(
t1_id
,
t2_id
),
KEY
t2_id
(
t2_id
,
t1_id
),
CONSTRAINT
`t3_ibfk_1`
FOREIGN
KEY
(
`t1_id`
)
REFERENCES
`t1`
(
`id`
),
CONSTRAINT
`t3_ibfk_2`
FOREIGN
KEY
(
`t2_id`
)
REFERENCES
`t2`
(
`id`
))
TYPE
=
innodb
;
INSERT
INTO
t1
VALUES
(
1
,
'me'
);
INSERT
INTO
t2
VALUES
(
1
,
'you'
);
INSERT
INTO
t3
VALUES
(
2
,
1
,
1
,
2
);
delete
from
t3
where
t1_id
=
1
and
t2_id
=
1
;
select
t1
.*
from
t1
,
t2
,
t3
where
t3
.
state
&
1
=
0
and
t3
.
t1_id
=
t1
.
id
and
t3
.
t2_id
=
t2
.
id
and
t1
.
id
=
1
order
by
t1
.
a
asc
;
begin
;
insert
into
t3
VALUES
(
NULL
,
1
,
1
,
2
);
--
error
1062
insert
into
t3
VALUES
(
NULL
,
1
,
1
,
2
);
commit
;
select
t1
.*
from
t1
,
t2
,
t3
where
t3
.
state
&
1
=
0
and
t3
.
t1_id
=
t1
.
id
and
t3
.
t2_id
=
t2
.
id
and
t1
.
id
=
1
order
by
t1
.
a
asc
;
drop
table
t3
,
t2
,
t1
;
sql/handler.cc
View file @
700c2332
...
@@ -446,13 +446,12 @@ int ha_rollback_trans(THD *thd, THD_TRANS *trans)
...
@@ -446,13 +446,12 @@ int ha_rollback_trans(THD *thd, THD_TRANS *trans)
reinit_io_cache
(
&
thd
->
transaction
.
trans_log
,
reinit_io_cache
(
&
thd
->
transaction
.
trans_log
,
WRITE_CACHE
,
(
my_off_t
)
0
,
0
,
1
);
WRITE_CACHE
,
(
my_off_t
)
0
,
0
,
1
);
thd
->
transaction
.
trans_log
.
end_of_file
=
max_binlog_cache_size
;
thd
->
transaction
.
trans_log
.
end_of_file
=
max_binlog_cache_size
;
if
(
operation_done
)
thd
->
transaction
.
cleanup
();
}
}
thd
->
variables
.
tx_isolation
=
thd
->
session_tx_isolation
;
thd
->
variables
.
tx_isolation
=
thd
->
session_tx_isolation
;
if
(
operation_done
)
if
(
operation_done
)
{
statistic_increment
(
ha_rollback_count
,
&
LOCK_status
);
statistic_increment
(
ha_rollback_count
,
&
LOCK_status
);
thd
->
transaction
.
cleanup
();
}
}
}
#endif
/* USING_TRANSACTIONS */
#endif
/* USING_TRANSACTIONS */
DBUG_RETURN
(
error
);
DBUG_RETURN
(
error
);
...
...
sql/sql_select.cc
View file @
700c2332
...
@@ -1590,12 +1590,14 @@ add_key_fields(JOIN_TAB *stat,KEY_FIELD **key_fields,uint *and_level,
...
@@ -1590,12 +1590,14 @@ add_key_fields(JOIN_TAB *stat,KEY_FIELD **key_fields,uint *and_level,
// BETWEEN or IN
// BETWEEN or IN
if
(
cond_func
->
key_item
()
->
type
()
==
Item
::
FIELD_ITEM
)
if
(
cond_func
->
key_item
()
->
type
()
==
Item
::
FIELD_ITEM
)
add_key_field
(
key_fields
,
*
and_level
,
add_key_field
(
key_fields
,
*
and_level
,
((
Item_field
*
)
(
cond_func
->
key_item
()))
->
field
,
0
,
((
Item_field
*
)
(
cond_func
->
key_item
()))
->
field
,
#ifndef TO_BE_REMOVED_IN_4_1
#ifndef TO_BE_REMOVED_IN_4_1
/* special treatment for IN. Not necessary in 4.1 */
/* special treatment for IN. Not necessary in 4.1 */
cond_func
->
argument_count
()
==
1
,
cond_func
->
arguments
()
+
(
cond_func
->
functype
()
!=
Item_func
::
IN_FUNC
),
cond_func
->
arguments
()
+
(
cond_func
->
functype
()
!=
Item_func
::
IN_FUNC
),
cond_func
->
argument_count
()
-
(
cond_func
->
functype
()
!=
Item_func
::
IN_FUNC
),
cond_func
->
argument_count
()
-
(
cond_func
->
functype
()
!=
Item_func
::
IN_FUNC
),
#else
#else
cond_func
->
argument_count
()
==
2
,
cond_func
->
arguments
()
+
1
,
cond_func
->
argument_count
()
-
1
,
cond_func
->
arguments
()
+
1
,
cond_func
->
argument_count
()
-
1
,
#endif
#endif
usable_tables
);
usable_tables
);
...
...
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