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
ac77076f
Commit
ac77076f
authored
Apr 16, 2001
by
monty@donna.mysql.fi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed bug with HEAP tables when using LIKE
parent
801259b6
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
84 additions
and
9 deletions
+84
-9
Docs/manual.texi
Docs/manual.texi
+60
-7
mysql-test/r/heap.result
mysql-test/r/heap.result
+7
-0
mysql-test/t/heap.test
mysql-test/t/heap.test
+15
-0
sql/field.cc
sql/field.cc
+1
-1
sql/gen_lex_hash.cc
sql/gen_lex_hash.cc
+1
-1
No files found.
Docs/manual.texi
View file @
ac77076f
...
@@ -519,6 +519,7 @@ BDB or Berkeley_DB Tables
...
@@ -519,6 +519,7 @@ BDB or Berkeley_DB Tables
* BDB start::
* BDB start::
* BDB characteristic::
* BDB characteristic::
* BDB TODO::
* BDB TODO::
* BDB portability::
* BDB errors::
* BDB errors::
GEMINI Tables
GEMINI Tables
...
@@ -7467,11 +7468,6 @@ that you also probably need to raise the @code{core file size} by adding
...
@@ -7467,11 +7468,6 @@ that you also probably need to raise the @code{core file size} by adding
@code{ulimit -c 1000000} to @code{safe_mysqld} or starting @code{safe_mysqld}
@code{ulimit -c 1000000} to @code{safe_mysqld} or starting @code{safe_mysqld}
with @code{--core-file-sizes=1000000}. @xref{safe_mysqld}.
with @code{--core-file-sizes=1000000}. @xref{safe_mysqld}.
@c the stuff below is really out of date - hardly anybody uses it anymore
If you are using LinuxThreads and @code{mysqladmin shutdown} doesn't work,
you must upgrade to LinuxThreads Version 0.7.1 or newer.
To get a core dump on Linux if mysqld dies with a SIGSEGV signal, you can
To get a core dump on Linux if mysqld dies with a SIGSEGV signal, you can
start mysqld with the @code{--core-file} option. Note that you also probably
start mysqld with the @code{--core-file} option. Note that you also probably
need to raise the @code{core file size} by adding @code{ulimit -c 1000000} to
need to raise the @code{core file size} by adding @code{ulimit -c 1000000} to
...
@@ -23905,6 +23901,7 @@ SUM_OVER_ALL_KEYS(max_length_of_key + sizeof(char*) * 2)
...
@@ -23905,6 +23901,7 @@ SUM_OVER_ALL_KEYS(max_length_of_key + sizeof(char*) * 2)
* BDB start::
* BDB start::
* BDB characteristic::
* BDB characteristic::
* BDB TODO::
* BDB TODO::
* BDB portability::
* BDB errors::
* BDB errors::
@end menu
@end menu
...
@@ -23923,12 +23920,26 @@ distribution that has a couple of small patches to make it work more
...
@@ -23923,12 +23920,26 @@ distribution that has a couple of small patches to make it work more
smoothly with @strong{MySQL}. You can't use a not-patched @code{BDB}
smoothly with @strong{MySQL}. You can't use a not-patched @code{BDB}
version with @strong{MySQL}.
version with @strong{MySQL}.
We at MySQL AB are working in close cooperating with Sleepycat to
keep the quality of the @strong{MySQL} - BDB interface high.
When it comes to supporting BDB tables, we are committed to help our
users to locate the problem and help creating a reproducable test case
for any problems involving BDB tables. Any such test case will be
forwarded to Sleepycat who in turn will help us find and fix the
problem. As this is a two stage operating, any problems with BDB tables
may take a little longer for us to fix than for other table handlers,
but as the Berkeley code itself has been used by many other applications
than @strong{MySQL} we don't envision any big problems with this.
@xref{Table handler support}.
@node BDB install, BDB start, BDB overview, BDB
@node BDB install, BDB start, BDB overview, BDB
@subsection Installing BDB
@subsection Installing BDB
If you have downloaded a binary version of @strong{MySQL} that includes
If you have downloaded a binary version of @strong{MySQL} that includes
support for Berkeley DB, simply follow the instructions for
support for Berkeley DB, simply follow the instructions for
installing a binary version of @strong{MySQL}. @xref{Installing binary}.
installing a binary version of @strong{MySQL}. @xref{Installing binary}.
@xref{mysqld-max}.
To compile @strong{MySQL} with Berkeley DB support, download @strong{MySQL}
To compile @strong{MySQL} with Berkeley DB support, download @strong{MySQL}
3.23.34 or newer and configure @code{MySQL} with the
3.23.34 or newer and configure @code{MySQL} with the
...
@@ -24076,7 +24087,7 @@ contrast with @code{MyISAM} and @code{ISAM} tables where mysqld will
...
@@ -24076,7 +24087,7 @@ contrast with @code{MyISAM} and @code{ISAM} tables where mysqld will
wait for enough free disk before continuing.
wait for enough free disk before continuing.
@end itemize
@end itemize
@node BDB TODO, BDB
errors
, BDB characteristic, BDB
@node BDB TODO, BDB
portability
, BDB characteristic, BDB
@subsection Some things we need to fix for BDB in the near future:
@subsection Some things we need to fix for BDB in the near future:
@itemize @bullet
@itemize @bullet
...
@@ -24094,7 +24105,47 @@ Optimize performance.
...
@@ -24094,7 +24105,47 @@ Optimize performance.
Change to not use page locks at all when we are scanning tables.
Change to not use page locks at all when we are scanning tables.
@end itemize
@end itemize
@node BDB errors, , BDB TODO, BDB
@node BDB portability, BDB errors, BDB TODO, BDB
@subsection Operating systems supported by @strong{BDB}
If you after having built @strong{MySQL} with support for BDB tables get
the following error in the log file when you start @code{mysqld}:
@example
bdb: architecture lacks fast mutexes: applications cannot be threaded
Can't init dtabases
@end example
This means that @code{BDB} tables are not supported for your architecture.
In this case you have to rebuild @strong{MySQL} without BDB table support.
NOTE: The following list is not complete; We will update this as we get
more information about this.
Currently we know that BDB tables works with the following operating
system.
@itemize @bullet
@item
Linux 2.x intel
@item
Solaris sparc
@item
SCO OpenServer
@item
SCO UnixWare 7.0.1
@end itemize
It doesn't work with the following operating systems:
@itemize @bullet
@item
Linux 2.x Alpha
@item
Max OS X
@end itemize
@node BDB errors, , BDB portability, BDB
@subsection Errors You May Get When Using BDB Tables
@subsection Errors You May Get When Using BDB Tables
@itemize @bullet
@itemize @bullet
...
@@ -42938,6 +42989,8 @@ not yet 100% confident in this code.
...
@@ -42938,6 +42989,8 @@ not yet 100% confident in this code.
@appendixsubsec Changes in release 3.23.37
@appendixsubsec Changes in release 3.23.37
@itemize @bullet
@itemize @bullet
@item
@item
Fixed a bug when using @code{HEAP} tables with @code{LIKE}.
@item
Added @code{--mysql-version} to @code{safe_mysqld}
Added @code{--mysql-version} to @code{safe_mysqld}
@item
@item
Changed @code{INNOBASE} to @code{INNODB} (because the @code{INNOBASE}
Changed @code{INNOBASE} to @code{INNODB} (because the @code{INNOBASE}
mysql-test/r/heap.result
View file @
ac77076f
...
@@ -78,3 +78,10 @@ f1 f2
...
@@ -78,3 +78,10 @@ f1 f2
12 ted
12 ted
12 ted
12 ted
12 ted
12 ted
table type possible_keys key key_len ref rows Extra
t1 range btn btn 10 NULL 10 where used
btn
table type possible_keys key key_len ref rows Extra
t1 ALL btn NULL NULL NULL 14 where used
table type possible_keys key key_len ref rows Extra
t1 ref btn btn 11 const,const 10 where used
mysql-test/t/heap.test
View file @
ac77076f
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
# Test of heap tables.
# Test of heap tables.
#
#
drop
table
if
exists
t1
;
create
table
t1
(
a
int
not
null
,
b
int
not
null
,
primary
key
(
a
))
type
=
heap
comment
=
"testing heaps"
avg_row_length
=
100
min_rows
=
1
max_rows
=
100
;
create
table
t1
(
a
int
not
null
,
b
int
not
null
,
primary
key
(
a
))
type
=
heap
comment
=
"testing heaps"
avg_row_length
=
100
min_rows
=
1
max_rows
=
100
;
insert
into
t1
values
(
1
,
1
),(
2
,
2
),(
3
,
3
),(
4
,
4
);
insert
into
t1
values
(
1
,
1
),(
2
,
2
),(
3
,
3
),(
4
,
4
);
delete
from
t1
where
a
=
1
or
a
=
0
;
delete
from
t1
where
a
=
1
or
a
=
0
;
...
@@ -85,3 +86,17 @@ INSERT into t1 set f1=12,f2="ted";
...
@@ -85,3 +86,17 @@ INSERT into t1 set f1=12,f2="ted";
delete
from
t1
where
f2
=
"bill"
;
delete
from
t1
where
f2
=
"bill"
;
select
*
from
t1
;
select
*
from
t1
;
drop
table
t1
;
drop
table
t1
;
#
# Test when using part key searches
#
create
table
t1
(
btn
char
(
10
)
not
null
,
key
(
btn
))
type
=
heap
;
insert
into
t1
values
(
"hello"
),(
"hello"
),(
"hello"
),(
"hello"
),(
"hello"
),(
"a"
),(
"b"
),(
"c"
),(
"d"
),(
"e"
),(
"f"
),(
"g"
),(
"h"
),(
"i"
);
explain
select
*
from
t1
where
btn
like
"q%"
;
select
*
from
t1
where
btn
like
"q%"
;
alter
table
t1
add
column
new_col
char
(
1
)
not
null
,
add
key
(
btn
,
new_col
),
drop
key
btn
;
update
t1
set
new_col
=
btn
;
explain
select
*
from
t1
where
btn
=
"a"
;
explain
select
*
from
t1
where
btn
=
"a"
and
new_col
=
"a"
;
drop
table
t1
;
sql/field.cc
View file @
ac77076f
...
@@ -363,7 +363,7 @@ void Field::store_time(TIME *ltime,timestamp_type type)
...
@@ -363,7 +363,7 @@ void Field::store_time(TIME *ltime,timestamp_type type)
bool
Field
::
optimize_range
()
bool
Field
::
optimize_range
()
{
{
return
test
(
table
->
file
->
option_flag
()
&
HA_
READ_NEXT
);
return
test
(
table
->
file
->
option_flag
()
&
HA_
ONLY_WHOLE_INDEX
);
}
}
/****************************************************************************
/****************************************************************************
...
...
sql/gen_lex_hash.cc
View file @
ac77076f
...
@@ -472,7 +472,7 @@ int main(int argc,char **argv)
...
@@ -472,7 +472,7 @@ int main(int argc,char **argv)
int
error
;
int
error
;
MY_INIT
(
argv
[
0
]);
MY_INIT
(
argv
[
0
]);
start_value
=
6591595L
;
best_t1
=
6947666L
;
best_t2
=
6561864L
;
best_type
=
2
;
/* mode=4523 add=5
type: 0 */
start_value
=
2663113L
;
best_t1
=
1175350L
;
best_t2
=
7404531L
;
best_type
=
4
;
/* mode=4327 add=3
type: 0 */
if
(
get_options
(
argc
,(
char
**
)
argv
))
if
(
get_options
(
argc
,(
char
**
)
argv
))
exit
(
1
);
exit
(
1
);
...
...
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