Merge lp:~linuxjedi/drizzle/drizzle-bug-634374 into lp:~drizzle-trunk/drizzle/development

Proposed by Andrew Hutchings
Status: Merged
Approved by: Brian Aker
Approved revision: 1755
Merged at revision: 1756
Proposed branch: lp:~linuxjedi/drizzle/drizzle-bug-634374
Merge into: lp:~drizzle-trunk/drizzle/development
Diff against target: 270 lines (+39/-36)
7 files modified
plugin/schema_dictionary/tests/r/show.result (+20/-20)
plugin/show_dictionary/show_columns.cc (+8/-5)
plugin/show_dictionary/show_columns.h (+1/-1)
tests/r/type_blob.result (+3/-3)
tests/r/type_datetime.result (+2/-2)
tests/r/type_ranges.result (+3/-3)
tests/r/union.result (+2/-2)
To merge this branch: bzr merge lp:~linuxjedi/drizzle/drizzle-bug-634374
Reviewer Review Type Date Requested Status
Drizzle Merge Team Pending
Review via email: mp+35069@code.launchpad.net

Description of the change

Fix SHOW FIELDS FROM so that it can identify VARBINARY and TEXT types

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugin/schema_dictionary/tests/r/show.result'
2--- plugin/schema_dictionary/tests/r/show.result 2010-09-02 18:35:05 +0000
3+++ plugin/schema_dictionary/tests/r/show.result 2010-09-10 10:12:43 +0000
4@@ -677,27 +677,27 @@
5 show columns from container;
6 Field Type Null Default Default_is_NULL On_Update
7 container_id INTEGER NO NO
8-context BLOB YES YES
9+context TEXT YES YES
10 parent_container INTEGER YES YES
11 show columns from document;
12 Field Type Null Default Default_is_NULL On_Update
13 document_id INTEGER NO NO
14-doctext BLOB YES YES
15+doctext TEXT YES YES
16 show columns from genstats_attributes;
17 Field Type Null Default Default_is_NULL On_Update
18 genstats_attributes_id INTEGER NO 0 NO
19-predicates BLOB NO NO
20-attributes BLOB NO NO
21+predicates TEXT NO NO
22+attributes TEXT NO NO
23 show columns from htmlcode;
24 Field Type Null Default Default_is_NULL On_Update
25 htmlcode_id INTEGER NO NO
26-code BLOB YES YES
27+code TEXT YES YES
28 show columns from htmlpage;
29 Field Type Null Default Default_is_NULL On_Update
30 htmlpage_id INTEGER NO NO
31 pagetype_nodetype INTEGER YES YES
32 displaytype VARCHAR YES YES
33-page BLOB YES YES
34+page TEXT YES YES
35 parent_container INTEGER YES YES
36 ownedby_theme INTEGER NO 0 NO
37 permissionneeded VARCHAR NO r NO
38@@ -708,17 +708,17 @@
39 src VARCHAR YES YES
40 alt VARCHAR YES YES
41 thumbsrc VARCHAR YES YES
42-description BLOB YES YES
43+description TEXT YES YES
44 show columns from javascript;
45 Field Type Null Default Default_is_NULL On_Update
46 javascript_id INTEGER NO 0 NO
47-code BLOB NO NO
48-comment BLOB NO NO
49+code TEXT NO NO
50+comment TEXT NO NO
51 dynamic INTEGER NO 0 NO
52 show columns from knowledge_item;
53 Field Type Null Default Default_is_NULL On_Update
54 knowledge_item_id INTEGER NO 0 NO
55-item BLOB NO NO
56+item TEXT NO NO
57 question INTEGER NO 0 NO
58 show columns from links;
59 Field Type Null Default Default_is_NULL On_Update
60@@ -763,8 +763,8 @@
61 show columns from nodelet;
62 Field Type Null Default Default_is_NULL On_Update
63 nodelet_id INTEGER NO NO
64-nltext BLOB YES YES
65-nlcode BLOB YES YES
66+nltext TEXT YES YES
67+nlcode TEXT YES YES
68 nlgoto INTEGER YES YES
69 parent_container INTEGER YES YES
70 lastupdate INTEGER NO 0 NO
71@@ -774,7 +774,7 @@
72 Field Type Null Default Default_is_NULL On_Update
73 nodemethod_id INTEGER NO 0 NO
74 supports_nodetype INTEGER NO 0 NO
75-code BLOB NO NO
76+code TEXT NO NO
77 show columns from nodetype;
78 Field Type Null Default Default_is_NULL On_Update
79 nodetype_id INTEGER NO NO
80@@ -797,12 +797,12 @@
81 show columns from project;
82 Field Type Null Default Default_is_NULL On_Update
83 project_id INTEGER NO 0 NO
84-description BLOB NO NO
85+description TEXT NO NO
86 last_update TIMESTAMP NO CURRENT_TIMESTAMP NO CURRENT_TIMESTAMP
87 short_description VARCHAR NO NO
88 url_cvs VARCHAR NO NO
89 url_faq VARCHAR NO NO
90-long_description BLOB NO NO
91+long_description TEXT NO NO
92 show columns from project_document;
93 Field Type Null Default Default_is_NULL On_Update
94 project_document_id INTEGER NO 0 NO
95@@ -814,16 +814,16 @@
96 project_id INTEGER NO 0 NO
97 rank INTEGER NO 0 NO
98 orderby INTEGER NO 0 NO
99-description BLOB NO NO
100+description TEXT NO NO
101 show columns from redirects;
102 Field Type Null Default Default_is_NULL On_Update
103 redirects_id INTEGER NO 0 NO
104-url BLOB NO NO
105+url TEXT NO NO
106 show columns from releases;
107 Field Type Null Default Default_is_NULL On_Update
108 releases_id INTEGER NO 0 NO
109 branch_id INTEGER NO 0 NO
110-description BLOB YES YES
111+description TEXT YES YES
112 url_targz VARCHAR NO NO
113 url_osx VARCHAR NO NO
114 url_rpm VARCHAR NO NO
115@@ -836,12 +836,12 @@
116 node_id INTEGER NO 0 NO
117 inside_workspace INTEGER NO 0 NO
118 revision_id INTEGER NO 0 NO
119-xml BLOB NO NO
120+xml TEXT NO NO
121 tstamp TIMESTAMP NO CURRENT_TIMESTAMP NO CURRENT_TIMESTAMP
122 show columns from setting;
123 Field Type Null Default Default_is_NULL On_Update
124 setting_id INTEGER NO NO
125-vars BLOB NO NO
126+vars TEXT NO NO
127 show columns from symlink;
128 Field Type Null Default Default_is_NULL On_Update
129 symlink_id INTEGER NO 0 NO
130
131=== modified file 'plugin/show_dictionary/show_columns.cc'
132--- plugin/show_dictionary/show_columns.cc 2010-07-30 19:21:23 +0000
133+++ plugin/show_dictionary/show_columns.cc 2010-09-10 10:12:43 +0000
134@@ -21,14 +21,17 @@
135 #include "config.h"
136 #include "plugin/show_dictionary/dictionary.h"
137 #include "drizzled/identifier.h"
138-
139+#include <string>
140
141 using namespace std;
142 using namespace drizzled;
143
144 static const string VARCHAR("VARCHAR");
145+/* VARBINARY already defined elsewhere */
146+static const string VARBIN("VARBINARY");
147 static const string DOUBLE("DOUBLE");
148 static const string BLOB("BLOB");
149+static const string TEXT("TEXT");
150 static const string ENUM("ENUM");
151 static const string INTEGER("INTEGER");
152 static const string BIGINT("BIGINT");
153@@ -112,19 +115,19 @@
154 return true;
155 }
156
157-void ShowColumns::Generator::pushType(message::Table::Field::FieldType type)
158+void ShowColumns::Generator::pushType(message::Table::Field::FieldType type, const string collation)
159 {
160 switch (type)
161 {
162 default:
163 case message::Table::Field::VARCHAR:
164- push(VARCHAR);
165+ push(collation.compare("binary") ? VARCHAR : VARBIN);
166 break;
167 case message::Table::Field::DOUBLE:
168 push(DOUBLE);
169 break;
170 case message::Table::Field::BLOB:
171- push(BLOB);
172+ push(collation.compare("binary") ? TEXT : BLOB);
173 break;
174 case message::Table::Field::ENUM:
175 push(ENUM);
176@@ -157,7 +160,7 @@
177 push(column.name());
178
179 /* Type */
180- pushType(column.type());
181+ pushType(column.type(), column.string_options().collation());
182
183 /* Null */
184 push(column.constraints().is_nullable());
185
186=== modified file 'plugin/show_dictionary/show_columns.h'
187--- plugin/show_dictionary/show_columns.h 2010-03-31 23:39:12 +0000
188+++ plugin/show_dictionary/show_columns.h 2010-09-10 10:12:43 +0000
189@@ -55,7 +55,7 @@
190 return table_name;
191 }
192
193- void pushType(drizzled::message::Table::Field::FieldType type);
194+ void pushType(drizzled::message::Table::Field::FieldType type, const std::string collation);
195
196 void fill();
197
198
199=== modified file 'tests/r/type_blob.result'
200--- tests/r/type_blob.result 2010-09-02 18:35:05 +0000
201+++ tests/r/type_blob.result 2010-09-10 10:12:43 +0000
202@@ -3,10 +3,10 @@
203 show columns from t1;
204 Field Type Null Default Default_is_NULL On_Update
205 a BLOB YES YES
206-b BLOB YES YES
207+b TEXT YES YES
208 c BLOB YES YES
209-d BLOB YES YES
210-e BLOB YES YES
211+d TEXT YES YES
212+e TEXT YES YES
213 CREATE TABLE t2 (a varchar(255), b blob, c blob);
214 CREATE TABLE t4 (c varchar(16383) not null);
215 show columns from t2;
216
217=== modified file 'tests/r/type_datetime.result'
218--- tests/r/type_datetime.result 2010-09-02 18:35:05 +0000
219+++ tests/r/type_datetime.result 2010-09-10 10:12:43 +0000
220@@ -354,11 +354,11 @@
221 create table t5 as select coalesce(f1,f3) as f4 from t1;
222 desc t5;
223 Field Type Null Default Default_is_NULL On_Update
224-f4 VARCHAR YES YES
225+f4 VARBINARY YES YES
226 create table t6 as select coalesce(f2,f3) as f4 from t1;
227 desc t6;
228 Field Type Null Default Default_is_NULL On_Update
229-f4 VARCHAR YES YES
230+f4 VARBINARY YES YES
231 create table t7 as select coalesce(makedate(1997,1),f2) as f4 from t1;
232 desc t7;
233 Field Type Null Default Default_is_NULL On_Update
234
235=== modified file 'tests/r/type_ranges.result'
236--- tests/r/type_ranges.result 2010-08-10 22:19:02 +0000
237+++ tests/r/type_ranges.result 2010-09-10 10:12:43 +0000
238@@ -190,11 +190,11 @@
239 t1 INTEGER NO NO
240 t2 VARCHAR NO NO
241 t3 VARCHAR YES YES
242-t4 VARCHAR YES YES
243-t5 BLOB YES YES
244+t4 VARBINARY YES YES
245+t5 TEXT YES YES
246 t6 BLOB YES YES
247 t7 VARCHAR NO NO
248-t8 VARCHAR YES YES
249+t8 VARBINARY YES YES
250 select t1,t2,length(t3),length(t4),length(t5),length(t6),t7,t8 from t2;
251 t1 t2 length(t3) length(t4) length(t5) length(t6) t7 t8
252 1 a 256 256 4096 4096
253
254=== modified file 'tests/r/union.result'
255--- tests/r/union.result 2010-09-02 18:35:05 +0000
256+++ tests/r/union.result 2010-09-10 10:12:43 +0000
257@@ -1441,11 +1441,11 @@
258 CREATE TABLE t4 SELECT NULL;
259 DESC t4;
260 Field Type Null Default Default_is_NULL On_Update
261-NULL VARCHAR YES YES
262+NULL VARBINARY YES YES
263 CREATE TABLE t5 SELECT NULL UNION SELECT NULL;
264 DESC t5;
265 Field Type Null Default Default_is_NULL On_Update
266-NULL VARCHAR YES YES
267+NULL VARBINARY YES YES
268 CREATE TABLE t6
269 SELECT * FROM (SELECT * FROM (SELECT NULL)a) b UNION SELECT a FROM t1;
270 DESC t6;