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
6c80672c
Commit
6c80672c
authored
Oct 11, 2005
by
eric@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge eherman@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/Users/eric/dev/mysql-5.0
parents
215ecd33
de8b29cd
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
70 additions
and
20 deletions
+70
-20
cmd-line-utils/readline/complete.c
cmd-line-utils/readline/complete.c
+1
-1
mysql-test/r/type_float.result
mysql-test/r/type_float.result
+15
-0
mysql-test/t/type_float.test
mysql-test/t/type_float.test
+13
-0
sql/item.cc
sql/item.cc
+22
-1
sql/sp.cc
sql/sp.cc
+16
-15
sql/sp_cache.cc
sql/sp_cache.cc
+1
-1
sql/sp_head.cc
sql/sp_head.cc
+2
-2
No files found.
cmd-line-utils/readline/complete.c
View file @
6c80672c
...
...
@@ -21,7 +21,7 @@
59 Temple Place, Suite 330, Boston, MA 02111 USA. */
#define READLINE_LIBRARY
#if
ndef _XOPEN_SOURCE
#if
!defined(_XOPEN_SOURCE) && !defined(__FreeBSD__)
#define _XOPEN_SOURCE 500
#endif
...
...
mysql-test/r/type_float.result
View file @
6c80672c
...
...
@@ -225,6 +225,21 @@ select * from t1 where reckey=1.09E2;
reckey recdesc
109 Has 109 as key
drop table t1;
create table t1 (d double(10,1));
create table t2 (d double(10,9));
insert into t1 values ("100000000.0");
insert into t2 values ("1.23456780");
create table t3 select * from t2 union select * from t1;
select * from t3;
d
1.234567800
100000000.000000000
show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
`d` double(22,9) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2, t3;
create table t1 (s1 float(0,2));
ERROR 42000: For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 's1').
create table t1 (s1 float(1,2));
...
...
mysql-test/t/type_float.test
View file @
6c80672c
...
...
@@ -146,6 +146,19 @@ select * from t1 where reckey=109;
select
*
from
t1
where
reckey
=
1.09E2
;
drop
table
t1
;
#
# Bug #13372 (decimal union)
#
create
table
t1
(
d
double
(
10
,
1
));
create
table
t2
(
d
double
(
10
,
9
));
insert
into
t1
values
(
"100000000.0"
);
insert
into
t2
values
(
"1.23456780"
);
create
table
t3
select
*
from
t2
union
select
*
from
t1
;
select
*
from
t3
;
show
create
table
t3
;
drop
table
t1
,
t2
,
t3
;
# End of 4.1 tests
#
...
...
sql/item.cc
View file @
6c80672c
...
...
@@ -5705,6 +5705,8 @@ enum_field_types Item_type_holder::get_real_type(Item *item)
bool
Item_type_holder
::
join_types
(
THD
*
thd
,
Item
*
item
)
{
uint
max_length_orig
=
max_length
;
uint
decimals_orig
=
decimals
;
DBUG_ENTER
(
"Item_type_holder::join_types"
);
DBUG_PRINT
(
"info:"
,
(
"was type %d len %d, dec %d name %s"
,
fld_type
,
max_length
,
decimals
,
...
...
@@ -5731,7 +5733,10 @@ bool Item_type_holder::join_types(THD *thd, Item *item)
}
else
max_length
=
max
(
max_length
,
display_length
(
item
));
if
(
Field
::
result_merge_type
(
fld_type
)
==
STRING_RESULT
)
switch
(
Field
::
result_merge_type
(
fld_type
))
{
case
STRING_RESULT
:
{
const
char
*
old_cs
,
*
old_derivation
;
old_cs
=
collation
.
collation
->
name
;
...
...
@@ -5745,7 +5750,23 @@ bool Item_type_holder::join_types(THD *thd, Item *item)
"UNION"
);
DBUG_RETURN
(
TRUE
);
}
break
;
}
case
REAL_RESULT
:
{
if
(
decimals
!=
NOT_FIXED_DEC
)
{
int
delta1
=
max_length_orig
-
decimals_orig
;
int
delta2
=
item
->
max_length
-
item
->
decimals
;
max_length
=
min
(
max
(
delta1
,
delta2
)
+
decimals
,
(
fld_type
==
MYSQL_TYPE_FLOAT
)
?
FLT_DIG
+
6
:
DBL_DIG
+
7
);
}
else
max_length
=
(
fld_type
==
MYSQL_TYPE_FLOAT
)
?
FLT_DIG
+
6
:
DBL_DIG
+
7
;
break
;
}
default:
;
};
maybe_null
|=
item
->
maybe_null
;
get_full_info
(
item
);
...
...
sql/sp.cc
View file @
6c80672c
...
...
@@ -208,7 +208,7 @@ db_find_routine_aux(THD *thd, int type, sp_name *name, TABLE *table)
{
byte
key
[
MAX_KEY_LENGTH
];
// db, name, optional key length type
DBUG_ENTER
(
"db_find_routine_aux"
);
DBUG_PRINT
(
"enter"
,
(
"type: %d name: %*s"
,
DBUG_PRINT
(
"enter"
,
(
"type: %d name: %
.
*s"
,
type
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
/*
...
...
@@ -275,7 +275,7 @@ db_find_routine(THD *thd, int type, sp_name *name, sp_head **sphp)
ulong
sql_mode
;
Open_tables_state
open_tables_state_backup
;
DBUG_ENTER
(
"db_find_routine"
);
DBUG_PRINT
(
"enter"
,
(
"type: %d name: %*s"
,
DBUG_PRINT
(
"enter"
,
(
"type: %d name: %
.
*s"
,
type
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
*
sphp
=
0
;
// In case of errors
...
...
@@ -479,7 +479,8 @@ db_create_routine(THD *thd, int type, sp_head *sp)
char
olddb
[
128
];
bool
dbchanged
;
DBUG_ENTER
(
"db_create_routine"
);
DBUG_PRINT
(
"enter"
,
(
"type: %d name: %*s"
,
type
,
sp
->
m_name
.
length
,
sp
->
m_name
.
str
));
DBUG_PRINT
(
"enter"
,
(
"type: %d name: %.*s"
,
type
,
sp
->
m_name
.
length
,
sp
->
m_name
.
str
));
dbchanged
=
FALSE
;
if
((
ret
=
sp_use_new_db
(
thd
,
sp
->
m_db
.
str
,
olddb
,
sizeof
(
olddb
),
...
...
@@ -606,7 +607,7 @@ db_drop_routine(THD *thd, int type, sp_name *name)
TABLE
*
table
;
int
ret
;
DBUG_ENTER
(
"db_drop_routine"
);
DBUG_PRINT
(
"enter"
,
(
"type: %d name: %*s"
,
DBUG_PRINT
(
"enter"
,
(
"type: %d name: %
.
*s"
,
type
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
if
(
!
(
table
=
open_proc_table_for_update
(
thd
)))
...
...
@@ -628,7 +629,7 @@ db_update_routine(THD *thd, int type, sp_name *name, st_sp_chistics *chistics)
int
ret
;
bool
opened
;
DBUG_ENTER
(
"db_update_routine"
);
DBUG_PRINT
(
"enter"
,
(
"type: %d name: %*s"
,
DBUG_PRINT
(
"enter"
,
(
"type: %d name: %
.
*s"
,
type
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
if
(
!
(
table
=
open_proc_table_for_update
(
thd
)))
...
...
@@ -922,7 +923,7 @@ sp_find_procedure(THD *thd, sp_name *name, bool cache_only)
{
sp_head
*
sp
;
DBUG_ENTER
(
"sp_find_procedure"
);
DBUG_PRINT
(
"enter"
,
(
"name: %
*s.%
*s"
,
DBUG_PRINT
(
"enter"
,
(
"name: %
.*s.%.
*s"
,
name
->
m_db
.
length
,
name
->
m_db
.
str
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
...
...
@@ -980,7 +981,7 @@ sp_create_procedure(THD *thd, sp_head *sp)
{
int
ret
;
DBUG_ENTER
(
"sp_create_procedure"
);
DBUG_PRINT
(
"enter"
,
(
"name: %*s"
,
sp
->
m_name
.
length
,
sp
->
m_name
.
str
));
DBUG_PRINT
(
"enter"
,
(
"name: %
.
*s"
,
sp
->
m_name
.
length
,
sp
->
m_name
.
str
));
ret
=
db_create_routine
(
thd
,
TYPE_ENUM_PROCEDURE
,
sp
);
DBUG_RETURN
(
ret
);
...
...
@@ -992,7 +993,7 @@ sp_drop_procedure(THD *thd, sp_name *name)
{
int
ret
;
DBUG_ENTER
(
"sp_drop_procedure"
);
DBUG_PRINT
(
"enter"
,
(
"name: %*s"
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
DBUG_PRINT
(
"enter"
,
(
"name: %
.
*s"
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
ret
=
db_drop_routine
(
thd
,
TYPE_ENUM_PROCEDURE
,
name
);
if
(
!
ret
)
...
...
@@ -1006,7 +1007,7 @@ sp_update_procedure(THD *thd, sp_name *name, st_sp_chistics *chistics)
{
int
ret
;
DBUG_ENTER
(
"sp_update_procedure"
);
DBUG_PRINT
(
"enter"
,
(
"name: %*s"
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
DBUG_PRINT
(
"enter"
,
(
"name: %
.
*s"
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
ret
=
db_update_routine
(
thd
,
TYPE_ENUM_PROCEDURE
,
name
,
chistics
);
if
(
!
ret
)
...
...
@@ -1020,7 +1021,7 @@ sp_show_create_procedure(THD *thd, sp_name *name)
{
sp_head
*
sp
;
DBUG_ENTER
(
"sp_show_create_procedure"
);
DBUG_PRINT
(
"enter"
,
(
"name: %*s"
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
DBUG_PRINT
(
"enter"
,
(
"name: %
.
*s"
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
if
((
sp
=
sp_find_procedure
(
thd
,
name
)))
{
...
...
@@ -1072,7 +1073,7 @@ sp_find_function(THD *thd, sp_name *name, bool cache_only)
{
sp_head
*
sp
;
DBUG_ENTER
(
"sp_find_function"
);
DBUG_PRINT
(
"enter"
,
(
"name: %*s"
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
DBUG_PRINT
(
"enter"
,
(
"name: %
.
*s"
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
if
(
!
(
sp
=
sp_cache_lookup
(
&
thd
->
sp_func_cache
,
name
))
&&
!
cache_only
)
...
...
@@ -1089,7 +1090,7 @@ sp_create_function(THD *thd, sp_head *sp)
{
int
ret
;
DBUG_ENTER
(
"sp_create_function"
);
DBUG_PRINT
(
"enter"
,
(
"name: %*s"
,
sp
->
m_name
.
length
,
sp
->
m_name
.
str
));
DBUG_PRINT
(
"enter"
,
(
"name: %
.
*s"
,
sp
->
m_name
.
length
,
sp
->
m_name
.
str
));
ret
=
db_create_routine
(
thd
,
TYPE_ENUM_FUNCTION
,
sp
);
DBUG_RETURN
(
ret
);
...
...
@@ -1101,7 +1102,7 @@ sp_drop_function(THD *thd, sp_name *name)
{
int
ret
;
DBUG_ENTER
(
"sp_drop_function"
);
DBUG_PRINT
(
"enter"
,
(
"name: %*s"
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
DBUG_PRINT
(
"enter"
,
(
"name: %
.
*s"
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
ret
=
db_drop_routine
(
thd
,
TYPE_ENUM_FUNCTION
,
name
);
if
(
!
ret
)
...
...
@@ -1115,7 +1116,7 @@ sp_update_function(THD *thd, sp_name *name, st_sp_chistics *chistics)
{
int
ret
;
DBUG_ENTER
(
"sp_update_procedure"
);
DBUG_PRINT
(
"enter"
,
(
"name: %*s"
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
DBUG_PRINT
(
"enter"
,
(
"name: %
.
*s"
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
ret
=
db_update_routine
(
thd
,
TYPE_ENUM_FUNCTION
,
name
,
chistics
);
if
(
!
ret
)
...
...
@@ -1129,7 +1130,7 @@ sp_show_create_function(THD *thd, sp_name *name)
{
sp_head
*
sp
;
DBUG_ENTER
(
"sp_show_create_function"
);
DBUG_PRINT
(
"enter"
,
(
"name: %*s"
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
DBUG_PRINT
(
"enter"
,
(
"name: %
.
*s"
,
name
->
m_name
.
length
,
name
->
m_name
.
str
));
if
((
sp
=
sp_find_function
(
thd
,
name
)))
{
...
...
sql/sp_cache.cc
View file @
6c80672c
...
...
@@ -132,7 +132,7 @@ void sp_cache_insert(sp_cache **cp, sp_head *sp)
return
;
// End of memory error
c
->
version
=
Cversion
;
// No need to lock when reading long variable
}
DBUG_PRINT
(
"info"
,(
"sp_cache: inserting: %*s"
,
sp
->
m_qname
.
length
,
DBUG_PRINT
(
"info"
,(
"sp_cache: inserting: %
.
*s"
,
sp
->
m_qname
.
length
,
sp
->
m_qname
.
str
));
c
->
insert
(
sp
);
*
cp
=
c
;
// Update *cp if it was NULL
...
...
sql/sp_head.cc
View file @
6c80672c
...
...
@@ -280,7 +280,7 @@ sp_eval_func_item(THD *thd, Item **it_addr, enum enum_field_types type,
DBUG_PRINT
(
"info"
,
(
"STRING_RESULT: null"
));
goto
return_null_item
;
}
DBUG_PRINT
(
"info"
,(
"STRING_RESULT: %*s"
,
DBUG_PRINT
(
"info"
,(
"STRING_RESULT: %
.
*s"
,
s
->
length
(),
s
->
c_ptr_quick
()));
/*
Reuse mechanism in sp_eval_func_item() is only employed for assignments
...
...
@@ -354,7 +354,7 @@ sp_name::init_qname(THD *thd)
return
;
m_qname
.
length
=
m_sroutines_key
.
length
-
1
;
m_qname
.
str
=
m_sroutines_key
.
str
+
1
;
sprintf
(
m_qname
.
str
,
"%
*s.%
*s"
,
sprintf
(
m_qname
.
str
,
"%
.*s.%.
*s"
,
m_db
.
length
,
(
m_db
.
length
?
m_db
.
str
:
""
),
m_name
.
length
,
m_name
.
str
);
}
...
...
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