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
580cb3dd
Commit
580cb3dd
authored
Jun 23, 2004
by
monty@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/my/mysql-4.0
parents
ad86016e
c1f8591d
Changes
20
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
358 additions
and
135 deletions
+358
-135
BitKeeper/etc/logging_ok
BitKeeper/etc/logging_ok
+2
-0
Build-tools/my_md5sum
Build-tools/my_md5sum
+124
-0
acinclude.m4
acinclude.m4
+3
-2
extra/perror.c
extra/perror.c
+1
-1
innobase/include/mach0data.h
innobase/include/mach0data.h
+3
-3
innobase/include/mach0data.ic
innobase/include/mach0data.ic
+2
-2
innobase/include/mtr0log.h
innobase/include/mtr0log.h
+3
-1
innobase/include/mtr0log.ic
innobase/include/mtr0log.ic
+3
-1
innobase/mem/mem0dbg.c
innobase/mem/mem0dbg.c
+2
-1
innobase/pars/lexyy.c
innobase/pars/lexyy.c
+133
-111
innobase/pars/pars0lex.l
innobase/pars/pars0lex.l
+25
-2
man/mysqlaccess.1.in
man/mysqlaccess.1.in
+1
-2
man/mysqldump.1.in
man/mysqldump.1.in
+1
-1
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
mysys/hash.c
mysys/hash.c
+2
-1
sql/handler.cc
sql/handler.cc
+2
-3
sql/sql_select.cc
sql/sql_select.cc
+3
-1
vio/test-sslserver.c
vio/test-sslserver.c
+5
-0
No files found.
BitKeeper/etc/logging_ok
View file @
580cb3dd
...
...
@@ -65,6 +65,7 @@ marko@hundin.mysql.fi
miguel@hegel.(none)
miguel@hegel.br
miguel@hegel.local
miguel@hegel.txg
miguel@light.
miguel@light.local
miguel@sartre.local
...
...
@@ -86,6 +87,7 @@ monty@tramp.mysql.fi
monty@work.mysql.com
mwagner@cash.mwagner.org
mwagner@evoq.mwagner.org
mwagner@here.mwagner.org
mwagner@work.mysql.com
mysqldev@build.mysql2.com
nick@mysql.com
...
...
Build-tools/my_md5sum
0 → 100755
View file @
580cb3dd
#!/usr/bin/perl
#
# my_md5sum
#
# Script to clone the 'md5sum' command found on modern systems, since that
# command is not always found on all systems.
#
# Use the "--help" option for more info!
#
# Written by Matt Wagner <matt@mysql.com>
#
use
strict
;
use
Digest::
MD5
;
use
Getopt::
Long
;
my
$VER
=
"
1.1
";
#
# Strip the leading path info off the program name ($0). We want 'my_md5sum'
# not './my_md5sum'.
#
$0
=~
s/^.*\/(.+)$/$1/
;
my
(
$opt_check
,
$opt_help
)
=
undef
;
GetOptions
(
"
check|c
"
=>
\
$opt_check
,
"
help|h
"
=>
\
$opt_help
,
)
||
usage
();
#
# Put all the [file1 file2 file3 ...]'s into an array
#
my
@files
=
@ARGV
;
#
# Give the "--help" text if:
# - "--help|-h" was specified
# - The number of files given as arguments is nil
# - The "--check|-c" option is used with more than one [file] argument
#
usage
()
if
$opt_help
||
$#files
==
-
1
||
(
$opt_check
&&
$#files
>
0
);
# If "--check|-c", then go into checking
if
(
$opt_check
)
{
open
(
CHECKFILE
,
$files
[
0
])
or
die
"
$files
[0]: $!
";
while
(
<
CHECKFILE
>
)
{
#
# Goto the next line in the file if it does not match a typical
# digest line like:
#
# f1007efa2c72daa693981ec764cdeaca Bootstrap
#
next
if
$_
!~
m/^([a-z0-9]{32})\s+(.+)$/
;
# Collect the trappings from the above regex
my
$checksum
=
$1
;
my
$checkfile
=
$2
;
# Generate a fresh MD5 for the file in question
my
$digest
=
&
mkmd5
(
$checkfile
);
# Check the fresh MD5 against what is recorded in the file
# Print an error message if they don't match, else print OK
print
"
$checkfile
: FAILED
\n
"
if
$digest
ne
$checksum
;
print
"
$checkfile
: OK
\n
"
if
$digest
eq
$checksum
;
}
}
# Else generate the MD5 digest to STDOUT
else
{
foreach
my
$file
(
@files
)
{
my
$digest
=
&
mkmd5
(
$file
);
print
"
$digest
$file
\n
";
}
}
#
# This routine generates the MD5 digest of a file
#
sub
mkmd5
{
my
$file
=
shift
;
open
(
FILE
,
$file
)
or
die
"
$file
: $!
";
binmode
(
FILE
);
my
$digest
=
Digest::
MD5
->
new
->
addfile
(
*
FILE
)
->
hexdigest
;
close
FILE
;
return
$digest
;
}
#
# Print the help text
#
sub
usage
{
print
<<EOF;
$0 version $VER by Matt Wagner <matt\@mysql.com>
Usage:
$0 [-c [file]] | [file1...]
Generates or checks MD5 message digests.
Options:
-c, --check Check message digests (default is generate)
-h, --help Display this text and exit
The input for -c should be the list of message digests and file names that is
printed on STDOUT by this program when it generates digests.
EOF
exit
(
0
);
}
acinclude.m4
View file @
580cb3dd
...
...
@@ -737,14 +737,15 @@ AC_DEFUN(MYSQL_FIND_OPENSSL, [
---)
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
/usr/local/ssl/include /usr/local/include
/usr/freeware/include
; do
if test -f $d/openssl/ssl.h ; then
OPENSSL_INCLUDE=-I$d
fi
done
for d in /usr/ssl/lib /usr/local/ssl/lib /usr/lib/openssl \
/usr/lib /usr/lib64 /opt/ssl/lib /opt/openssl/lib /usr/local/lib/ ; do
/usr/lib /usr/lib64 /opt/ssl/lib /opt/openssl/lib \
/usr/freeware/lib32 /usr/local/lib/ ; do
if test -f $d/libssl.a || test -f $d/libssl.so || test -f $d/libssl.dylib ; then
OPENSSL_LIB=$d
fi
...
...
extra/perror.c
View file @
580cb3dd
...
...
@@ -233,7 +233,7 @@ int main(int argc,char *argv[])
else
{
if
(
verbose
)
printf
(
"MyS
ql
error: %3d = %s
\n
"
,
code
,
msg
);
printf
(
"MyS
QL
error: %3d = %s
\n
"
,
code
,
msg
);
else
puts
(
msg
);
}
...
...
innobase/include/mach0data.h
View file @
580cb3dd
...
...
@@ -89,7 +89,7 @@ mach_read_from_4(
/* out: ulint integer */
byte
*
b
);
/* in: pointer to four bytes */
/*************************************************************
Writes a ulint in a compressed form. */
Writes a ulint in a compressed form
(1..5 bytes)
. */
UNIV_INLINE
ulint
mach_write_compressed
(
...
...
@@ -168,7 +168,7 @@ mach_read_from_8(
/* out: dulint integer */
byte
*
b
);
/* in: pointer to 8 bytes */
/*************************************************************
Writes a dulint in a compressed form. */
Writes a dulint in a compressed form
(5..9 bytes)
. */
UNIV_INLINE
ulint
mach_dulint_write_compressed
(
...
...
@@ -193,7 +193,7 @@ mach_dulint_read_compressed(
/* out: read dulint */
byte
*
b
);
/* in: pointer to memory from where to read */
/*************************************************************
Writes a dulint in a compressed form. */
Writes a dulint in a compressed form
(1..11 bytes)
. */
UNIV_INLINE
ulint
mach_dulint_write_much_compressed
(
...
...
innobase/include/mach0data.ic
View file @
580cb3dd
...
...
@@ -366,7 +366,7 @@ mach_read_from_6(
}
/*************************************************************
Writes a dulint in a compressed form. */
Writes a dulint in a compressed form
(5..9 bytes)
. */
UNIV_INLINE
ulint
mach_dulint_write_compressed(
...
...
@@ -422,7 +422,7 @@ mach_dulint_read_compressed(
}
/*************************************************************
Writes a dulint in a compressed form. */
Writes a dulint in a compressed form
(1..11 bytes)
. */
UNIV_INLINE
ulint
mach_dulint_write_much_compressed(
...
...
innobase/include/mtr0log.h
View file @
580cb3dd
...
...
@@ -108,7 +108,9 @@ mlog_close(
mtr_t
*
mtr
,
/* in: mtr */
byte
*
ptr
);
/* in: buffer space from ptr up was not used */
/************************************************************
Writes the initial part of a log record. */
Writes the initial part of a log record (3..11 bytes).
If the implementation of this function is changed, all
size parameters to mlog_open() should be adjusted accordingly! */
UNIV_INLINE
byte
*
mlog_write_initial_log_record_fast
(
...
...
innobase/include/mtr0log.ic
View file @
580cb3dd
...
...
@@ -137,7 +137,9 @@ mlog_catenate_dulint_compressed(
}
/************************************************************
Writes the initial part of a log record. */
Writes the initial part of a log record (3..11 bytes).
If the implementation of this function is changed, all
size parameters to mlog_open() should be adjusted accordingly! */
UNIV_INLINE
byte*
mlog_write_initial_log_record_fast(
...
...
innobase/mem/mem0dbg.c
View file @
580cb3dd
...
...
@@ -22,6 +22,7 @@ static ulint mem_n_allocations = 0;
static
ulint
mem_total_allocated_memory
=
0
;
ulint
mem_current_allocated_memory
=
0
;
static
ulint
mem_max_allocated_memory
=
0
;
static
ulint
mem_last_print_info
=
0
;
/* Size of the hash table for memory management tracking */
#define MEM_HASH_SIZE 997
...
...
innobase/pars/lexyy.c
View file @
580cb3dd
...
...
@@ -25,7 +25,6 @@
#ifdef __cplusplus
#include <stdlib.h>
#include <unistd.h>
/* Use prototypes in function declarations. */
#define YY_USE_PROTOS
...
...
@@ -934,31 +933,54 @@ case 3:
YY_RULE_SETUP
#line 116 "pars0lex.l"
{
/* Quoted character string literals are handled in an explicit
start state 'quoted'. This state is entered and the buffer for
the scanned string is emptied upon encountering a starting quote.
In the state 'quoted', only two actions are possible (defined below). */
BEGIN
(
quoted
);
stringbuf_len
=
0
;
}
YY_BREAK
case
4
:
YY_RULE_SETUP
#line 120 "pars0lex.l"
string_append
(
yytext
,
yyleng
);
#line 125 "pars0lex.l"
{
/* Got a sequence of characters other than "'":
append to string buffer */
string_append
(
yytext
,
yyleng
);
}
YY_BREAK
case
5
:
YY_RULE_SETUP
#line 121 "pars0lex.l"
{
string_append
(
yytext
,
yyleng
/
2
);
#line 130 "pars0lex.l"
{
/* Got a sequence of "'" characters:
append half of them to string buffer,
as "''" represents a single "'".
We apply truncating division,
so that "'''" will result in "'". */
string_append
(
yytext
,
yyleng
/
2
);
/* If we got an odd number of quotes, then the
last quote we got is the terminating quote.
At the end of the string, we return to the
initial start state and report the scanned
string literal. */
if
(
yyleng
%
2
)
{
BEGIN
(
INITIAL
);
yylval
=
sym_tab_add_str_lit
(
pars_sym_tab_global
,
stringbuf
,
stringbuf_len
);
(
byte
*
)
stringbuf
,
stringbuf_len
);
return
(
PARS_STR_LIT
);
}
}
YY_BREAK
case
6
:
YY_RULE_SETUP
#line 1
31
"pars0lex.l"
#line 1
54
"pars0lex.l"
{
yylval
=
sym_tab_add_null_lit
(
pars_sym_tab_global
);
...
...
@@ -967,521 +989,521 @@ YY_RULE_SETUP
YY_BREAK
case
7
:
YY_RULE_SETUP
#line 1
37
"pars0lex.l"
#line 1
60
"pars0lex.l"
{
/* Implicit cursor name */
yylval
=
sym_tab_add_str_lit
(
pars_sym_tab_global
,
yytext
,
yyleng
);
(
byte
*
)
yytext
,
yyleng
);
return
(
PARS_SQL_TOKEN
);
}
YY_BREAK
case
8
:
YY_RULE_SETUP
#line 1
44
"pars0lex.l"
#line 1
67
"pars0lex.l"
{
return
(
PARS_AND_TOKEN
);
}
YY_BREAK
case
9
:
YY_RULE_SETUP
#line 1
48
"pars0lex.l"
#line 1
71
"pars0lex.l"
{
return
(
PARS_OR_TOKEN
);
}
YY_BREAK
case
10
:
YY_RULE_SETUP
#line 1
52
"pars0lex.l"
#line 1
75
"pars0lex.l"
{
return
(
PARS_NOT_TOKEN
);
}
YY_BREAK
case
11
:
YY_RULE_SETUP
#line 1
56
"pars0lex.l"
#line 1
79
"pars0lex.l"
{
return
(
PARS_PROCEDURE_TOKEN
);
}
YY_BREAK
case
12
:
YY_RULE_SETUP
#line 1
60
"pars0lex.l"
#line 1
83
"pars0lex.l"
{
return
(
PARS_IN_TOKEN
);
}
YY_BREAK
case
13
:
YY_RULE_SETUP
#line 1
64
"pars0lex.l"
#line 1
87
"pars0lex.l"
{
return
(
PARS_OUT_TOKEN
);
}
YY_BREAK
case
14
:
YY_RULE_SETUP
#line 1
68
"pars0lex.l"
#line 1
91
"pars0lex.l"
{
return
(
PARS_INT_TOKEN
);
}
YY_BREAK
case
15
:
YY_RULE_SETUP
#line 1
72
"pars0lex.l"
#line 1
95
"pars0lex.l"
{
return
(
PARS_INT_TOKEN
);
}
YY_BREAK
case
16
:
YY_RULE_SETUP
#line 1
76
"pars0lex.l"
#line 1
99
"pars0lex.l"
{
return
(
PARS_FLOAT_TOKEN
);
}
YY_BREAK
case
17
:
YY_RULE_SETUP
#line
180
"pars0lex.l"
#line
203
"pars0lex.l"
{
return
(
PARS_CHAR_TOKEN
);
}
YY_BREAK
case
18
:
YY_RULE_SETUP
#line
184
"pars0lex.l"
#line
207
"pars0lex.l"
{
return
(
PARS_IS_TOKEN
);
}
YY_BREAK
case
19
:
YY_RULE_SETUP
#line
188
"pars0lex.l"
#line
211
"pars0lex.l"
{
return
(
PARS_BEGIN_TOKEN
);
}
YY_BREAK
case
20
:
YY_RULE_SETUP
#line
192
"pars0lex.l"
#line
215
"pars0lex.l"
{
return
(
PARS_END_TOKEN
);
}
YY_BREAK
case
21
:
YY_RULE_SETUP
#line
196
"pars0lex.l"
#line
219
"pars0lex.l"
{
return
(
PARS_IF_TOKEN
);
}
YY_BREAK
case
22
:
YY_RULE_SETUP
#line 2
00
"pars0lex.l"
#line 2
23
"pars0lex.l"
{
return
(
PARS_THEN_TOKEN
);
}
YY_BREAK
case
23
:
YY_RULE_SETUP
#line 2
04
"pars0lex.l"
#line 2
27
"pars0lex.l"
{
return
(
PARS_ELSE_TOKEN
);
}
YY_BREAK
case
24
:
YY_RULE_SETUP
#line 2
08
"pars0lex.l"
#line 2
31
"pars0lex.l"
{
return
(
PARS_ELSIF_TOKEN
);
}
YY_BREAK
case
25
:
YY_RULE_SETUP
#line 2
12
"pars0lex.l"
#line 2
35
"pars0lex.l"
{
return
(
PARS_LOOP_TOKEN
);
}
YY_BREAK
case
26
:
YY_RULE_SETUP
#line 2
16
"pars0lex.l"
#line 2
39
"pars0lex.l"
{
return
(
PARS_WHILE_TOKEN
);
}
YY_BREAK
case
27
:
YY_RULE_SETUP
#line 2
20
"pars0lex.l"
#line 2
43
"pars0lex.l"
{
return
(
PARS_RETURN_TOKEN
);
}
YY_BREAK
case
28
:
YY_RULE_SETUP
#line 2
24
"pars0lex.l"
#line 2
47
"pars0lex.l"
{
return
(
PARS_SELECT_TOKEN
);
}
YY_BREAK
case
29
:
YY_RULE_SETUP
#line 2
28
"pars0lex.l"
#line 2
51
"pars0lex.l"
{
return
(
PARS_SUM_TOKEN
);
}
YY_BREAK
case
30
:
YY_RULE_SETUP
#line 2
32
"pars0lex.l"
#line 2
55
"pars0lex.l"
{
return
(
PARS_COUNT_TOKEN
);
}
YY_BREAK
case
31
:
YY_RULE_SETUP
#line 2
36
"pars0lex.l"
#line 2
59
"pars0lex.l"
{
return
(
PARS_DISTINCT_TOKEN
);
}
YY_BREAK
case
32
:
YY_RULE_SETUP
#line 2
40
"pars0lex.l"
#line 2
63
"pars0lex.l"
{
return
(
PARS_FROM_TOKEN
);
}
YY_BREAK
case
33
:
YY_RULE_SETUP
#line 2
44
"pars0lex.l"
#line 2
67
"pars0lex.l"
{
return
(
PARS_WHERE_TOKEN
);
}
YY_BREAK
case
34
:
YY_RULE_SETUP
#line 2
48
"pars0lex.l"
#line 2
71
"pars0lex.l"
{
return
(
PARS_FOR_TOKEN
);
}
YY_BREAK
case
35
:
YY_RULE_SETUP
#line 2
52
"pars0lex.l"
#line 2
75
"pars0lex.l"
{
return
(
PARS_CONSISTENT_TOKEN
);
}
YY_BREAK
case
36
:
YY_RULE_SETUP
#line 2
56
"pars0lex.l"
#line 2
79
"pars0lex.l"
{
return
(
PARS_READ_TOKEN
);
}
YY_BREAK
case
37
:
YY_RULE_SETUP
#line 2
60
"pars0lex.l"
#line 2
83
"pars0lex.l"
{
return
(
PARS_ORDER_TOKEN
);
}
YY_BREAK
case
38
:
YY_RULE_SETUP
#line 2
64
"pars0lex.l"
#line 2
87
"pars0lex.l"
{
return
(
PARS_BY_TOKEN
);
}
YY_BREAK
case
39
:
YY_RULE_SETUP
#line 2
68
"pars0lex.l"
#line 2
91
"pars0lex.l"
{
return
(
PARS_ASC_TOKEN
);
}
YY_BREAK
case
40
:
YY_RULE_SETUP
#line 2
72
"pars0lex.l"
#line 2
95
"pars0lex.l"
{
return
(
PARS_DESC_TOKEN
);
}
YY_BREAK
case
41
:
YY_RULE_SETUP
#line 2
76
"pars0lex.l"
#line 2
99
"pars0lex.l"
{
return
(
PARS_INSERT_TOKEN
);
}
YY_BREAK
case
42
:
YY_RULE_SETUP
#line
280
"pars0lex.l"
#line
303
"pars0lex.l"
{
return
(
PARS_INTO_TOKEN
);
}
YY_BREAK
case
43
:
YY_RULE_SETUP
#line
284
"pars0lex.l"
#line
307
"pars0lex.l"
{
return
(
PARS_VALUES_TOKEN
);
}
YY_BREAK
case
44
:
YY_RULE_SETUP
#line
288
"pars0lex.l"
#line
311
"pars0lex.l"
{
return
(
PARS_UPDATE_TOKEN
);
}
YY_BREAK
case
45
:
YY_RULE_SETUP
#line
292
"pars0lex.l"
#line
315
"pars0lex.l"
{
return
(
PARS_SET_TOKEN
);
}
YY_BREAK
case
46
:
YY_RULE_SETUP
#line
296
"pars0lex.l"
#line
319
"pars0lex.l"
{
return
(
PARS_DELETE_TOKEN
);
}
YY_BREAK
case
47
:
YY_RULE_SETUP
#line 3
00
"pars0lex.l"
#line 3
23
"pars0lex.l"
{
return
(
PARS_CURRENT_TOKEN
);
}
YY_BREAK
case
48
:
YY_RULE_SETUP
#line 3
04
"pars0lex.l"
#line 3
27
"pars0lex.l"
{
return
(
PARS_OF_TOKEN
);
}
YY_BREAK
case
49
:
YY_RULE_SETUP
#line 3
08
"pars0lex.l"
#line 3
31
"pars0lex.l"
{
return
(
PARS_CREATE_TOKEN
);
}
YY_BREAK
case
50
:
YY_RULE_SETUP
#line 3
12
"pars0lex.l"
#line 3
35
"pars0lex.l"
{
return
(
PARS_TABLE_TOKEN
);
}
YY_BREAK
case
51
:
YY_RULE_SETUP
#line 3
16
"pars0lex.l"
#line 3
39
"pars0lex.l"
{
return
(
PARS_INDEX_TOKEN
);
}
YY_BREAK
case
52
:
YY_RULE_SETUP
#line 3
20
"pars0lex.l"
#line 3
43
"pars0lex.l"
{
return
(
PARS_UNIQUE_TOKEN
);
}
YY_BREAK
case
53
:
YY_RULE_SETUP
#line 3
24
"pars0lex.l"
#line 3
47
"pars0lex.l"
{
return
(
PARS_CLUSTERED_TOKEN
);
}
YY_BREAK
case
54
:
YY_RULE_SETUP
#line 3
28
"pars0lex.l"
#line 3
51
"pars0lex.l"
{
return
(
PARS_DOES_NOT_FIT_IN_MEM_TOKEN
);
}
YY_BREAK
case
55
:
YY_RULE_SETUP
#line 3
32
"pars0lex.l"
#line 3
55
"pars0lex.l"
{
return
(
PARS_ON_TOKEN
);
}
YY_BREAK
case
56
:
YY_RULE_SETUP
#line 3
36
"pars0lex.l"
#line 3
59
"pars0lex.l"
{
return
(
PARS_DECLARE_TOKEN
);
}
YY_BREAK
case
57
:
YY_RULE_SETUP
#line 3
40
"pars0lex.l"
#line 3
63
"pars0lex.l"
{
return
(
PARS_CURSOR_TOKEN
);
}
YY_BREAK
case
58
:
YY_RULE_SETUP
#line 3
44
"pars0lex.l"
#line 3
67
"pars0lex.l"
{
return
(
PARS_OPEN_TOKEN
);
}
YY_BREAK
case
59
:
YY_RULE_SETUP
#line 3
48
"pars0lex.l"
#line 3
71
"pars0lex.l"
{
return
(
PARS_FETCH_TOKEN
);
}
YY_BREAK
case
60
:
YY_RULE_SETUP
#line 3
52
"pars0lex.l"
#line 3
75
"pars0lex.l"
{
return
(
PARS_CLOSE_TOKEN
);
}
YY_BREAK
case
61
:
YY_RULE_SETUP
#line 3
56
"pars0lex.l"
#line 3
79
"pars0lex.l"
{
return
(
PARS_NOTFOUND_TOKEN
);
}
YY_BREAK
case
62
:
YY_RULE_SETUP
#line 3
60
"pars0lex.l"
#line 3
83
"pars0lex.l"
{
return
(
PARS_TO_CHAR_TOKEN
);
}
YY_BREAK
case
63
:
YY_RULE_SETUP
#line 3
64
"pars0lex.l"
#line 3
87
"pars0lex.l"
{
return
(
PARS_TO_NUMBER_TOKEN
);
}
YY_BREAK
case
64
:
YY_RULE_SETUP
#line 3
68
"pars0lex.l"
#line 3
91
"pars0lex.l"
{
return
(
PARS_TO_BINARY_TOKEN
);
}
YY_BREAK
case
65
:
YY_RULE_SETUP
#line 3
72
"pars0lex.l"
#line 3
95
"pars0lex.l"
{
return
(
PARS_BINARY_TO_NUMBER_TOKEN
);
}
YY_BREAK
case
66
:
YY_RULE_SETUP
#line 3
76
"pars0lex.l"
#line 3
99
"pars0lex.l"
{
return
(
PARS_SUBSTR_TOKEN
);
}
YY_BREAK
case
67
:
YY_RULE_SETUP
#line
380
"pars0lex.l"
#line
403
"pars0lex.l"
{
return
(
PARS_REPLSTR_TOKEN
);
}
YY_BREAK
case
68
:
YY_RULE_SETUP
#line
384
"pars0lex.l"
#line
407
"pars0lex.l"
{
return
(
PARS_CONCAT_TOKEN
);
}
YY_BREAK
case
69
:
YY_RULE_SETUP
#line
388
"pars0lex.l"
#line
411
"pars0lex.l"
{
return
(
PARS_INSTR_TOKEN
);
}
YY_BREAK
case
70
:
YY_RULE_SETUP
#line
392
"pars0lex.l"
#line
415
"pars0lex.l"
{
return
(
PARS_LENGTH_TOKEN
);
}
YY_BREAK
case
71
:
YY_RULE_SETUP
#line
396
"pars0lex.l"
#line
419
"pars0lex.l"
{
return
(
PARS_SYSDATE_TOKEN
);
}
YY_BREAK
case
72
:
YY_RULE_SETUP
#line 4
00
"pars0lex.l"
#line 4
23
"pars0lex.l"
{
return
(
PARS_PRINTF_TOKEN
);
}
YY_BREAK
case
73
:
YY_RULE_SETUP
#line 4
04
"pars0lex.l"
#line 4
27
"pars0lex.l"
{
return
(
PARS_ASSERT_TOKEN
);
}
YY_BREAK
case
74
:
YY_RULE_SETUP
#line 4
08
"pars0lex.l"
#line 4
31
"pars0lex.l"
{
return
(
PARS_RND_TOKEN
);
}
YY_BREAK
case
75
:
YY_RULE_SETUP
#line 4
12
"pars0lex.l"
#line 4
35
"pars0lex.l"
{
return
(
PARS_RND_STR_TOKEN
);
}
YY_BREAK
case
76
:
YY_RULE_SETUP
#line 4
16
"pars0lex.l"
#line 4
39
"pars0lex.l"
{
return
(
PARS_ROW_PRINTF_TOKEN
);
}
YY_BREAK
case
77
:
YY_RULE_SETUP
#line 4
20
"pars0lex.l"
#line 4
43
"pars0lex.l"
{
return
(
PARS_COMMIT_TOKEN
);
}
YY_BREAK
case
78
:
YY_RULE_SETUP
#line 4
24
"pars0lex.l"
#line 4
47
"pars0lex.l"
{
return
(
PARS_ROLLBACK_TOKEN
);
}
YY_BREAK
case
79
:
YY_RULE_SETUP
#line 4
28
"pars0lex.l"
#line 4
51
"pars0lex.l"
{
return
(
PARS_WORK_TOKEN
);
}
YY_BREAK
case
80
:
YY_RULE_SETUP
#line 4
32
"pars0lex.l"
#line 4
55
"pars0lex.l"
{
yylval
=
sym_tab_add_id
(
pars_sym_tab_global
,
(
byte
*
)
yytext
,
...
...
@@ -1491,42 +1513,42 @@ YY_RULE_SETUP
YY_BREAK
case
81
:
YY_RULE_SETUP
#line 4
39
"pars0lex.l"
#line 4
62
"pars0lex.l"
{
return
(
PARS_DDOT_TOKEN
);
}
YY_BREAK
case
82
:
YY_RULE_SETUP
#line 4
43
"pars0lex.l"
#line 4
66
"pars0lex.l"
{
return
(
PARS_ASSIGN_TOKEN
);
}
YY_BREAK
case
83
:
YY_RULE_SETUP
#line 4
47
"pars0lex.l"
#line 4
70
"pars0lex.l"
{
return
(
PARS_LE_TOKEN
);
}
YY_BREAK
case
84
:
YY_RULE_SETUP
#line 4
51
"pars0lex.l"
#line 4
74
"pars0lex.l"
{
return
(
PARS_GE_TOKEN
);
}
YY_BREAK
case
85
:
YY_RULE_SETUP
#line 4
55
"pars0lex.l"
#line 4
78
"pars0lex.l"
{
return
(
PARS_NE_TOKEN
);
}
YY_BREAK
case
86
:
YY_RULE_SETUP
#line 4
59
"pars0lex.l"
#line 4
82
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1534,7 +1556,7 @@ YY_RULE_SETUP
YY_BREAK
case
87
:
YY_RULE_SETUP
#line 4
64
"pars0lex.l"
#line 4
87
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1542,7 +1564,7 @@ YY_RULE_SETUP
YY_BREAK
case
88
:
YY_RULE_SETUP
#line 4
69
"pars0lex.l"
#line 4
92
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1550,7 +1572,7 @@ YY_RULE_SETUP
YY_BREAK
case
89
:
YY_RULE_SETUP
#line 4
74
"pars0lex.l"
#line 4
97
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1558,7 +1580,7 @@ YY_RULE_SETUP
YY_BREAK
case
90
:
YY_RULE_SETUP
#line
479
"pars0lex.l"
#line
502
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1566,7 +1588,7 @@ YY_RULE_SETUP
YY_BREAK
case
91
:
YY_RULE_SETUP
#line
484
"pars0lex.l"
#line
507
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1574,7 +1596,7 @@ YY_RULE_SETUP
YY_BREAK
case
92
:
YY_RULE_SETUP
#line
489
"pars0lex.l"
#line
512
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1582,7 +1604,7 @@ YY_RULE_SETUP
YY_BREAK
case
93
:
YY_RULE_SETUP
#line
494
"pars0lex.l"
#line
517
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1590,7 +1612,7 @@ YY_RULE_SETUP
YY_BREAK
case
94
:
YY_RULE_SETUP
#line
499
"pars0lex.l"
#line
522
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1598,7 +1620,7 @@ YY_RULE_SETUP
YY_BREAK
case
95
:
YY_RULE_SETUP
#line 5
04
"pars0lex.l"
#line 5
27
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1606,7 +1628,7 @@ YY_RULE_SETUP
YY_BREAK
case
96
:
YY_RULE_SETUP
#line 5
09
"pars0lex.l"
#line 5
32
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1614,7 +1636,7 @@ YY_RULE_SETUP
YY_BREAK
case
97
:
YY_RULE_SETUP
#line 5
14
"pars0lex.l"
#line 5
37
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1622,7 +1644,7 @@ YY_RULE_SETUP
YY_BREAK
case
98
:
YY_RULE_SETUP
#line 5
19
"pars0lex.l"
#line 5
42
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1630,7 +1652,7 @@ YY_RULE_SETUP
YY_BREAK
case
99
:
YY_RULE_SETUP
#line 5
24
"pars0lex.l"
#line 5
47
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1638,7 +1660,7 @@ YY_RULE_SETUP
YY_BREAK
case
100
:
YY_RULE_SETUP
#line 5
29
"pars0lex.l"
#line 5
52
"pars0lex.l"
{
return
((
int
)(
*
yytext
));
...
...
@@ -1646,32 +1668,32 @@ YY_RULE_SETUP
YY_BREAK
case
101
:
YY_RULE_SETUP
#line 5
34
"pars0lex.l"
#line 5
57
"pars0lex.l"
BEGIN
(
comment
);
/* eat up comment */
YY_BREAK
case
102
:
YY_RULE_SETUP
#line 5
36
"pars0lex.l"
#line 5
59
"pars0lex.l"
YY_BREAK
case
103
:
YY_RULE_SETUP
#line 5
37
"pars0lex.l"
#line 5
60
"pars0lex.l"
YY_BREAK
case
104
:
YY_RULE_SETUP
#line 5
38
"pars0lex.l"
#line 5
61
"pars0lex.l"
BEGIN
(
INITIAL
);
YY_BREAK
case
105
:
YY_RULE_SETUP
#line 5
40
"pars0lex.l"
#line 5
63
"pars0lex.l"
/* eat up whitespace */
YY_BREAK
case
106
:
YY_RULE_SETUP
#line 5
43
"pars0lex.l"
#line 5
66
"pars0lex.l"
{
fprintf
(
stderr
,
"Unrecognized character: %02x
\n
"
,
*
yytext
);
...
...
@@ -1683,10 +1705,10 @@ YY_RULE_SETUP
YY_BREAK
case
107
:
YY_RULE_SETUP
#line 5
52
"pars0lex.l"
#line 5
75
"pars0lex.l"
YY_FATAL_ERROR
(
"flex scanner jammed"
);
YY_BREAK
#line 1
687
"lex.yy.c"
#line 1
710
"lex.yy.c"
case
YY_STATE_EOF
(
INITIAL
):
case
YY_STATE_EOF
(
comment
):
case
YY_STATE_EOF
(
quoted
):
...
...
@@ -2574,5 +2596,5 @@ int main()
return
0
;
}
#endif
#line 5
52
"pars0lex.l"
#line 5
75
"pars0lex.l"
innobase/pars/pars0lex.l
View file @
580cb3dd
...
...
@@ -114,11 +114,34 @@ ID [a-z_A-Z][a-z_A-Z0-9]*
}
"'" {
/* Quoted character string literals are handled in an explicit
start state 'quoted'. This state is entered and the buffer for
the scanned string is emptied upon encountering a starting quote.
In the state 'quoted', only two actions are possible (defined below). */
BEGIN(quoted);
stringbuf_len = 0;
}
<quoted>[^\']+ string_append(yytext, yyleng);
<quoted>"'"+ { string_append(yytext, yyleng / 2);
<quoted>[^\']+ {
/* Got a sequence of characters other than "'":
append to string buffer */
string_append(yytext, yyleng);
}
<quoted>"'"+ {
/* Got a sequence of "'" characters:
append half of them to string buffer,
as "''" represents a single "'".
We apply truncating division,
so that "'''" will result in "'". */
string_append(yytext, yyleng / 2);
/* If we got an odd number of quotes, then the
last quote we got is the terminating quote.
At the end of the string, we return to the
initial start state and report the scanned
string literal. */
if (yyleng % 2) {
BEGIN(INITIAL);
yylval = sym_tab_add_str_lit(
...
...
man/mysqlaccess.1.in
View file @
580cb3dd
.TH mysqlaccess 1 "19 December 2000" "MySQL @MYSQL_BASE_VERSION@" "MySQL database"
.SH NAME
.BR mysqlaccess
\- Create new users to mysql.
.BR mysqlaccess \- Create new users to mysql.
.SH USAGE
mysqlaccess [host [user [db]]] OPTIONS
.SH SYNOPSIS
...
...
man/mysqldump.1.in
View file @
580cb3dd
.TH mysqldump 1 "19 December 2000" "MySQL @MYSQL_BASE_VERSION@" "MySQL database"
.SH NAME
mysqldump \- text
-based client for dumping or backing up mysql databases
, tables and or data.
mysqldump \- text
\-based client for dumping or backing up mysql databases
, tables and or data.
.SH USAGE
.BR "mysqldump [\fP\fIOPTIONS\fP] database [\fP\fItables\fP]"
...
...
mysql-test/r/innodb_cache.result
View file @
580cb3dd
...
...
@@ -98,7 +98,7 @@ commit;
show status like "Qcache_queries_in_cache";
Variable_name Value
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;
select count(*) from t1;
count(*)
...
...
@@ -108,3 +108,22 @@ select count(*) from t1;
count(*)
1
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 @
580cb3dd
...
...
@@ -255,7 +255,7 @@ t1 ref y y 5 const 1 Using where
t2 range x x 5 NULL 2 Using where
explain select count(*) from t1 where x in (1);
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);
table type possible_keys key key_len ref rows Extra
t1 range x x 5 NULL 2 Using where; Using index
...
...
mysql-test/t/innodb_cache.test
View file @
580cb3dd
...
...
@@ -48,10 +48,31 @@ show status like "Qcache_queries_in_cache";
show
status
like
"Qcache_hits"
;
commit
;
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
;
select
count
(
*
)
from
t1
;
insert
into
t1
(
id
)
values
(
0
);
select
count
(
*
)
from
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
;
mysys/hash.c
View file @
580cb3dd
...
...
@@ -182,7 +182,8 @@ uint calc_hashnr_caseup(const byte *key, uint len)
#endif
#ifndef __SUNPRO_C
/* SUNPRO can't handle this */
/* for compilers which can not handle inline */
#if !defined(__SUNPRO_C) && !defined(__USLC__) && !defined(__sgi)
inline
#endif
unsigned
int
rec_hashnr
(
HASH
*
hash
,
const
byte
*
record
)
...
...
sql/handler.cc
View file @
580cb3dd
...
...
@@ -446,13 +446,12 @@ int ha_rollback_trans(THD *thd, THD_TRANS *trans)
reinit_io_cache
(
&
thd
->
transaction
.
trans_log
,
WRITE_CACHE
,
(
my_off_t
)
0
,
0
,
1
);
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
;
if
(
operation_done
)
{
statistic_increment
(
ha_rollback_count
,
&
LOCK_status
);
thd
->
transaction
.
cleanup
();
}
}
#endif
/* USING_TRANSACTIONS */
DBUG_RETURN
(
error
);
...
...
sql/sql_select.cc
View file @
580cb3dd
...
...
@@ -1590,12 +1590,14 @@ add_key_fields(JOIN_TAB *stat,KEY_FIELD **key_fields,uint *and_level,
// BETWEEN or IN
if
(
cond_func
->
key_item
()
->
type
()
==
Item
::
FIELD_ITEM
)
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
/* 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
->
argument_count
()
-
(
cond_func
->
functype
()
!=
Item_func
::
IN_FUNC
),
#else
cond_func
->
argument_count
()
==
2
,
cond_func
->
arguments
()
+
1
,
cond_func
->
argument_count
()
-
1
,
#endif
usable_tables
);
...
...
vio/test-sslserver.c
View file @
580cb3dd
...
...
@@ -91,7 +91,12 @@ main(int argc __attribute__((unused)), char** argv)
struct
sockaddr_in
sa_cli
;
int
listen_sd
;
int
err
;
#if defined(__sgi) && _NO_XOPEN4 && _NO_XOPEN5
socklen_t
client_len
;
#else
size_t
client_len
;
#endif
int
reuseaddr
=
1
;
/* better testing, uh? */
MY_INIT
(
argv
[
0
]);
...
...
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