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
953df8f4
Commit
953df8f4
authored
Jan 12, 2005
by
joreland@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge mysql.com:/home/jonas/src/mysql-4.1
into mysql.com:/home/jonas/src/mysql-5.0
parents
4860bf9a
eeabd0bb
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
93 additions
and
27 deletions
+93
-27
libmysql_r/Makefile.am
libmysql_r/Makefile.am
+1
-1
mysql-test/ndb/ndbcluster.sh
mysql-test/ndb/ndbcluster.sh
+3
-3
mysql-test/r/analyse.result
mysql-test/r/analyse.result
+6
-0
mysql-test/t/analyse.test
mysql-test/t/analyse.test
+4
-0
ndb/test/src/CpcClient.cpp
ndb/test/src/CpcClient.cpp
+20
-22
scripts/Makefile.am
scripts/Makefile.am
+1
-0
sql/sql_analyse.cc
sql/sql_analyse.cc
+58
-1
No files found.
libmysql_r/Makefile.am
View file @
953df8f4
...
...
@@ -22,7 +22,7 @@
target
=
libmysqlclient_r.la
target_defs
=
-DDONT_USE_RAID
-DMYSQL_CLIENT
@LIB_EXTRA_CCFLAGS@
LIBS
=
@LIBS@ @openssl_libs@
LIBS
=
@LIBS@ @
ZLIB_LIBS@ @
openssl_libs@
INCLUDES
=
@MT_INCLUDES@
\
-I
$(top_srcdir)
/include
$(openssl_includes)
@ZLIB_INCLUDES@
\
...
...
mysql-test/ndb/ndbcluster.sh
View file @
953df8f4
...
...
@@ -191,7 +191,7 @@ if ( cd "$fs_ndb" ; $exec_mgmtsrvr -f config.ini ) ; then :; else
echo
"Unable to start
$exec_mgmtsrvr
from
`
pwd
`
"
exit
1
fi
if
sleep_until_file_created
$fs_ndb
/ndb_3.pid
3
0
if
sleep_until_file_created
$fs_ndb
/ndb_3.pid
12
0
then
:
;
else
exit
1
fi
...
...
@@ -201,7 +201,7 @@ cat `find "$fs_ndb" -name 'ndb_*.pid'` > "$fs_ndb/$pidfile"
echo
"Starting ndbd"
(
cd
"
$fs_ndb
"
;
$exec_ndb
$flags_ndb
&
)
if
sleep_until_file_created
$fs_ndb
/ndb_1.pid
3
0
if
sleep_until_file_created
$fs_ndb
/ndb_1.pid
12
0
then
:
;
else
stop_default_ndbcluster
exit
1
...
...
@@ -212,7 +212,7 @@ cat `find "$fs_ndb" -name 'ndb_*.pid'` > "$fs_ndb/$pidfile"
echo
"Starting ndbd"
(
cd
"
$fs_ndb
"
;
$exec_ndb
$flags_ndb
&
)
if
sleep_until_file_created
$fs_ndb
/ndb_2.pid
3
0
if
sleep_until_file_created
$fs_ndb
/ndb_2.pid
12
0
then
:
;
else
stop_default_ndbcluster
exit
1
...
...
mysql-test/r/analyse.result
View file @
953df8f4
...
...
@@ -96,3 +96,9 @@ select * from t2;
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
test.t1.a 1 2 1 1 0 0 1.5000 0.5000 ENUM('1','2') NOT NULL
drop table t1,t2;
create table t1 (v varchar(128));
insert into t1 values ('abc'),('abc\'def\\hij\"klm\0opq'),('\''),('\"'),('\\'),('a\0'),('b\''),('c\"'),('d\\'),('\'b'),('\"c'),('\\d'),('a\0\0\0b'),('a\'\'\'\'b'),('a\"\"\"\"b'),('a\\\\\\\\b'),('\'\0\\\"'),('\'\''),('\"\"'),('\\\\'),('The\ZEnd');
select * from t1 procedure analyse();
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
test.t1.v " \\ 1 19 0 0 3.7619 NULL ENUM('"','""','"c','\'\0\\"','\'','\'\'','\'b','a\0\0\0b','a\0','a""""b','a\'\'\'\'b','abc','abc\'def\\hij"klm\0opq','a\\\\\\\\b','b\'','c"','d\\','The\ZEnd','\\','\\d','\\\\') NOT NULL
drop table t1;
mysql-test/t/analyse.test
View file @
953df8f4
...
...
@@ -38,3 +38,7 @@ select * from t2;
insert
into
t2
select
*
from
t1
procedure
analyse
();
select
*
from
t2
;
drop
table
t1
,
t2
;
create
table
t1
(
v
varchar
(
128
));
insert
into
t1
values
(
'abc'
),(
'abc\'def\\hij\"klm\0opq'
),(
'\''
),(
'\"'
),(
'\\'
),(
'a\0'
),(
'b\''
),(
'c\"'
),(
'd\\'
),(
'\'b'
),(
'\"c'
),(
'\\d'
),(
'a\0\0\0b'
),(
'a\'\'\'\'b'
),(
'a\"\"\"\"b'
),(
'a\\\\\\\\b'
),(
'\'\0\\\"'
),(
'\'\''
),(
'\"\"'
),(
'\\\\'
),(
'The\ZEnd'
);
select
*
from
t1
procedure
analyse
();
drop
table
t1
;
ndb/test/src/CpcClient.cpp
View file @
953df8f4
...
...
@@ -30,7 +30,7 @@
0, 0, \
0, \
(desc), \
(v
oid *)(v
alue) }
(value) }
#define CPC_ARG(name, type, opt, desc) \
{ (name), \
...
...
@@ -351,17 +351,12 @@ SimpleCpcClient::define_process(Process & p, Properties& reply){
int
SimpleCpcClient
::
list_processes
(
Vector
<
Process
>
&
procs
,
Properties
&
reply
)
{
enum
Proclist
{
Proclist_Start
,
Proclist_End
,
Proclist_Entry
};
int
start
,
end
,
entry
;
const
ParserRow_t
list_reply
[]
=
{
CPC_CMD
(
"start processes"
,
Proclist_Start
,
""
),
CPC_CMD
(
"end processes"
,
Proclist_End
,
""
),
CPC_CMD
(
"start processes"
,
&
start
,
""
),
CPC_CMD
(
"end processes"
,
&
end
,
""
),
CPC_CMD
(
"process"
,
Proclist_E
ntry
,
""
),
CPC_CMD
(
"process"
,
&
e
ntry
,
""
),
CPC_ARG
(
"id"
,
Int
,
Mandatory
,
"Id of process."
),
CPC_ARG
(
"name"
,
String
,
Mandatory
,
"Name of process"
),
CPC_ARG
(
"group"
,
String
,
Mandatory
,
"Group of process"
),
...
...
@@ -390,26 +385,29 @@ SimpleCpcClient::list_processes(Vector<Process> &procs, Properties& reply) {
bool
done
=
false
;
while
(
!
done
)
{
const
Properties
*
proc
;
enum
Proclist
p
;
cpc_recv
(
list_reply
,
&
proc
,
(
void
**
)
&
p
);
void
*
p
;
cpc_recv
(
list_reply
,
&
proc
,
&
p
);
switch
(
p
)
{
case
Proclist_Start
:
if
(
p
==
&
start
)
{
/* do nothing */
break
;
case
Proclist_End
:
}
else
if
(
p
==
&
end
)
{
done
=
true
;
break
;
case
Proclist_Entry
:
}
else
if
(
p
==
&
entry
)
{
if
(
proc
!=
NULL
){
Process
p
;
convert
(
*
proc
,
p
);
procs
.
push_back
(
p
);
}
break
;
default:
/* ignore */
break
;
}
else
{
ndbout_c
(
"internal error: %d"
,
__LINE__
);
return
-
1
;
}
}
return
0
;
...
...
scripts/Makefile.am
View file @
953df8f4
...
...
@@ -121,6 +121,7 @@ SUFFIXES = .sh
-e
's!@''CXXFLAGS''@!@SAVE_CXXFLAGS@!'
\
-e
's!@''LDFLAGS''@!@SAVE_LDFLAGS@!'
\
-e
's!@''CLIENT_LIBS''@!@CLIENT_LIBS@!'
\
-e
's!@''ZLIB_LIBS''@!@ZLIB_LIBS@!'
\
-e
's!@''LIBS''@!@LIBS@!'
\
-e
's!@''WRAPLIBS''@!@WRAPLIBS@!'
\
-e
's!@''innodb_system_libs''@!@innodb_system_libs@!'
\
...
...
sql/sql_analyse.cc
View file @
953df8f4
...
...
@@ -59,6 +59,7 @@ int compare_ulonglong2(void* cmp_arg __attribute__((unused)),
return
compare_ulonglong
(
s
,
t
);
}
static
bool
append_escaped
(
String
*
to_str
,
String
*
from_str
);
Procedure
*
proc_analyse_init
(
THD
*
thd
,
ORDER
*
param
,
select_result
*
result
,
...
...
@@ -890,7 +891,8 @@ int collect_string(String *element,
else
info
->
found
=
1
;
info
->
str
->
append
(
'\''
);
info
->
str
->
append
(
*
element
);
if
(
append_escaped
(
info
->
str
,
element
))
return
1
;
info
->
str
->
append
(
'\''
);
return
0
;
}
// collect_string
...
...
@@ -1025,3 +1027,58 @@ uint check_ulonglong(const char *str, uint length)
while
(
*
cmp
&&
*
cmp
++
==
*
str
++
)
;
return
((
uchar
)
str
[
-
1
]
<=
(
uchar
)
cmp
[
-
1
])
?
smaller
:
bigger
;
}
/* check_ulonlong */
/*
FUNCTION: append_escaped()
DESCRIPTION
append_escaped() takes a String type variable, where it appends
escaped the second argument. Only characters that require escaping
will be escaped.
ARGUMENTS
A pointer to a String variable, where results will be appended
A pointer to a String variable, which is appended to the result
String, escaping those characters that require it.
RETURN VALUES
0 Success
1 Out of memory
*/
static
bool
append_escaped
(
String
*
to_str
,
String
*
from_str
)
{
char
*
from
,
*
end
,
c
;
if
(
to_str
->
realloc
(
to_str
->
length
()
+
from_str
->
length
()))
return
1
;
from
=
(
char
*
)
from_str
->
ptr
();
end
=
from
+
from_str
->
length
();
for
(;
from
<
end
;
from
++
)
{
c
=
*
from
;
switch
(
c
)
{
case
'\0'
:
c
=
'0'
;
break
;
case
'\032'
:
c
=
'Z'
;
break
;
case
'\\'
:
case
'\''
:
break
;
default:
goto
normal_character
;
}
if
(
to_str
->
append
(
'\\'
))
return
1
;
normal_character:
if
(
to_str
->
append
(
c
))
return
1
;
}
return
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