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
b81315d6
Commit
b81315d6
authored
Jun 22, 2004
by
konstantin@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixes to make client_test run on 64 bit Sun: a bug in libmysql and
test suite fixed.
parent
b20dca92
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
49 additions
and
26 deletions
+49
-26
libmysql/libmysql.c
libmysql/libmysql.c
+5
-5
tests/client_test.c
tests/client_test.c
+44
-21
No files found.
libmysql/libmysql.c
View file @
b81315d6
...
@@ -3245,32 +3245,32 @@ static void send_data_str(MYSQL_BIND *param, char *value, uint length)
...
@@ -3245,32 +3245,32 @@ static void send_data_str(MYSQL_BIND *param, char *value, uint length)
{
{
short
data
=
(
short
)
my_strntol
(
&
my_charset_latin1
,
value
,
length
,
10
,
NULL
,
short
data
=
(
short
)
my_strntol
(
&
my_charset_latin1
,
value
,
length
,
10
,
NULL
,
&
err
);
&
err
);
int2
store
(
buffer
,
data
);
short
store
(
buffer
,
data
);
break
;
break
;
}
}
case
MYSQL_TYPE_LONG
:
case
MYSQL_TYPE_LONG
:
{
{
int32
data
=
(
int32
)
my_strntol
(
&
my_charset_latin1
,
value
,
length
,
10
,
NULL
,
int32
data
=
(
int32
)
my_strntol
(
&
my_charset_latin1
,
value
,
length
,
10
,
NULL
,
&
err
);
&
err
);
int4
store
(
buffer
,
data
);
long
store
(
buffer
,
data
);
break
;
break
;
}
}
case
MYSQL_TYPE_LONGLONG
:
case
MYSQL_TYPE_LONGLONG
:
{
{
longlong
data
=
my_strntoll
(
&
my_charset_latin1
,
value
,
length
,
10
,
NULL
,
&
err
);
longlong
data
=
my_strntoll
(
&
my_charset_latin1
,
value
,
length
,
10
,
NULL
,
&
err
);
int8
store
(
buffer
,
data
);
longlong
store
(
buffer
,
data
);
break
;
break
;
}
}
case
MYSQL_TYPE_FLOAT
:
case
MYSQL_TYPE_FLOAT
:
{
{
float
data
=
(
float
)
my_strntod
(
&
my_charset_latin1
,
value
,
length
,
NULL
,
&
err
);
float
data
=
(
float
)
my_strntod
(
&
my_charset_latin1
,
value
,
length
,
NULL
,
&
err
);
float
4
store
(
buffer
,
data
);
floatstore
(
buffer
,
data
);
break
;
break
;
}
}
case
MYSQL_TYPE_DOUBLE
:
case
MYSQL_TYPE_DOUBLE
:
{
{
double
data
=
my_strntod
(
&
my_charset_latin1
,
value
,
length
,
NULL
,
&
err
);
double
data
=
my_strntod
(
&
my_charset_latin1
,
value
,
length
,
NULL
,
&
err
);
float8
store
(
buffer
,
data
);
double
store
(
buffer
,
data
);
break
;
break
;
}
}
case
MYSQL_TYPE_TINY_BLOB
:
case
MYSQL_TYPE_TINY_BLOB
:
...
...
tests/client_test.c
View file @
b81315d6
...
@@ -177,7 +177,8 @@ static void client_connect()
...
@@ -177,7 +177,8 @@ static void client_connect()
int
rc
;
int
rc
;
myheader_r
(
"client_connect"
);
myheader_r
(
"client_connect"
);
fprintf
(
stdout
,
"
\n
Establishing a connection to '%s' ..."
,
opt_host
);
fprintf
(
stdout
,
"
\n
Establishing a connection to '%s' ..."
,
opt_host
?
opt_host
:
""
);
if
(
!
(
mysql
=
mysql_init
(
NULL
)))
if
(
!
(
mysql
=
mysql_init
(
NULL
)))
{
{
...
@@ -3226,8 +3227,11 @@ static void bind_fetch(int row_count)
...
@@ -3226,8 +3227,11 @@ static void bind_fetch(int row_count)
{
{
MYSQL_STMT
*
stmt
;
MYSQL_STMT
*
stmt
;
int
rc
,
i
,
count
=
row_count
;
int
rc
,
i
,
count
=
row_count
;
ulong
bit
;
long
data
[
10
];
long
data
[
10
];
int8
i8_data
;
int16
i16_data
;
int32
i32_data
;
longlong
i64_data
;
float
f_data
;
float
f_data
;
double
d_data
;
double
d_data
;
char
s_data
[
10
];
char
s_data
[
10
];
...
@@ -3283,9 +3287,16 @@ static void bind_fetch(int row_count)
...
@@ -3283,9 +3287,16 @@ static void bind_fetch(int row_count)
}
}
bind
[
0
].
buffer_type
=
MYSQL_TYPE_TINY
;
bind
[
0
].
buffer_type
=
MYSQL_TYPE_TINY
;
bind
[
0
].
buffer
=
(
char
*
)
&
i8_data
;
bind
[
1
].
buffer_type
=
MYSQL_TYPE_SHORT
;
bind
[
1
].
buffer_type
=
MYSQL_TYPE_SHORT
;
bind
[
1
].
buffer
=
(
char
*
)
&
i16_data
;
bind
[
2
].
buffer_type
=
MYSQL_TYPE_LONG
;
bind
[
2
].
buffer_type
=
MYSQL_TYPE_LONG
;
bind
[
2
].
buffer
=
(
char
*
)
&
i32_data
;
bind
[
3
].
buffer_type
=
MYSQL_TYPE_LONGLONG
;
bind
[
3
].
buffer_type
=
MYSQL_TYPE_LONGLONG
;
bind
[
3
].
buffer
=
(
char
*
)
&
i64_data
;
bind
[
4
].
buffer_type
=
MYSQL_TYPE_FLOAT
;
bind
[
4
].
buffer_type
=
MYSQL_TYPE_FLOAT
;
bind
[
4
].
buffer
=
(
char
*
)
&
f_data
;
bind
[
4
].
buffer
=
(
char
*
)
&
f_data
;
...
@@ -3312,36 +3323,47 @@ static void bind_fetch(int row_count)
...
@@ -3312,36 +3323,47 @@ static void bind_fetch(int row_count)
check_execute
(
stmt
,
rc
);
check_execute
(
stmt
,
rc
);
fprintf
(
stdout
,
"
\n
"
);
fprintf
(
stdout
,
"
\n
"
);
fprintf
(
stdout
,
"
\n
tiny : %ld(%lu)"
,
data
[
0
]
,
length
[
0
]);
fprintf
(
stdout
,
"
\n
tiny : %ld(%lu)"
,
(
ulong
)
i8_data
,
length
[
0
]);
fprintf
(
stdout
,
"
\n
short : %ld(%lu)"
,
data
[
1
]
,
length
[
1
]);
fprintf
(
stdout
,
"
\n
short : %ld(%lu)"
,
(
ulong
)
i16_data
,
length
[
1
]);
fprintf
(
stdout
,
"
\n
int : %ld(%lu)"
,
data
[
2
]
,
length
[
2
]);
fprintf
(
stdout
,
"
\n
int : %ld(%lu)"
,
(
ulong
)
i32_data
,
length
[
2
]);
fprintf
(
stdout
,
"
\n
longlong : %ld(%lu)"
,
data
[
3
]
,
length
[
3
]);
fprintf
(
stdout
,
"
\n
longlong : %ld(%lu)"
,
(
ulong
)
i64_data
,
length
[
3
]);
fprintf
(
stdout
,
"
\n
float : %f(%lu)"
,
f_data
,
length
[
4
]);
fprintf
(
stdout
,
"
\n
float : %f(%lu)"
,
f_data
,
length
[
4
]);
fprintf
(
stdout
,
"
\n
double : %g(%lu)"
,
d_data
,
length
[
5
]);
fprintf
(
stdout
,
"
\n
double : %g(%lu)"
,
d_data
,
length
[
5
]);
fprintf
(
stdout
,
"
\n
char : %s(%lu)"
,
s_data
,
length
[
6
]);
fprintf
(
stdout
,
"
\n
char : %s(%lu)"
,
s_data
,
length
[
6
]);
bit
=
1
;
rc
=
10
+
row_count
;
rc
=
10
+
row_count
;
for
(
i
=
0
;
i
<
4
;
i
++
)
{
/* TINY */
assert
(
data
[
i
]
==
rc
+
i
);
assert
((
int
)
i8_data
==
rc
);
assert
(
length
[
i
]
==
bit
);
assert
(
length
[
0
]
==
1
);
bit
<<=
1
;
rc
+=
13
;
rc
+=
12
;
}
/* SHORT */
assert
((
int
)
i16_data
==
rc
);
assert
(
length
[
1
]
==
2
);
rc
+=
13
;
/* LONG */
assert
((
int
)
i32_data
==
rc
);
assert
(
length
[
2
]
==
4
);
rc
+=
13
;
/* LONGLONG */
assert
((
int
)
i64_data
==
rc
);
assert
(
length
[
3
]
==
8
);
rc
+=
13
;
/* FLOAT */
/* FLOAT */
rc
+=
i
;
assert
((
int
)
f_data
==
rc
);
assert
((
int
)
f_data
==
rc
);
assert
(
length
[
4
]
==
4
);
assert
(
length
[
4
]
==
4
);
rc
+=
13
;
/* DOUBLE */
/* DOUBLE */
rc
+=
13
;
assert
((
int
)
d_data
==
rc
);
assert
((
int
)
d_data
==
rc
);
assert
(
length
[
5
]
==
8
);
assert
(
length
[
5
]
==
8
);
rc
+=
13
;
/* CHAR */
/* CHAR */
rc
+=
13
;
{
{
char
buff
[
20
];
char
buff
[
20
];
long
len
=
my_sprintf
(
buff
,
(
buff
,
"%d"
,
rc
));
long
len
=
my_sprintf
(
buff
,
(
buff
,
"%d"
,
rc
));
...
@@ -4523,7 +4545,8 @@ static void test_multi_stmt()
...
@@ -4523,7 +4545,8 @@ static void test_multi_stmt()
{
{
MYSQL_STMT
*
stmt
,
*
stmt1
,
*
stmt2
;
MYSQL_STMT
*
stmt
,
*
stmt1
,
*
stmt2
;
int
rc
,
id
;
int
rc
;
ulong
id
;
char
name
[
50
];
char
name
[
50
];
MYSQL_BIND
bind
[
2
];
MYSQL_BIND
bind
[
2
];
ulong
length
[
2
];
ulong
length
[
2
];
...
@@ -4555,7 +4578,7 @@ static void test_multi_stmt()
...
@@ -4555,7 +4578,7 @@ static void test_multi_stmt()
*/
*/
bzero
((
char
*
)
bind
,
sizeof
(
bind
));
bzero
((
char
*
)
bind
,
sizeof
(
bind
));
bind
[
0
].
buffer_type
=
MYSQL_TYPE_
SHORT
;
bind
[
0
].
buffer_type
=
MYSQL_TYPE_
LONG
;
bind
[
0
].
buffer
=
(
char
*
)
&
id
;
bind
[
0
].
buffer
=
(
char
*
)
&
id
;
bind
[
0
].
is_null
=
&
is_null
[
0
];
bind
[
0
].
is_null
=
&
is_null
[
0
];
bind
[
0
].
length
=
&
length
[
0
];
bind
[
0
].
length
=
&
length
[
0
];
...
@@ -4582,7 +4605,7 @@ static void test_multi_stmt()
...
@@ -4582,7 +4605,7 @@ static void test_multi_stmt()
rc
=
mysql_stmt_fetch
(
stmt
);
rc
=
mysql_stmt_fetch
(
stmt
);
check_execute
(
stmt
,
rc
);
check_execute
(
stmt
,
rc
);
fprintf
(
stdout
,
"
\n
int_data: %
d
(%lu)"
,
id
,
length
[
0
]);
fprintf
(
stdout
,
"
\n
int_data: %
lu
(%lu)"
,
id
,
length
[
0
]);
fprintf
(
stdout
,
"
\n
str_data: %s(%lu)"
,
name
,
length
[
1
]);
fprintf
(
stdout
,
"
\n
str_data: %s(%lu)"
,
name
,
length
[
1
]);
assert
(
id
==
10
);
assert
(
id
==
10
);
assert
(
strcmp
(
name
,
"mysql"
)
==
0
);
assert
(
strcmp
(
name
,
"mysql"
)
==
0
);
...
@@ -4611,7 +4634,7 @@ static void test_multi_stmt()
...
@@ -4611,7 +4634,7 @@ static void test_multi_stmt()
rc
=
mysql_stmt_fetch
(
stmt
);
rc
=
mysql_stmt_fetch
(
stmt
);
check_execute
(
stmt
,
rc
);
check_execute
(
stmt
,
rc
);
fprintf
(
stdout
,
"
\n
int_data: %
d
(%lu)"
,
id
,
length
[
0
]);
fprintf
(
stdout
,
"
\n
int_data: %
lu
(%lu)"
,
id
,
length
[
0
]);
fprintf
(
stdout
,
"
\n
str_data: %s(%lu)"
,
name
,
length
[
1
]);
fprintf
(
stdout
,
"
\n
str_data: %s(%lu)"
,
name
,
length
[
1
]);
assert
(
id
==
10
);
assert
(
id
==
10
);
assert
(
strcmp
(
name
,
"updated"
)
==
0
);
assert
(
strcmp
(
name
,
"updated"
)
==
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