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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
c0e8a8d6
Commit
c0e8a8d6
authored
Apr 30, 2005
by
monty@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
parents
f35c1a18
129c6040
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
120 additions
and
13 deletions
+120
-13
client/mysqladmin.cc
client/mysqladmin.cc
+1
-1
mysql-test/r/bigint.result
mysql-test/r/bigint.result
+17
-0
mysql-test/r/user_var.result
mysql-test/r/user_var.result
+41
-0
mysql-test/t/bigint.test
mysql-test/t/bigint.test
+10
-0
mysql-test/t/user_var.test
mysql-test/t/user_var.test
+26
-0
sql/handler.cc
sql/handler.cc
+4
-3
sql/item_func.cc
sql/item_func.cc
+11
-4
sql/item_func.h
sql/item_func.h
+1
-0
sql/unireg.cc
sql/unireg.cc
+5
-2
tests/mysql_client_test.c
tests/mysql_client_test.c
+4
-3
No files found.
client/mysqladmin.cc
View file @
c0e8a8d6
...
...
@@ -727,7 +727,7 @@ static int execute_commands(MYSQL *mysql,int argc, char **argv)
void
(
*
func
)
(
MYSQL_RES
*
,
MYSQL_ROW
,
uint
);
new_line
=
1
;
if
(
mysql_query
(
mysql
,
"show status"
)
||
if
(
mysql_query
(
mysql
,
"show
/*!50002 GLOBAL */
status"
)
||
!
(
res
=
mysql_store_result
(
mysql
)))
{
my_printf_error
(
0
,
"unable to show status; error: '%s'"
,
MYF
(
ME_BELL
),
...
...
mysql-test/r/bigint.result
View file @
c0e8a8d6
...
...
@@ -128,3 +128,20 @@ t2.value64=t1.value64;
value64 value32 value64 value32
9223372036854775807 2 9223372036854775807 4
drop table t1, t2;
create table t1 select 1 as 'a';
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` bigint(1) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 select 9223372036854775809 as 'a';
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` bigint(19) unsigned NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t1;
a
9223372036854775809
drop table t1;
mysql-test/r/user_var.result
View file @
c0e8a8d6
...
...
@@ -182,3 +182,44 @@ coercibility(@v1) coercibility(@v2) coercibility(@v3) coercibility(@v4)
set session @honk=99;
set one_shot @honk=99;
ERROR HY000: The 'SET ONE_SHOT' syntax is reserved for purposes internal to the MySQL server
set @first_var= NULL;
create table t1 select @first_var;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`@first_var` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
set @first_var= cast(NULL as signed integer);
create table t1 select @first_var;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`@first_var` bigint(20) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
set @first_var= NULL;
create table t1 select @first_var;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`@first_var` bigint(20) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
set @first_var= concat(NULL);
create table t1 select @first_var;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`@first_var` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
set @first_var=1;
set @first_var= cast(NULL as CHAR);
create table t1 select @first_var;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`@first_var` longtext
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
mysql-test/t/bigint.test
View file @
c0e8a8d6
...
...
@@ -104,3 +104,13 @@ t2.value64=t1.value64;
drop
table
t1
,
t2
;
#
# Test of CREATE ... SELECT and unsigned integers
#
create
table
t1
select
1
as
'a'
;
show
create
table
t1
;
drop
table
t1
;
create
table
t1
select
9223372036854775809
as
'a'
;
show
create
table
t1
;
select
*
from
t1
;
drop
table
t1
;
mysql-test/t/user_var.test
View file @
c0e8a8d6
...
...
@@ -119,3 +119,29 @@ select coercibility(@v1),coercibility(@v2),coercibility(@v3),coercibility(@v4);
set
session
@
honk
=
99
;
--
error
1382
set
one_shot
@
honk
=
99
;
#
# Bug #6598: problem with cast(NULL as signed integer);
#
set
@
first_var
=
NULL
;
create
table
t1
select
@
first_var
;
show
create
table
t1
;
drop
table
t1
;
set
@
first_var
=
cast
(
NULL
as
signed
integer
);
create
table
t1
select
@
first_var
;
show
create
table
t1
;
drop
table
t1
;
set
@
first_var
=
NULL
;
create
table
t1
select
@
first_var
;
show
create
table
t1
;
drop
table
t1
;
set
@
first_var
=
concat
(
NULL
);
create
table
t1
select
@
first_var
;
show
create
table
t1
;
drop
table
t1
;
set
@
first_var
=
1
;
set
@
first_var
=
cast
(
NULL
as
CHAR
);
create
table
t1
select
@
first_var
;
show
create
table
t1
;
drop
table
t1
;
sql/handler.cc
View file @
c0e8a8d6
...
...
@@ -185,9 +185,10 @@ enum db_type ha_checktype(enum db_type database_type)
thd
=
current_thd
;
return
((
enum
db_type
)
thd
->
variables
.
table_type
!=
DB_TYPE_UNKNOWN
?
(
enum
db_type
)
thd
->
variables
.
table_type
:
(
enum
db_type
)
global_system_variables
.
table_type
!=
DB_TYPE_UNKNOWN
?
(
enum
db_type
)
global_system_variables
.
table_type
:
DB_TYPE_MYISAM
);
((
enum
db_type
)
global_system_variables
.
table_type
!=
DB_TYPE_UNKNOWN
?
(
enum
db_type
)
global_system_variables
.
table_type
:
DB_TYPE_MYISAM
)
);
}
/* ha_checktype */
...
...
sql/item_func.cc
View file @
c0e8a8d6
...
...
@@ -3271,7 +3271,8 @@ bool Item_func_set_user_var::fix_fields(THD *thd, TABLE_LIST *tables,
from the argument if the argument is NULL
and the variable has previously been initialized.
*/
if
(
!
entry
->
collation
.
collation
||
!
args
[
0
]
->
null_value
)
null_item
=
(
args
[
0
]
->
type
()
==
NULL_ITEM
);
if
(
!
entry
->
collation
.
collation
||
!
null_item
)
entry
->
collation
.
set
(
args
[
0
]
->
collation
.
collation
,
DERIVATION_IMPLICIT
);
collation
.
set
(
entry
->
collation
.
collation
,
DERIVATION_IMPLICIT
);
cached_result_type
=
args
[
0
]
->
result_type
();
...
...
@@ -3315,8 +3316,8 @@ update_hash(user_var_entry *entry, bool set_null, void *ptr, uint length,
char
*
pos
=
(
char
*
)
entry
+
ALIGN_SIZE
(
sizeof
(
user_var_entry
));
if
(
entry
->
value
&&
entry
->
value
!=
pos
)
my_free
(
entry
->
value
,
MYF
(
0
));
entry
->
value
=
0
;
entry
->
length
=
0
;
entry
->
value
=
0
;
entry
->
length
=
0
;
}
else
{
...
...
@@ -3355,9 +3356,9 @@ update_hash(user_var_entry *entry, bool set_null, void *ptr, uint length,
if
(
type
==
DECIMAL_RESULT
)
((
my_decimal
*
)
entry
->
value
)
->
fix_buffer_pointer
();
entry
->
length
=
length
;
entry
->
type
=
type
;
entry
->
collation
.
set
(
cs
,
dv
);
}
entry
->
type
=
type
;
return
0
;
}
...
...
@@ -3366,6 +3367,12 @@ bool
Item_func_set_user_var
::
update_hash
(
void
*
ptr
,
uint
length
,
Item_result
type
,
CHARSET_INFO
*
cs
,
Derivation
dv
)
{
/*
If we set a variable explicitely to NULL then keep the old
result type of the variable
*/
if
((
null_value
=
args
[
0
]
->
null_value
)
&&
null_item
)
type
=
entry
->
type
;
// Don't change type of item
if
(
::
update_hash
(
entry
,
(
null_value
=
args
[
0
]
->
null_value
),
ptr
,
length
,
type
,
cs
,
dv
))
{
...
...
sql/item_func.h
View file @
c0e8a8d6
...
...
@@ -1071,6 +1071,7 @@ class Item_func_set_user_var :public Item_func
char
buffer
[
MAX_FIELD_WIDTH
];
String
value
;
my_decimal
decimal_buff
;
bool
null_item
;
union
{
longlong
vint
;
...
...
sql/unireg.cc
View file @
c0e8a8d6
...
...
@@ -685,6 +685,9 @@ static bool make_empty_rec(THD *thd, File file,enum db_type table_type,
thd
->
count_cuted_fields
=
CHECK_FIELD_WARN
;
// To find wrong default values
while
((
field
=
it
++
))
{
/*
regfield don't have to be deleted as it's allocated with sql_alloc()
*/
Field
*
regfield
=
make_field
((
char
*
)
buff
+
field
->
offset
,
field
->
length
,
null_pos
,
null_count
&
7
,
...
...
@@ -696,7 +699,8 @@ static bool make_empty_rec(THD *thd, File file,enum db_type table_type,
field
->
interval
,
field
->
field_name
,
&
table
);
DBUG_ASSERT
(
regfield
);
if
(
!
regfield
)
goto
err
;
// End of memory
if
(
!
(
field
->
flags
&
NOT_NULL_FLAG
))
null_count
++
;
...
...
@@ -730,7 +734,6 @@ static bool make_empty_rec(THD *thd, File file,enum db_type table_type,
regfield
->
store
(
ER
(
ER_NO
),
(
uint
)
strlen
(
ER
(
ER_NO
)),
system_charset_info
);
else
regfield
->
reset
();
delete
regfield
;
}
/* Fill not used startpos */
...
...
tests/mysql_client_test.c
View file @
c0e8a8d6
...
...
@@ -7046,6 +7046,7 @@ static void test_set_option()
bug #89 (reported by mark@mysql.com)
*/
#ifndef EMBEDDED_LIBRARY
static
void
test_prepare_grant
()
{
int
rc
;
...
...
@@ -7138,7 +7139,7 @@ static void test_prepare_grant()
}
}
#endif
/*
Test a crash when invalid/corrupted .frm is used in the
...
...
@@ -12597,7 +12598,7 @@ static void test_bug8330()
const
char
*
stmt_text
;
MYSQL_STMT
*
stmt
[
2
];
int
i
,
rc
;
char
*
query
=
"select a,b from t1 where a=?"
;
c
onst
c
har
*
query
=
"select a,b from t1 where a=?"
;
MYSQL_BIND
bind
[
2
];
long
lval
[
2
];
...
...
@@ -12788,7 +12789,7 @@ static void test_bug8722()
}
MYSQL_STMT
*
open_cursor
(
char
*
query
)
MYSQL_STMT
*
open_cursor
(
c
onst
c
har
*
query
)
{
int
rc
;
const
ulong
type
=
(
ulong
)
CURSOR_TYPE_READ_ONLY
;
...
...
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