~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/func_test.test

  • Committer: Monty Taylor
  • Date: 2008-10-09 22:38:27 UTC
  • mto: This revision was merged to the branch mainline in revision 497.
  • Revision ID: monty@inaugust.com-20081009223827-bc9gvpiplsmvpwyq
Moved test() to its own file.
Made a new function to possibly replace int10_to_str.

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
select "a" like "%%b","a" like "%%ab","ab" like "a\%", "ab" like "_", "ab" like "ab_", "abc" like "%_d", "abc" like "abc%d";
12
12
select '?' like '|%', '?' like '|%' ESCAPE '|', '%' like '|%', '%' like '|%' ESCAPE '|', '%' like '%';
13
13
select 'abc' like '%c','abcabc' like '%c',  "ab" like "", "ab" like "a", "ab" like "ab";
 
14
select "Det h�r �r svenska" regexp "h[[:alpha:]]+r", "aba" regexp "^(a|b)*$";
 
15
select "aba" regexp concat("^","a");
 
16
select !0,NOT 0=1,!(0=0),1 AND 1,1 && 0,0 OR 1,1 || NULL, 1=1 or 1=1 and 1=0;
14
17
select 2 between 1 and 3, "monty" between "max" and "my",2=2 and "monty" between "max" and "my" and 3=3;
15
18
select 'b' between 'a' and 'c', 'B' between 'a' and 'c';
16
19
select 2 in (3,2,5,9,5,1),"monty" in ("david","monty","allan"), 1.2 in (1.4,1.2,1.0);
17
20
select -1.49 or -1.49,0.6 or 0.6;
 
21
select 3 ^ 11, 1 ^ 1, 1 ^ 0, 1 ^ NULL, NULL ^ 1;
 
22
explain extended select 3 ^ 11, 1 ^ 1, 1 ^ 0, 1 ^ NULL, NULL ^ 1;
 
23
select 1 XOR 1, 1 XOR 0, 0 XOR 1, 0 XOR 0, NULL XOR 1, 1 XOR NULL, 0 XOR NULL;
 
24
select 1 like 2 xor 2 like 1;
18
25
select 10 % 7, 10 mod 7, 10 div 3;
19
26
explain extended select 10 % 7, 10 mod 7, 10 div 3;
 
27
select (1 << 64)-1, ((1 << 64)-1) DIV 1, ((1 << 64)-1) DIV 2;
 
28
explain extended select (1 << 64)-1, ((1 << 64)-1) DIV 1, ((1 << 64)-1) DIV 2;
20
29
 
21
30
create table t1 (a int);
22
31
insert t1 values (1);
35
44
select 1 and 0 or 2, 2 or 1 and 0;
36
45
 
37
46
#
 
47
# Coercibility
 
48
#
 
49
select _koi8r'a' = _koi8r'A';
 
50
select _koi8r'a' = _koi8r'A' COLLATE koi8r_general_ci;
 
51
explain extended select _koi8r'a' = _koi8r'A' COLLATE koi8r_general_ci;
 
52
select _koi8r'a' = _koi8r'A' COLLATE koi8r_bin;
 
53
select _koi8r'a' COLLATE koi8r_general_ci = _koi8r'A';
 
54
select _koi8r'a' COLLATE koi8r_bin = _koi8r'A';
 
55
--error 1267
 
56
select _koi8r'a' COLLATE koi8r_bin = _koi8r'A' COLLATE koi8r_general_ci;
 
57
--error 1267
 
58
select _koi8r'a' = _latin1'A';
 
59
 
 
60
select strcmp(_koi8r'a', _koi8r'A');
 
61
select strcmp(_koi8r'a', _koi8r'A' COLLATE koi8r_general_ci);
 
62
select strcmp(_koi8r'a', _koi8r'A' COLLATE koi8r_bin);
 
63
select strcmp(_koi8r'a' COLLATE koi8r_general_ci, _koi8r'A');
 
64
select strcmp(_koi8r'a' COLLATE koi8r_bin, _koi8r'A');
 
65
--error 1267
 
66
select strcmp(_koi8r'a' COLLATE koi8r_general_ci, _koi8r'A' COLLATE koi8r_bin);
 
67
--error 1267
 
68
select strcmp(_koi8r'a', _latin1'A');
 
69
 
 
70
select _koi8r'a' LIKE _koi8r'A';
 
71
select _koi8r'a' LIKE _koi8r'A' COLLATE koi8r_general_ci;
 
72
select _koi8r'a' LIKE _koi8r'A' COLLATE koi8r_bin;
 
73
select _koi8r'a' COLLATE koi8r_general_ci LIKE _koi8r'A';
 
74
select _koi8r'a' COLLATE koi8r_bin LIKE _koi8r'A';
 
75
--error 1267
 
76
select _koi8r'a' COLLATE koi8r_general_ci LIKE _koi8r'A' COLLATE koi8r_bin;
 
77
--error 1267
 
78
select _koi8r'a' LIKE _latin1'A';
 
79
 
 
80
#
38
81
# Test for LEAST() BUG in LEFT JOIN
39
82
#
40
 
CREATE TABLE t1 (   faq_group_id int NOT NULL default '0',   faq_id int NOT NULL default '0',   title varchar(240) default NULL,   keywords text,   description longblob,   solution longblob,   status int NOT NULL default '0',   access_id int default NULL,   lang_id int NOT NULL default '0',   created datetime NULL,   updated datetime default NULL,   last_access datetime default NULL,   last_notify datetime default NULL,   solved_count int NOT NULL default '0',   static_solved int default NULL,   solved_1 int default NULL,   solved_2 int default NULL,   solved_3 int default NULL,   solved_4 int default NULL,   solved_5 int default NULL,   expires datetime default NULL,   notes text,   assigned_to int default NULL,   assigned_group int default NULL,   last_edited_by int default NULL,   orig_ref_no varchar(15) default NULL,   c$fundstate int default NULL,   c$contributor int default NULL,   UNIQUE KEY t1$faq_id (faq_id),   KEY t1$group_id$faq_id (faq_group_id,faq_id),   KEY t1$c$fundstate (c$fundstate) );
 
83
CREATE TABLE t1 (   faq_group_id int(11) NOT NULL default '0',   faq_id int(11) NOT NULL default '0',   title varchar(240) default NULL,   keywords text,   description longblob,   solution longblob,   status int(4) NOT NULL default '0',   access_id int(6) default NULL,   lang_id int(6) NOT NULL default '0',   created datetime NOT NULL default '0000-00-00 00:00:00',   updated datetime default NULL,   last_access datetime default NULL,   last_notify datetime default NULL,   solved_count int(11) NOT NULL default '0',   static_solved int(11) default NULL,   solved_1 int(11) default NULL,   solved_2 int(11) default NULL,   solved_3 int(11) default NULL,   solved_4 int(11) default NULL,   solved_5 int(11) default NULL,   expires datetime default NULL,   notes text,   assigned_to int(6) default NULL,   assigned_group int(6) default NULL,   last_edited_by int(6) default NULL,   orig_ref_no varchar(15) binary default NULL,   c$fundstate int(6) default NULL,   c$contributor int(6) default NULL,   UNIQUE KEY t1$faq_id (faq_id),   KEY t1$group_id$faq_id (faq_group_id,faq_id),   KEY t1$c$fundstate (c$fundstate) ) ENGINE=MyISAM;
41
84
INSERT INTO t1 VALUES (82,82,'How to use the DynaVox Usage Counts Feature','usages count, number, corner, white, box, button','<as-html>\r\n<table width=\"100%\" border=\"0\">\r\n  <tr>\r\n    <td width=\"3%\">�</td>\r\n    <td width=\"97%\">\r\n       <h3><font face=\"Verdana, Arial, Helvetica, sans-serif\" color=\"#000000\">How \r\n        To</font><!-- #BeginEditable \"CS_troubleshoot_question\" --><font face=\"Verdana, Arial, Helvetica, sans-serif\" color=\"#000099\"><font color=\"#000000\">: \r\n        Display or Hide the Usage Counts to find out how many times each button is being selected. </font></font><!-- #EndEditable --></h3>\r\n    </td>\r\n  </tr>\r\n</table>','<as-html>\r\n <table width=\"100%\" border=\"0\">\r\n  <tr>\r\n    <td width=\"3%\">�</td>\r\n    \r\n<td width=\"97%\"><!-- #BeginEditable \"CS_troubleshoot_answer\" --> \r\n      \r\n<p><font color=\"#000000\" face=\"Verdana, Arial, Helvetica, sans-serif\">1. Select \r\n  the <i>On/Setup</i> button to access the DynaVox Setup Menu.<br>\r\n  2. Select <b>Button Features.</b><br>\r\n  3. Below the <b>OK</b> button is the <b>Usage Counts</b> button.<br>\r\n  a. If it says \"Hidden\" then the Usage Counts will not be displayed.<br>\r\n  b. If it says \"Displayed\" then the Usage Counts will be shown.<br>\r\n        c. Select the <b>Usage Counts</b> Option Ring once and it will toggle \r\n        to the alternative option.<br>\r\n  4. Once the correct setting has been chosen, select <b>OK</b> to leave the <i>Button \r\n  Features</i> menu.<br>\r\n  5. Select <b>OK</b> out of the <i>Setup</i> menu and return to the communication \r\n  page.</font></p>\r\n      <p><font color=\"#000000\" face=\"Verdana, Arial, Helvetica, sans-serif\">For \r\n        further information on <i>Usage Counts,</i> see the <i>Button Features \r\n        Menu Entry</i> in the DynaVox/DynaMyte Reference Manual.</font></p>\r\n<!-- #EndEditable --></td>\r\n  </tr>\r\n</table>',4,1,1,'2001-11-16 16:43:34','2002-11-25 12:09:43','2003-07-24 01:04:48',NULL,11,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,11,NULL,NULL,NULL);
42
 
CREATE TABLE t2 (  access_id int NOT NULL default '0',   name varchar(20) default NULL,   rank int NOT NULL default '0',   KEY t2$access_id (access_id) );
 
85
CREATE TABLE t2 (  access_id int(6) NOT NULL default '0',   name varchar(20) binary default NULL,   rank int(6) NOT NULL default '0',   KEY t2$access_id (access_id) ) ENGINE=MyISAM;
43
86
INSERT INTO t2 VALUES (1,'Everyone',2),(2,'Help',3),(3,'Customer Support',1);
44
87
SELECT f_acc.rank, a1.rank, a2.rank  FROM t1 LEFT JOIN t1 f1 ON  (f1.access_id=1 AND f1.faq_group_id = t1.faq_group_id) LEFT JOIN t2 a1 ON (a1.access_id =  f1.access_id) LEFT JOIN t1 f2 ON (f2.access_id=3 AND  f2.faq_group_id = t1.faq_group_id) LEFT  JOIN t2 a2 ON (a2.access_id = f2.access_id), t2 f_acc WHERE LEAST(a1.rank,a2.rank) =  f_acc.rank;
45
88
DROP TABLE t1,t2;
111
154
# Test for bug #12791: one of the arguments of LEAST/GREATEST is NULL
112
155
#
113
156
 
114
 
SELECT GREATEST(1,NULL);
115
 
SELECT LEAST('xxx','aaa',NULL,'yyy');
116
 
SELECT LEAST(1.1,1.2,NULL,1.0);
117
 
SELECT GREATEST(1.5E+2,1.3E+2,NULL);
 
157
SELECT GREATEST(1,NULL) FROM DUAL;
 
158
SELECT LEAST('xxx','aaa',NULL,'yyy') FROM DUAL;
 
159
SELECT LEAST(1.1,1.2,NULL,1.0) FROM DUAL;
 
160
SELECT GREATEST(1.5E+2,1.3E+2,NULL) FROM DUAL;
118
161
 
119
162
# End of 4.1 tests