~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/coercibility_function/tests/t/coercibility.test

  • Committer: Monty Taylor
  • Date: 2010-08-21 00:40:40 UTC
  • mfrom: (1723.1.11 build)
  • Revision ID: mordred@inaugust.com-20100821004040-udj7wpfxtj0rgak1
Rollup of small patches.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Test coercibility function
 
2
--source include/have_coercibility_function.inc
 
3
 
 
4
# Should be 0
 
5
select coercibility('hello' collate utf8_roman_ci);
 
6
 
 
7
# Should be 1
 
8
# Can't figure out any way of doing this without an error (probably as it should be)
 
9
 
 
10
# Should be 2
 
11
set @a='hello';
 
12
select coercibility(@a);
 
13
 
 
14
# Should be 3
 
15
select coercibility(user());
 
16
 
 
17
# Should be 4
 
18
select coercibility('hello');
 
19
 
 
20
# Should be 5
 
21
select coercibility(NULL);
 
22
 
 
23
# From func_group.test
 
24
create table t1 (a char(10));
 
25
insert into t1 values ('a'),('b'),('c');
 
26
select coercibility(max(a)) from t1;
 
27
drop table t1;
 
28
 
 
29
# From func_str.test
 
30
explain extended select coercibility(conv(130,16,10));
 
31
 
 
32
# Next 3 from user_var.test
 
33
 
 
34
#
 
35
# Bug #2244: User variables didn't copy collation and derivation
 
36
# attributes from values they were initialized to.
 
37
#
 
38
 
 
39
set @a='test';
 
40
select collation(@a),coercibility(@a);
 
41
select @a='TEST';
 
42
select @a='TEST' collate utf8_bin;
 
43
 
 
44
set @a='test' collate utf8_general_ci;
 
45
select collation(@a),coercibility(@a);
 
46
select @a='TEST';
 
47
select @a='TEST' collate utf8_bin;
 
48
 
 
49
#
 
50
# Check the same invoking Item_set_user_var
 
51
#
 
52
select collation(@a:='test');
 
53
select coercibility(@a:='test');
 
54
select collation(@a:='test' collate utf8_bin);
 
55
select coercibility(@a:='test' collate utf8_bin);
 
56
select (@a:='test' collate utf8_bin) = 'TEST';
 
57
select collation(@a),coercibility(@a);
 
58
select (@a:='test' collate utf8_bin) = 'TEST' collate utf8_general_ci;
 
59
 
 
60
#
 
61
# Bug#9425 A user variable doesn't always have implicit coercibility
 
62
#
 
63
select @v, coercibility(@v);
 
64
set @v1=null, @v2=1, @v3=1.1, @v4=now();
 
65
select coercibility(@v1),coercibility(@v2),coercibility(@v3),coercibility(@v4);