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
de1d7c23
Commit
de1d7c23
authored
Mar 25, 2007
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into chilla.local:/home/mydev/mysql-4.1--main
parents
ee6dc3a0
55f991c2
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
30 additions
and
22 deletions
+30
-22
libmysqld/lib_sql.cc
libmysqld/lib_sql.cc
+8
-14
mysql-test/r/type_datetime.result
mysql-test/r/type_datetime.result
+3
-0
mysql-test/t/type_datetime.test
mysql-test/t/type_datetime.test
+6
-0
sql/item_timefunc.h
sql/item_timefunc.h
+7
-0
sql/sql_class.cc
sql/sql_class.cc
+6
-8
No files found.
libmysqld/lib_sql.cc
View file @
de1d7c23
...
...
@@ -69,10 +69,14 @@ void embedded_get_error(MYSQL *mysql)
static
void
emb_free_rows
(
THD
*
thd
)
{
if
(
!
thd
->
data
)
return
;
if
(
thd
->
current_stmt
)
free_root
(
&
thd
->
data
->
alloc
,
MYF
(
0
));
else
free_rows
(
thd
->
data
);
thd
->
data
=
NULL
;
}
...
...
@@ -86,11 +90,8 @@ emb_advanced_command(MYSQL *mysql, enum enum_server_command command,
THD
*
thd
=
(
THD
*
)
mysql
->
thd
;
NET
*
net
=
&
mysql
->
net
;
if
(
thd
->
data
)
{
emb_free_rows
(
thd
);
thd
->
data
=
0
;
}
emb_free_rows
(
thd
);
/* Check that we are calling the client functions in right order */
if
(
mysql
->
status
!=
MYSQL_STATUS_READY
)
{
...
...
@@ -143,13 +144,7 @@ emb_advanced_command(MYSQL *mysql, enum enum_server_command command,
static
void
emb_flush_use_result
(
MYSQL
*
mysql
)
{
MYSQL_DATA
*
data
=
((
THD
*
)(
mysql
->
thd
))
->
data
;
if
(
data
)
{
free_rows
(
data
);
((
THD
*
)(
mysql
->
thd
))
->
data
=
NULL
;
}
emb_free_rows
((
THD
*
)
(
mysql
->
thd
));
}
static
MYSQL_DATA
*
...
...
@@ -304,8 +299,7 @@ int emb_unbuffered_fetch(MYSQL *mysql, char **row)
static
void
emb_free_embedded_thd
(
MYSQL
*
mysql
)
{
THD
*
thd
=
(
THD
*
)
mysql
->
thd
;
if
(
thd
->
data
)
emb_free_rows
(
thd
);
emb_free_rows
(
thd
);
thread_count
--
;
delete
thd
;
mysql
->
thd
=
0
;
...
...
mysql-test/r/type_datetime.result
View file @
de1d7c23
...
...
@@ -166,3 +166,6 @@ dt
0000-00-00 00:00:00
0000-00-00 00:00:00
drop table t1;
select cast('2006-12-05 22:10:10' as datetime) + 0;
cast('2006-12-05 22:10:10' as datetime) + 0
20061205221010.000000
mysql-test/t/type_datetime.test
View file @
de1d7c23
...
...
@@ -113,4 +113,10 @@ insert into t1 values ("00-00-00"), ("00-00-00 00:00:00");
select
*
from
t1
;
drop
table
t1
;
#
# Bug #16546 DATETIME+0 not always coerced the same way
#
select
cast
(
'2006-12-05 22:10:10'
as
datetime
)
+
0
;
# End of 4.1 tests
sql/item_timefunc.h
View file @
de1d7c23
...
...
@@ -751,12 +751,19 @@ public:
String
*
val_str
(
String
*
str
);
const
char
*
cast_type
()
const
{
return
"datetime"
;
}
enum_field_types
field_type
()
const
{
return
MYSQL_TYPE_DATETIME
;
}
void
fix_length_and_dec
()
{
Item_typecast_maybe_null
::
fix_length_and_dec
();
decimals
=
DATETIME_DEC
;
}
Field
*
tmp_table_field
(
TABLE
*
t_arg
)
{
return
(
new
Field_datetime
(
maybe_null
,
name
,
t_arg
,
&
my_charset_bin
));
}
bool
result_as_longlong
()
{
return
TRUE
;
}
longlong
val_int
();
double
val
()
{
return
(
double
)
val_int
();
}
};
class
Item_func_makedate
:
public
Item_str_func
...
...
sql/sql_class.cc
View file @
de1d7c23
...
...
@@ -1048,7 +1048,6 @@ bool select_export::send_data(List<Item> &items)
}
row_count
++
;
Item
*
item
;
char
*
buff_ptr
=
buff
;
uint
used_length
=
0
,
items_left
=
items
.
elements
;
List_iterator_fast
<
Item
>
li
(
items
);
...
...
@@ -1148,19 +1147,18 @@ bool select_export::send_data(List<Item> &items)
goto
err
;
}
}
buff_ptr
=
buff
;
// Place separators here
if
(
res
&&
(
!
exchange
->
opt_enclosed
||
result_type
==
STRING_RESULT
))
{
memcpy
(
buff_ptr
,
exchange
->
enclosed
->
ptr
(),
exchange
->
enclosed
->
length
());
buff_ptr
+=
exchange
->
enclosed
->
length
();
if
(
my_b_write
(
&
cache
,
(
byte
*
)
exchange
->
enclosed
->
ptr
(),
exchange
->
enclosed
->
length
()))
goto
err
;
}
if
(
--
items_left
)
{
memcpy
(
buff_ptr
,
exchange
->
field_term
->
ptr
(),
field_term_length
);
buff_ptr
+=
field_term_length
;
if
(
my_b_write
(
&
cache
,
(
byte
*
)
exchange
->
field_term
->
ptr
(),
field_term_length
))
goto
err
;
}
if
(
my_b_write
(
&
cache
,(
byte
*
)
buff
,(
uint
)
(
buff_ptr
-
buff
)))
goto
err
;
}
if
(
my_b_write
(
&
cache
,(
byte
*
)
exchange
->
line_term
->
ptr
(),
exchange
->
line_term
->
length
()))
...
...
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