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
a5b6707a
Commit
a5b6707a
authored
Apr 30, 2009
by
Daniel Fischer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
after-backport fixes
parent
475a4eb7
Changes
19
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
153 additions
and
2567 deletions
+153
-2567
client/mysql.cc
client/mysql.cc
+3
-1
cmd-line-utils/libedit/TEST/test.c
cmd-line-utils/libedit/TEST/test.c
+0
-269
cmd-line-utils/libedit/compat.h
cmd-line-utils/libedit/compat.h
+0
-43
cmd-line-utils/libedit/compat_conf.h
cmd-line-utils/libedit/compat_conf.h
+0
-2
cmd-line-utils/libedit/editline.3
cmd-line-utils/libedit/editline.3
+0
-619
cmd-line-utils/libedit/editrc.5
cmd-line-utils/libedit/editrc.5
+0
-491
cmd-line-utils/libedit/fgetln.c
cmd-line-utils/libedit/fgetln.c
+0
-88
cmd-line-utils/libedit/fgetln.h
cmd-line-utils/libedit/fgetln.h
+0
-3
cmd-line-utils/libedit/libedit_term.h
cmd-line-utils/libedit/libedit_term.h
+0
-124
cmd-line-utils/libedit/strlcpy.c
cmd-line-utils/libedit/strlcpy.c
+0
-73
cmd-line-utils/libedit/strlcpy.h
cmd-line-utils/libedit/strlcpy.h
+0
-2
cmd-line-utils/libedit/tokenizer.h
cmd-line-utils/libedit/tokenizer.h
+0
-54
cmd-line-utils/libedit/unvis.c
cmd-line-utils/libedit/unvis.c
+0
-311
cmd-line-utils/libedit/vis.c
cmd-line-utils/libedit/vis.c
+0
-392
cmd-line-utils/libedit/vis.h
cmd-line-utils/libedit/vis.h
+0
-92
mysql-test/include/count_sessions.inc
mysql-test/include/count_sessions.inc
+21
-0
mysql-test/include/wait_until_count_sessions.inc
mysql-test/include/wait_until_count_sessions.inc
+126
-0
mysql-test/r/strict.result
mysql-test/r/strict.result
+2
-2
mysql-test/t/strict.test
mysql-test/t/strict.test
+1
-1
No files found.
client/mysql.cc
View file @
a5b6707a
...
@@ -2262,8 +2262,10 @@ static char **new_mysql_completion (const char *text, int start, int end);
...
@@ -2262,8 +2262,10 @@ static char **new_mysql_completion (const char *text, int start, int end);
if not.
if not.
*/
*/
#if defined(USE_NEW_READLINE_INTERFACE)
|| defined(USE_LIBEDIT_INTERFACE)
#if defined(USE_NEW_READLINE_INTERFACE)
char
*
no_completion
(
const
char
*
,
int
)
char
*
no_completion
(
const
char
*
,
int
)
#elif defined(USE_LIBEDIT_INTERFACE)
int
no_completion
(
const
char
*
,
int
)
#else
#else
char
*
no_completion
()
char
*
no_completion
()
#endif
#endif
...
...
cmd-line-utils/libedit/TEST/test.c
deleted
100644 → 0
View file @
475a4eb7
/* $NetBSD: test.c,v 1.9 2000/09/04 23:36:41 lukem Exp $ */
/*-
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Christos Zoulas of Cornell University.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
#include "compat.h"
#ifndef lint
__COPYRIGHT
(
"@(#) Copyright (c) 1992, 1993
\n
\
The Regents of the University of California. All rights reserved.
\n
"
);
#endif
/* not lint */
#if !defined(lint) && !defined(SCCSID)
#if 0
static char sccsid[] = "@(#)test.c 8.1 (Berkeley) 6/4/93";
#else
__RCSID
(
"$NetBSD: test.c,v 1.9 2000/09/04 23:36:41 lukem Exp $"
);
#endif
#endif
/* not lint && not SCCSID */
/*
* test.c: A little test program
*/
#include "sys.h"
#include <stdio.h>
#include <string.h>
#include <signal.h>
#include <sys/wait.h>
#include <ctype.h>
#include <stdlib.h>
#include <unistd.h>
#include <dirent.h>
#include "histedit.h"
#include "tokenizer.h"
static
int
continuation
=
0
;
static
EditLine
*
el
=
NULL
;
static
u_char
complete
(
EditLine
*
,
int
);
int
main
(
int
,
char
**
);
static
char
*
prompt
(
EditLine
*
);
static
void
sig
(
int
);
static
char
*
prompt
(
EditLine
*
el
)
{
static
char
a
[]
=
"Edit$"
;
static
char
b
[]
=
"Edit>"
;
return
(
continuation
?
b
:
a
);
}
static
void
sig
(
int
i
)
{
(
void
)
fprintf
(
stderr
,
"Got signal %d.
\n
"
,
i
);
el_reset
(
el
);
}
static
unsigned
char
complete
(
EditLine
*
el
,
int
ch
)
{
DIR
*
dd
=
opendir
(
"."
);
struct
dirent
*
dp
;
const
char
*
ptr
;
const
LineInfo
*
lf
=
el_line
(
el
);
int
len
;
/*
* Find the last word
*/
for
(
ptr
=
lf
->
cursor
-
1
;
!
isspace
(
*
ptr
)
&&
ptr
>
lf
->
buffer
;
ptr
--
)
continue
;
len
=
lf
->
cursor
-
++
ptr
;
for
(
dp
=
readdir
(
dd
);
dp
!=
NULL
;
dp
=
readdir
(
dd
))
{
if
(
len
>
strlen
(
dp
->
d_name
))
continue
;
if
(
strncmp
(
dp
->
d_name
,
ptr
,
len
)
==
0
)
{
closedir
(
dd
);
if
(
el_insertstr
(
el
,
&
dp
->
d_name
[
len
])
==
-
1
)
return
(
CC_ERROR
);
else
return
(
CC_REFRESH
);
}
}
closedir
(
dd
);
return
(
CC_ERROR
);
}
int
main
(
int
argc
,
char
*
argv
[])
{
int
num
;
const
char
*
buf
;
Tokenizer
*
tok
;
int
lastevent
=
0
,
ncontinuation
;
History
*
hist
;
HistEvent
ev
;
(
void
)
signal
(
SIGINT
,
sig
);
(
void
)
signal
(
SIGQUIT
,
sig
);
(
void
)
signal
(
SIGHUP
,
sig
);
(
void
)
signal
(
SIGTERM
,
sig
);
hist
=
history_init
();
/* Init the builtin history */
/* Remember 100 events */
history
(
hist
,
&
ev
,
H_SETSIZE
,
100
);
tok
=
tok_init
(
NULL
);
/* Initialize the tokenizer */
/* Initialize editline */
el
=
el_init
(
*
argv
,
stdin
,
stdout
,
stderr
);
el_set
(
el
,
EL_EDITOR
,
"vi"
);
/* Default editor is vi */
el_set
(
el
,
EL_SIGNAL
,
1
);
/* Handle signals gracefully */
el_set
(
el
,
EL_PROMPT
,
prompt
);
/* Set the prompt function */
/* Tell editline to use this history interface */
el_set
(
el
,
EL_HIST
,
history
,
hist
);
/* Add a user-defined function */
el_set
(
el
,
EL_ADDFN
,
"ed-complete"
,
"Complete argument"
,
complete
);
/* Bind tab to it */
el_set
(
el
,
EL_BIND
,
"^I"
,
"ed-complete"
,
NULL
);
/*
* Bind j, k in vi command mode to previous and next line, instead
* of previous and next history.
*/
el_set
(
el
,
EL_BIND
,
"-a"
,
"k"
,
"ed-prev-line"
,
NULL
);
el_set
(
el
,
EL_BIND
,
"-a"
,
"j"
,
"ed-next-line"
,
NULL
);
/*
* Source the user's defaults file.
*/
el_source
(
el
,
NULL
);
while
((
buf
=
el_gets
(
el
,
&
num
))
!=
NULL
&&
num
!=
0
)
{
int
ac
;
char
**
av
;
#ifdef DEBUG
(
void
)
fprintf
(
stderr
,
"got %d %s"
,
num
,
buf
);
#endif
if
(
!
continuation
&&
num
==
1
)
continue
;
if
(
tok_line
(
tok
,
buf
,
&
ac
,
&
av
)
>
0
)
ncontinuation
=
1
;
#if 0
if (continuation) {
/*
* Append to the right event in case the user
* moved around in history.
*/
if (history(hist, &ev, H_SET, lastevent) == -1)
err(1, "%d: %s\n", lastevent, ev.str);
history(hist, &ev, H_ADD , buf);
} else {
history(hist, &ev, H_ENTER, buf);
lastevent = ev.num;
}
#else
/* Simpler */
history
(
hist
,
&
ev
,
continuation
?
H_APPEND
:
H_ENTER
,
buf
);
#endif
continuation
=
ncontinuation
;
ncontinuation
=
0
;
if
(
strcmp
(
av
[
0
],
"history"
)
==
0
)
{
int
rv
;
switch
(
ac
)
{
case
1
:
for
(
rv
=
history
(
hist
,
&
ev
,
H_LAST
);
rv
!=
-
1
;
rv
=
history
(
hist
,
&
ev
,
H_PREV
))
(
void
)
fprintf
(
stdout
,
"%4d %s"
,
ev
.
num
,
ev
.
str
);
break
;
case
2
:
if
(
strcmp
(
av
[
1
],
"clear"
)
==
0
)
history
(
hist
,
&
ev
,
H_CLEAR
);
else
goto
badhist
;
break
;
case
3
:
if
(
strcmp
(
av
[
1
],
"load"
)
==
0
)
history
(
hist
,
&
ev
,
H_LOAD
,
av
[
2
]);
else
if
(
strcmp
(
av
[
1
],
"save"
)
==
0
)
history
(
hist
,
&
ev
,
H_SAVE
,
av
[
2
]);
break
;
badhist:
default:
(
void
)
fprintf
(
stderr
,
"Bad history arguments
\n
"
);
break
;
}
}
else
if
(
el_parse
(
el
,
ac
,
av
)
==
-
1
)
{
switch
(
fork
())
{
case
0
:
execvp
(
av
[
0
],
av
);
perror
(
av
[
0
]);
_exit
(
1
);
/*NOTREACHED*/
break
;
case
-
1
:
perror
(
"fork"
);
break
;
default:
if
(
wait
(
&
num
)
==
-
1
)
perror
(
"wait"
);
(
void
)
fprintf
(
stderr
,
"Exit %x
\n
"
,
num
);
break
;
}
}
tok_reset
(
tok
);
}
el_end
(
el
);
tok_end
(
tok
);
history_end
(
hist
);
return
(
0
);
}
cmd-line-utils/libedit/compat.h
deleted
100644 → 0
View file @
475a4eb7
#ifndef __LIBEDIT_COMPATH_H
#define __LIBEDIT_COMPATH_H
#define __RCSID(x)
#define __COPYRIGHT(x)
#include "compat_conf.h"
#ifndef HAVE_VIS_H
/* string visual representation - may want to reimplement */
#define strvis(d,s,m) strcpy(d,s)
#define strunvis(d,s) strcpy(d,s)
#endif
#ifndef HAVE_FGETLN
#include "fgetln.h"
#endif
#ifndef HAVE_ISSETUGID
#define issetugid() (getuid()!=geteuid() || getegid()!=getgid())
#endif
#ifndef HAVE_STRLCPY
#include "strlcpy.h"
#endif
#if HAVE_SYS_CDEFS_H
#include <sys/cdefs.h>
#endif
#ifndef __P
#ifdef __STDC__
#define __P(x) x
#else
#define __P(x) ()
#endif
#endif
#if !defined(__attribute__) && (defined(__cplusplus) || !defined(__GNUC__) || __GNUC__ == 2 && __GNUC_MINOR__ < 8)
#define __attribute__(A)
#endif
#endif
cmd-line-utils/libedit/compat_conf.h
deleted
100644 → 0
View file @
475a4eb7
#include "my_config.h"
cmd-line-utils/libedit/editline.3
deleted
100644 → 0
View file @
475a4eb7
This diff is collapsed.
Click to expand it.
cmd-line-utils/libedit/editrc.5
deleted
100644 → 0
View file @
475a4eb7
This diff is collapsed.
Click to expand it.
cmd-line-utils/libedit/fgetln.c
deleted
100644 → 0
View file @
475a4eb7
/* $NetBSD: fgetln.c,v 1.2 2003/12/10 01:30:27 lukem Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Christos Zoulas.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the NetBSD
* Foundation, Inc. and its contributors.
* 4. Neither the name of The NetBSD Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
char
*
fgetln
(
FILE
*
fp
,
size_t
*
len
)
{
static
char
*
buf
=
NULL
;
static
size_t
bufsiz
=
0
;
char
*
ptr
;
if
(
buf
==
NULL
)
{
bufsiz
=
BUFSIZ
;
if
((
buf
=
malloc
(
bufsiz
))
==
NULL
)
return
NULL
;
}
if
(
fgets
(
buf
,
bufsiz
,
fp
)
==
NULL
)
return
NULL
;
*
len
=
0
;
while
((
ptr
=
strchr
(
&
buf
[
*
len
],
'\n'
))
==
NULL
)
{
size_t
nbufsiz
=
bufsiz
+
BUFSIZ
;
char
*
nbuf
=
realloc
(
buf
,
nbufsiz
);
if
(
nbuf
==
NULL
)
{
int
oerrno
=
errno
;
free
(
buf
);
errno
=
oerrno
;
buf
=
NULL
;
return
NULL
;
}
else
buf
=
nbuf
;
*
len
=
bufsiz
;
if
(
fgets
(
&
buf
[
bufsiz
],
BUFSIZ
,
fp
)
==
NULL
)
return
buf
;
bufsiz
=
nbufsiz
;
}
*
len
=
(
ptr
-
buf
)
+
1
;
return
buf
;
}
cmd-line-utils/libedit/fgetln.h
deleted
100644 → 0
View file @
475a4eb7
#include <stdio.h>
char
*
fgetln
(
FILE
*
stream
,
size_t
*
len
);
cmd-line-utils/libedit/libedit_term.h
deleted
100644 → 0
View file @
475a4eb7
/* $NetBSD: term.h,v 1.12 2001/01/04 15:56:32 christos Exp $ */
/*-
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Christos Zoulas of Cornell University.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)term.h 8.1 (Berkeley) 6/4/93
*/
/*
* el.term.h: Termcap header
*/
#ifndef _h_el_term
#define _h_el_term
#include "histedit.h"
typedef
struct
{
/* Symbolic function key bindings */
const
char
*
name
;
/* name of the key */
int
key
;
/* Index in termcap table */
key_value_t
fun
;
/* Function bound to it */
int
type
;
/* Type of function */
}
fkey_t
;
typedef
struct
{
coord_t
t_size
;
/* # lines and cols */
int
t_flags
;
#define TERM_CAN_INSERT 0x001
/* Has insert cap */
#define TERM_CAN_DELETE 0x002
/* Has delete cap */
#define TERM_CAN_CEOL 0x004
/* Has CEOL cap */
#define TERM_CAN_TAB 0x008
/* Can use tabs */
#define TERM_CAN_ME 0x010
/* Can turn all attrs. */
#define TERM_CAN_UP 0x020
/* Can move up */
#define TERM_HAS_META 0x040
/* Has a meta key */
#define TERM_HAS_AUTO_MARGINS 0x080
/* Has auto margins */
#define TERM_HAS_MAGIC_MARGINS 0x100
/* Has magic margins */
char
*
t_buf
;
/* Termcap buffer */
int
t_loc
;
/* location used */
char
**
t_str
;
/* termcap strings */
int
*
t_val
;
/* termcap values */
char
*
t_cap
;
/* Termcap buffer */
fkey_t
*
t_fkey
;
/* Array of keys */
}
el_term_t
;
/*
* fKey indexes
*/
#define A_K_DN 0
#define A_K_UP 1
#define A_K_LT 2
#define A_K_RT 3
#define A_K_HO 4
#define A_K_EN 5
#define A_K_NKEYS 6
protected
void
term_move_to_line
(
EditLine
*
,
int
);
protected
void
term_move_to_char
(
EditLine
*
,
int
);
protected
void
term_clear_EOL
(
EditLine
*
,
int
);
protected
void
term_overwrite
(
EditLine
*
,
const
char
*
,
int
);
protected
void
term_insertwrite
(
EditLine
*
,
char
*
,
int
);
protected
void
term_deletechars
(
EditLine
*
,
int
);
protected
void
term_clear_screen
(
EditLine
*
);
protected
void
term_beep
(
EditLine
*
);
protected
int
term_change_size
(
EditLine
*
,
int
,
int
);
protected
int
term_get_size
(
EditLine
*
,
int
*
,
int
*
);
protected
int
term_init
(
EditLine
*
);
protected
void
term_bind_arrow
(
EditLine
*
);
protected
void
term_print_arrow
(
EditLine
*
,
const
char
*
);
protected
int
term_clear_arrow
(
EditLine
*
,
const
char
*
);
protected
int
term_set_arrow
(
EditLine
*
,
const
char
*
,
key_value_t
*
,
int
);
protected
void
term_end
(
EditLine
*
);
protected
int
term_set
(
EditLine
*
,
const
char
*
);
protected
int
term_settc
(
EditLine
*
,
int
,
const
char
**
);
protected
int
term_telltc
(
EditLine
*
,
int
,
const
char
**
);
protected
int
term_echotc
(
EditLine
*
,
int
,
const
char
**
);
protected
int
term__putc
(
int
);
protected
void
term__flush
(
void
);
/*
* Easy access macros
*/
#define EL_FLAGS (el)->el_term.t_flags
#define EL_CAN_INSERT (EL_FLAGS & TERM_CAN_INSERT)
#define EL_CAN_DELETE (EL_FLAGS & TERM_CAN_DELETE)
#define EL_CAN_CEOL (EL_FLAGS & TERM_CAN_CEOL)
#define EL_CAN_TAB (EL_FLAGS & TERM_CAN_TAB)
#define EL_CAN_ME (EL_FLAGS & TERM_CAN_ME)
#define EL_HAS_META (EL_FLAGS & TERM_HAS_META)
#define EL_HAS_AUTO_MARGINS (EL_FLAGS & TERM_HAS_AUTO_MARGINS)
#define EL_HAS_MAGIC_MARGINS (EL_FLAGS & TERM_HAS_MAGIC_MARGINS)
#endif
/* _h_el_term */
cmd-line-utils/libedit/strlcpy.c
deleted
100644 → 0
View file @
475a4eb7
/* $NetBSD: strlcpy.c,v 1.14 2003/10/27 00:12:42 lukem Exp $ */
/* $OpenBSD: strlcpy.c,v 1.7 2003/04/12 21:56:39 millert Exp $ */
/*
* Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE
* FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#include <config.h>
#include <sys/types.h>
#include <assert.h>
#include <string.h>
#ifdef _LIBC
# ifdef __weak_alias
__weak_alias
(
strlcpy
,
_strlcpy
)
# endif
#endif
#if !HAVE_STRLCPY
/*
* Copy src to string dst of size siz. At most siz-1 characters
* will be copied. Always NUL terminates (unless siz == 0).
* Returns strlen(src); if retval >= siz, truncation occurred.
*/
size_t
#ifdef _LIBC
_strlcpy
(
dst
,
src
,
siz
)
#else
strlcpy
(
dst
,
src
,
siz
)
#endif
char
*
dst
;
const
char
*
src
;
size_t
siz
;
{
char
*
d
=
dst
;
const
char
*
s
=
src
;
size_t
n
=
siz
;
_DIAGASSERT
(
dst
!=
NULL
);
_DIAGASSERT
(
src
!=
NULL
);
/* Copy as many bytes as will fit */
if
(
n
!=
0
&&
--
n
!=
0
)
{
do
{
if
((
*
d
++
=
*
s
++
)
==
0
)
break
;
}
while
(
--
n
!=
0
);
}
/* Not enough room in dst, add NUL and traverse rest of src */
if
(
n
==
0
)
{
if
(
siz
!=
0
)
*
d
=
'\0'
;
/* NUL-terminate dst */
while
(
*
s
++
)
;
}
return
(
s
-
src
-
1
);
/* count does not include NUL */
}
#endif
cmd-line-utils/libedit/strlcpy.h
deleted
100644 → 0
View file @
475a4eb7
size_t
strlcpy
(
char
*
dst
,
const
char
*
src
,
size_t
size
);
size_t
strlcat
(
char
*
dst
,
const
char
*
src
,
size_t
size
);
cmd-line-utils/libedit/tokenizer.h
deleted
100644 → 0
View file @
475a4eb7
/* $NetBSD: tokenizer.h,v 1.5 2002/03/18 16:01:00 christos Exp $ */
/*-
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Christos Zoulas of Cornell University.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)tokenizer.h 8.1 (Berkeley) 6/4/93
*/
/*
* tokenizer.h: Header file for tokenizer routines
*/
#ifndef _h_tokenizer
#define _h_tokenizer
typedef
struct
tokenizer
Tokenizer
;
Tokenizer
*
tok_init
(
const
char
*
);
void
tok_reset
(
Tokenizer
*
);
void
tok_end
(
Tokenizer
*
);
int
tok_line
(
Tokenizer
*
,
const
char
*
,
int
*
,
const
char
***
);
#endif
/* _h_tokenizer */
cmd-line-utils/libedit/unvis.c
deleted
100644 → 0
View file @
475a4eb7
/* $NetBSD: unvis.c,v 1.24 2003/08/07 16:42:59 agc Exp $ */
/*-
* Copyright (c) 1989, 1993
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <config.h>
#define __LIBC12_SOURCE__
#include <sys/types.h>
#include <assert.h>
#include <ctype.h>
#include <stdio.h>
#include <vis.h>
#ifdef __weak_alias
__weak_alias
(
strunvis
,
_strunvis
)
__weak_alias
(
unvis
,
_unvis
)
#endif
#ifdef __warn_references
__warn_references
(
unvis
,
"warning: reference to compatibility unvis(); include <vis.h> for correct reference"
)
#endif
#if !HAVE_VIS
/*
* decode driven by state machine
*/
#define S_GROUND 0
/* haven't seen escape char */
#define S_START 1
/* start decoding special sequence */
#define S_META 2
/* metachar started (M) */
#define S_META1 3
/* metachar more, regular char (-) */
#define S_CTRL 4
/* control char started (^) */
#define S_OCTAL2 5
/* octal digit 2 */
#define S_OCTAL3 6
/* octal digit 3 */
#define S_HEX1 7
/* hex digit */
#define S_HEX2 8
/* hex digit 2 */
#define isoctal(c) (((u_char)(c)) >= '0' && ((u_char)(c)) <= '7')
#define xtod(c) (isdigit(c) ? (c - '0') : ((tolower(c) - 'a') + 10))
int
unvis
(
cp
,
c
,
astate
,
flag
)
char
*
cp
;
int
c
;
int
*
astate
,
flag
;
{
return
__unvis13
(
cp
,
(
int
)
c
,
astate
,
flag
);
}
/*
* unvis - decode characters previously encoded by vis
*/
int
__unvis13
(
cp
,
c
,
astate
,
flag
)
char
*
cp
;
int
c
;
int
*
astate
,
flag
;
{
_DIAGASSERT
(
cp
!=
NULL
);
_DIAGASSERT
(
astate
!=
NULL
);
if
(
flag
&
UNVIS_END
)
{
if
(
*
astate
==
S_OCTAL2
||
*
astate
==
S_OCTAL3
||
*
astate
==
S_HEX2
)
{
*
astate
=
S_GROUND
;
return
(
UNVIS_VALID
);
}
return
(
*
astate
==
S_GROUND
?
UNVIS_NOCHAR
:
UNVIS_SYNBAD
);
}
switch
(
*
astate
)
{
case
S_GROUND
:
*
cp
=
0
;
if
(
c
==
'\\'
)
{
*
astate
=
S_START
;
return
(
0
);
}
if
((
flag
&
VIS_HTTPSTYLE
)
&&
c
==
'%'
)
{
*
astate
=
S_HEX1
;
return
(
0
);
}
*
cp
=
c
;
return
(
UNVIS_VALID
);
case
S_START
:
switch
(
c
)
{
case
'\\'
:
*
cp
=
c
;
*
astate
=
S_GROUND
;
return
(
UNVIS_VALID
);
case
'0'
:
case
'1'
:
case
'2'
:
case
'3'
:
case
'4'
:
case
'5'
:
case
'6'
:
case
'7'
:
*
cp
=
(
c
-
'0'
);
*
astate
=
S_OCTAL2
;
return
(
0
);
case
'M'
:
*
cp
=
(
char
)
0200
;
*
astate
=
S_META
;
return
(
0
);
case
'^'
:
*
astate
=
S_CTRL
;
return
(
0
);
case
'n'
:
*
cp
=
'\n'
;
*
astate
=
S_GROUND
;
return
(
UNVIS_VALID
);
case
'r'
:
*
cp
=
'\r'
;
*
astate
=
S_GROUND
;
return
(
UNVIS_VALID
);
case
'b'
:
*
cp
=
'\b'
;
*
astate
=
S_GROUND
;
return
(
UNVIS_VALID
);
case
'a'
:
*
cp
=
'\007'
;
*
astate
=
S_GROUND
;
return
(
UNVIS_VALID
);
case
'v'
:
*
cp
=
'\v'
;
*
astate
=
S_GROUND
;
return
(
UNVIS_VALID
);
case
't'
:
*
cp
=
'\t'
;
*
astate
=
S_GROUND
;
return
(
UNVIS_VALID
);
case
'f'
:
*
cp
=
'\f'
;
*
astate
=
S_GROUND
;
return
(
UNVIS_VALID
);
case
's'
:
*
cp
=
' '
;
*
astate
=
S_GROUND
;
return
(
UNVIS_VALID
);
case
'E'
:
*
cp
=
'\033'
;
*
astate
=
S_GROUND
;
return
(
UNVIS_VALID
);
case
'\n'
:
/*
* hidden newline
*/
*
astate
=
S_GROUND
;
return
(
UNVIS_NOCHAR
);
case
'$'
:
/*
* hidden marker
*/
*
astate
=
S_GROUND
;
return
(
UNVIS_NOCHAR
);
}
*
astate
=
S_GROUND
;
return
(
UNVIS_SYNBAD
);
case
S_META
:
if
(
c
==
'-'
)
*
astate
=
S_META1
;
else
if
(
c
==
'^'
)
*
astate
=
S_CTRL
;
else
{
*
astate
=
S_GROUND
;
return
(
UNVIS_SYNBAD
);
}
return
(
0
);
case
S_META1
:
*
astate
=
S_GROUND
;
*
cp
|=
c
;
return
(
UNVIS_VALID
);
case
S_CTRL
:
if
(
c
==
'?'
)
*
cp
|=
0177
;
else
*
cp
|=
c
&
037
;
*
astate
=
S_GROUND
;
return
(
UNVIS_VALID
);
case
S_OCTAL2
:
/* second possible octal digit */
if
(
isoctal
(
c
))
{
/*
* yes - and maybe a third
*/
*
cp
=
(
*
cp
<<
3
)
+
(
c
-
'0'
);
*
astate
=
S_OCTAL3
;
return
(
0
);
}
/*
* no - done with current sequence, push back passed char
*/
*
astate
=
S_GROUND
;
return
(
UNVIS_VALIDPUSH
);
case
S_OCTAL3
:
/* third possible octal digit */
*
astate
=
S_GROUND
;
if
(
isoctal
(
c
))
{
*
cp
=
(
*
cp
<<
3
)
+
(
c
-
'0'
);
return
(
UNVIS_VALID
);
}
/*
* we were done, push back passed char
*/
return
(
UNVIS_VALIDPUSH
);
case
S_HEX1
:
if
(
isxdigit
(
c
))
{
*
cp
=
xtod
(
c
);
*
astate
=
S_HEX2
;
return
(
0
);
}
/*
* no - done with current sequence, push back passed char
*/
*
astate
=
S_GROUND
;
return
(
UNVIS_VALIDPUSH
);
case
S_HEX2
:
*
astate
=
S_GROUND
;
if
(
isxdigit
(
c
))
{
*
cp
=
xtod
(
c
)
|
(
*
cp
<<
4
);
return
(
UNVIS_VALID
);
}
return
(
UNVIS_VALIDPUSH
);
default:
/*
* decoder in unknown state - (probably uninitialized)
*/
*
astate
=
S_GROUND
;
return
(
UNVIS_SYNBAD
);
}
}
/*
* strunvis - decode src into dst
*
* Number of chars decoded into dst is returned, -1 on error.
* Dst is null terminated.
*/
int
strunvisx
(
dst
,
src
,
flag
)
char
*
dst
;
const
char
*
src
;
int
flag
;
{
char
c
;
char
*
start
=
dst
;
int
state
=
0
;
_DIAGASSERT
(
src
!=
NULL
);
_DIAGASSERT
(
dst
!=
NULL
);
while
((
c
=
*
src
++
)
!=
'\0'
)
{
again:
switch
(
__unvis13
(
dst
,
c
,
&
state
,
flag
))
{
case
UNVIS_VALID
:
dst
++
;
break
;
case
UNVIS_VALIDPUSH
:
dst
++
;
goto
again
;
case
0
:
case
UNVIS_NOCHAR
:
break
;
default:
return
(
-
1
);
}
}
if
(
__unvis13
(
dst
,
c
,
&
state
,
UNVIS_END
)
==
UNVIS_VALID
)
dst
++
;
*
dst
=
'\0'
;
return
(
dst
-
start
);
}
int
strunvis
(
dst
,
src
)
char
*
dst
;
const
char
*
src
;
{
return
strunvisx
(
dst
,
src
,
0
);
}
#endif
cmd-line-utils/libedit/vis.c
deleted
100644 → 0
View file @
475a4eb7
This diff is collapsed.
Click to expand it.
cmd-line-utils/libedit/vis.h
deleted
100644 → 0
View file @
475a4eb7
/* $NetBSD: vis.h,v 1.15 2005/02/03 04:39:32 perry Exp $ */
/*-
* Copyright (c) 1990, 1993
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)vis.h 8.1 (Berkeley) 6/2/93
*/
#ifndef _VIS_H_
#define _VIS_H_
#include <config.h>
/*
* to select alternate encoding format
*/
#define VIS_OCTAL 0x01
/* use octal \ddd format */
#define VIS_CSTYLE 0x02
/* use \[nrft0..] where appropiate */
/*
* to alter set of characters encoded (default is to encode all
* non-graphic except space, tab, and newline).
*/
#define VIS_SP 0x04
/* also encode space */
#define VIS_TAB 0x08
/* also encode tab */
#define VIS_NL 0x10
/* also encode newline */
#define VIS_WHITE (VIS_SP | VIS_TAB | VIS_NL)
#define VIS_SAFE 0x20
/* only encode "unsafe" characters */
/*
* other
*/
#define VIS_NOSLASH 0x40
/* inhibit printing '\' */
#define VIS_HTTPSTYLE 0x80
/* http-style escape % HEX HEX */
/*
* unvis return codes
*/
#define UNVIS_VALID 1
/* character valid */
#define UNVIS_VALIDPUSH 2
/* character valid, push back passed char */
#define UNVIS_NOCHAR 3
/* valid sequence, no character produced */
#define UNVIS_SYNBAD -1
/* unrecognized escape sequence */
#define UNVIS_ERROR -2
/* decoder in unknown state (unrecoverable) */
/*
* unvis flags
*/
#define UNVIS_END 1
/* no more characters */
__BEGIN_DECLS
char
*
vis
(
char
*
,
int
,
int
,
int
);
char
*
svis
(
char
*
,
int
,
int
,
int
,
const
char
*
);
int
strvis
(
char
*
,
const
char
*
,
int
);
int
strsvis
(
char
*
,
const
char
*
,
int
,
const
char
*
);
int
strvisx
(
char
*
,
const
char
*
,
size_t
,
int
);
int
strsvisx
(
char
*
,
const
char
*
,
size_t
,
int
,
const
char
*
);
int
strunvis
(
char
*
,
const
char
*
);
int
strunvisx
(
char
*
,
const
char
*
,
int
);
#ifdef __LIBC12_SOURCE__
int
unvis
(
char
*
,
int
,
int
*
,
int
);
int
__unvis13
(
char
*
,
int
,
int
*
,
int
);
#else
int
unvis
(
char
*
,
int
,
int
*
,
int
);
#endif
__END_DECLS
#endif
/* !_VIS_H_ */
mysql-test/include/count_sessions.inc
0 → 100644
View file @
a5b6707a
# include/count_sessions.inc
#
# SUMMARY
#
# Stores the number of current sessions in $count_sessions.
#
#
# USAGE
#
# Please look into include/wait_until_count_sessions.inc
# for examples of typical usage.
#
#
# EXAMPLE
# backup.test, grant3.test
#
#
# Created: 2009-01-14 mleich
#
let
$count_sessions
=
query_get_value
(
SHOW
STATUS
LIKE
'Threads_connected'
,
Value
,
1
);
mysql-test/include/wait_until_count_sessions.inc
0 → 100644
View file @
a5b6707a
# include/wait_until_count_sessions.inc
#
# SUMMARY
#
# Waits until the passed number ($count_sessions) of concurrent sessions or
# a smaller number was observed via
# SHOW STATUS LIKE 'Threads_connected'
# or the operation times out.
# Note:
# 1. We wait for $current_sessions <= $count_sessions because in the use case
# with count_sessions.inc before and wait_until_count_sessions.inc after
# the core of the test it could happen that the disconnects of sessions
# belonging to the preceeding test are not finished.
# sessions at test begin($count_sessions) = m + n
# sessions of the previous test which will be soon disconnected = n (n >= 0)
# sessions at test end ($current sessions, assuming the test disconnects
# all additional sessions) = m
# 2. Starting with 5.1 we could also use
# SELECT COUNT(*) FROM information_schema.processlist
# I stay with "SHOW STATUS LIKE 'Threads_connected'" because this
# runs in all versions 5.0+
#
#
# USAGE
#
# let $count_sessions= 3;
# --source include/wait_until_count_sessions.inc
#
# OR typical example of a test which uses more than one session
# Such a test could harm successing tests if there is no server shutdown
# and start between.
#
# If the testing box is slow than the disconnect of sessions belonging to
# the current test might happen when the successing test gets executed.
# This means the successing test might see activities like unexpected
# rows within the general log or the PROCESSLIST.
# Example from bug http://bugs.mysql.com/bug.php?id=40377
# --- bzr_mysql-6.0-rpl/.../r/log_state.result
# +++ bzr_mysql-6.0-rpl/.../r/log_state.reject
# @@ -25,6 +25,7 @@
# event_time user_host ... command_type argument
# TIMESTAMP USER_HOST ... Query create table t1(f1 int)
# TIMESTAMP USER_HOST ... Query select * from mysql.general_log
# +TIMESTAMP USER_HOST ... Quit
# ....
#
# What to do?
# -----------
# <start of test>
# # Determine initial number of connections (set $count_sessions)
# --source include/count_sessions.inc
# ...
# connect (con1,.....)
# ...
# connection default;
# ...
# disconnect con1;
# ...
# # Wait until we have reached the initial number of connections
# # or more than the sleep time above (10 seconds) has passed.
# # $count_sessions
# --source include/wait_until_count_sessions.inc
# <end of test>
#
# Important note about tests with unfortunate (= not cooperative
# to successing tests) architecture:
# connection con1;
# send SELECT ..., sleep(10)
# connection default;
# ...
# disconnect con1;
# <end of test>
# should be fixed by
# connection con1;
# send SELECT ..., sleep(10)
# connection default;
# ...
# connect con1;
# reap;
# connection default;
# disconnect con1;
# <end of test>
# and not only by appending include/wait_until_count_sessions.inc etc.
#
#
# EXAMPLE
#
# backup.test, grant3.test
#
#
# Created:
# 2009-01-14 mleich
# Modified:
# 2009-02-24 mleich Fix Bug#43114 wait_until_count_sessions too restrictive,
# random PB failures
#
let
$wait_counter
=
100
;
if
(
$wait_timeout
)
{
let
$wait_counter
=
`SELECT $wait_timeout * 10`
;
}
# Reset $wait_timeout so that its value won't be used on subsequent
# calls, and default will be used instead.
let
$wait_timeout
=
0
;
while
(
$wait_counter
)
{
let
$current_sessions
=
query_get_value
(
SHOW
STATUS
LIKE
'Threads_connected'
,
Value
,
1
);
let
$success
=
`SELECT $current_sessions <= $count_sessions`
;
if
(
$success
)
{
let
$wait_counter
=
0
;
}
if
(
!
$success
)
{
real_sleep
0.1
;
dec
$wait_counter
;
}
}
if
(
!
$success
)
{
--
echo
# Timeout in wait_until_count_sessions.inc
--
echo
# Number of sessions expected: <= $count_sessions found: $current_sessions
SHOW
PROCESSLIST
;
}
mysql-test/r/strict.result
View file @
a5b6707a
...
@@ -1348,12 +1348,12 @@ t1 CREATE TABLE `t1` (
...
@@ -1348,12 +1348,12 @@ t1 CREATE TABLE `t1` (
`i` int(11) default NULL
`i` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='123456789*123456789*123456789*123456789*123456789*123456789*'
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='123456789*123456789*123456789*123456789*123456789*123456789*'
drop table t1;
drop table t1;
CREATE TABLE t3 (f1 INT) COMMENT '
×ק×××××ק×××××ק×××××ק×××××ק×××××ק×××××ק×××××ק×××××ק×××××ק××××
';
CREATE TABLE t3 (f1 INT) COMMENT '
כקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחן
';
SHOW CREATE TABLE t3;
SHOW CREATE TABLE t3;
Table Create Table
Table Create Table
t3 CREATE TABLE `t3` (
t3 CREATE TABLE `t3` (
`f1` int(11) default NULL
`f1` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='
×ק×××××ק×××××ק×××××ק×××××ק×××××ק×××××ק×××××ק×××××ק×××××ק××××
'
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='
כקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחן
'
DROP TABLE t3;
DROP TABLE t3;
set sql_mode= 'traditional';
set sql_mode= 'traditional';
create table t1(col1 tinyint, col2 tinyint unsigned,
create table t1(col1 tinyint, col2 tinyint unsigned,
...
...
mysql-test/t/strict.test
View file @
a5b6707a
...
@@ -1204,7 +1204,7 @@ drop table t1;
...
@@ -1204,7 +1204,7 @@ drop table t1;
#
#
#60 chars, 120 (+1) bytes (UTF-8 with 2-byte chars)
#60 chars, 120 (+1) bytes (UTF-8 with 2-byte chars)
CREATE
TABLE
t3
(
f1
INT
)
COMMENT
'
×ק×××××ק×××××ק×××××ק×××××ק×××××ק×××××ק×××××ק×××××ק×××××ק××××
'
;
CREATE
TABLE
t3
(
f1
INT
)
COMMENT
'
כקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחןכקבהחן
'
;
SHOW
CREATE
TABLE
t3
;
SHOW
CREATE
TABLE
t3
;
DROP
TABLE
t3
;
DROP
TABLE
t3
;
...
...
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