0001-feeder-define-all-joins-38066.patch
tests/olap.model | ||
---|---|---|
82 | 82 |
"detail" : "date", |
83 | 83 |
"master" : "receipt_time", |
84 | 84 |
"name" : "receipt_time", |
85 |
"table" : "dates" |
|
85 |
"table" : "dates", |
|
86 |
"kind": "right" |
|
86 | 87 |
}, |
87 | 88 |
{ |
88 | 89 |
"detail" : "id", |
89 | 90 |
"master" : "channel_id", |
90 | 91 |
"name" : "channel", |
91 |
"table" : "channel" |
|
92 |
"table" : "channel", |
|
93 |
"kind": "left" |
|
92 | 94 |
}, |
93 | 95 |
{ |
94 | 96 |
"detail" : "id", |
95 | 97 |
"master" : "formdef_id", |
96 | 98 |
"name" : "formdef", |
97 |
"table" : "formdef" |
|
99 |
"table" : "formdef", |
|
100 |
"kind": "left" |
|
98 | 101 |
}, |
99 | 102 |
{ |
100 | 103 |
"detail" : "id", |
... | ... | |
107 | 110 |
"detail" : "id", |
108 | 111 |
"master" : "hour_id", |
109 | 112 |
"name" : "hour", |
110 |
"table" : "hour" |
|
113 |
"table" : "hour", |
|
114 |
"kind": "right" |
|
111 | 115 |
}, |
112 | 116 |
{ |
113 | 117 |
"detail" : "id", |
114 | 118 |
"master" : "generic_status_id", |
115 | 119 |
"name" : "generic_status", |
116 |
"table" : "status" |
|
120 |
"table" : "status", |
|
121 |
"kind": "left" |
|
117 | 122 |
}, |
118 | 123 |
{ |
119 | 124 |
"detail" : "id", |
120 |
"kind" : "inner", |
|
121 | 125 |
"master" : "first_agent_id", |
122 | 126 |
"name" : "agent", |
123 |
"table" : "agent" |
|
127 |
"table" : "agent", |
|
128 |
"kind" : "left" |
|
124 | 129 |
} |
125 | 130 |
], |
126 | 131 |
"json_field" : "json_data", |
... | ... | |
290 | 295 |
"detail" : "date", |
291 | 296 |
"master" : "receipt_time", |
292 | 297 |
"name" : "receipt_time", |
293 |
"table" : "dates" |
|
298 |
"table" : "dates", |
|
299 |
"kind" : "right" |
|
294 | 300 |
}, |
295 | 301 |
{ |
296 | 302 |
"detail" : "id", |
297 | 303 |
"master" : "channel_id", |
298 | 304 |
"name" : "channel", |
299 |
"table" : "channel" |
|
305 |
"table" : "channel", |
|
306 |
"kind" : "left" |
|
300 | 307 |
}, |
301 | 308 |
{ |
302 | 309 |
"detail" : "id", |
303 | 310 |
"master" : "formdef_id", |
304 | 311 |
"name" : "formdef", |
305 |
"table" : "formdef" |
|
312 |
"table" : "formdef", |
|
313 |
"kind" : "left" |
|
306 | 314 |
}, |
307 | 315 |
{ |
308 | 316 |
"detail" : "id", |
309 | 317 |
"kind" : "left", |
310 | 318 |
"master" : "formdef.category_id", |
311 | 319 |
"name" : "category", |
312 |
"table" : "category" |
|
320 |
"table" : "category", |
|
321 |
"kind" : "left" |
|
313 | 322 |
}, |
314 | 323 |
{ |
315 | 324 |
"detail" : "id", |
316 | 325 |
"master" : "hour_id", |
317 | 326 |
"name" : "hour", |
318 |
"table" : "hour" |
|
327 |
"table" : "hour", |
|
328 |
"kind" : "right" |
|
319 | 329 |
}, |
320 | 330 |
{ |
321 | 331 |
"detail" : "id", |
322 | 332 |
"master" : "generic_status_id", |
323 | 333 |
"name" : "generic_status", |
324 |
"table" : "status" |
|
334 |
"table" : "status", |
|
335 |
"kind" : "left" |
|
325 | 336 |
}, |
326 | 337 |
{ |
327 | 338 |
"detail" : "id", |
328 | 339 |
"kind" : "inner", |
329 | 340 |
"master" : "first_agent_id", |
330 | 341 |
"name" : "agent", |
331 |
"table" : "agent" |
|
342 |
"table" : "agent", |
|
343 |
"kind" : "left" |
|
332 | 344 |
}, |
333 | 345 |
{ |
334 | 346 |
"detail" : "id", |
335 | 347 |
"master" : "status_id", |
336 | 348 |
"name" : "status", |
337 |
"table" : "\"status_demande\"" |
|
349 |
"table" : "\"status_demande\"", |
|
350 |
"kind" : "left" |
|
338 | 351 |
}, |
339 | 352 |
{ |
340 | 353 |
"detail" : "id", |
341 | 354 |
"master" : "\"function__receiver\"", |
342 | 355 |
"name" : "function__receiver", |
343 |
"table" : "role" |
|
356 |
"table" : "role", |
|
357 |
"kind" : "left" |
|
344 | 358 |
}, |
345 | 359 |
{ |
346 | 360 |
"detail" : "id", |
347 | 361 |
"master" : "\"field_item\"", |
348 | 362 |
"name" : "item", |
349 |
"table" : "\"formdata_demande_field_item\"" |
|
363 |
"table" : "\"formdata_demande_field_item\"", |
|
364 |
"kind" : "left" |
|
350 | 365 |
}, |
351 | 366 |
{ |
352 | 367 |
"detail" : "id", |
353 | 368 |
"master" : "\"field_itemOpen\"", |
354 | 369 |
"name" : "itemOpen", |
355 |
"table" : "\"formdata_demande_field_itemOpen\"" |
|
370 |
"table" : "\"formdata_demande_field_itemOpen\"", |
|
371 |
"kind" : "left" |
|
356 | 372 |
} |
357 | 373 |
], |
358 | 374 |
"key" : "id", |
wcs_olap/feeder.py | ||
---|---|---|
121 | 121 |
'table': 'dates', |
122 | 122 |
'detail': 'date', |
123 | 123 |
'master': 'receipt_time', |
124 |
'kind': 'right', |
|
124 | 125 |
}, |
125 | 126 |
{ |
126 | 127 |
'name': 'channel', |
127 | 128 |
'table': 'channel', |
128 | 129 |
'master': 'channel_id', |
129 | 130 |
'detail': 'id', |
131 |
'kind': 'left', |
|
130 | 132 |
}, |
131 | 133 |
{ |
132 | 134 |
'name': 'formdef', |
133 | 135 |
'table': 'formdef', |
134 | 136 |
'master': 'formdef_id', |
135 | 137 |
'detail': 'id', |
138 |
'kind': 'left', |
|
136 | 139 |
}, |
137 | 140 |
{ |
138 | 141 |
'name': 'category', |
... | ... | |
146 | 149 |
'table': 'hour', |
147 | 150 |
'master': 'hour_id', |
148 | 151 |
'detail': 'id', |
152 |
'kind': 'right', |
|
149 | 153 |
}, |
150 | 154 |
{ |
151 | 155 |
'name': 'generic_status', |
152 | 156 |
'table': 'status', |
153 | 157 |
'master': 'generic_status_id', |
154 | 158 |
'detail': 'id', |
159 |
'kind': 'left', |
|
155 | 160 |
}, |
156 | 161 |
{ |
157 | 162 |
'name': 'agent', |
158 | 163 |
'table': 'agent', |
159 | 164 |
'master': 'first_agent_id', |
160 | 165 |
'detail': 'id', |
161 |
'kind': 'inner',
|
|
166 |
'kind': 'left',
|
|
162 | 167 |
}, |
163 | 168 |
], |
164 | 169 |
'dimensions': [ |
... | ... | |
930 | 935 |
'table': quote(self.status_table_name), |
931 | 936 |
'master': 'status_id', |
932 | 937 |
'detail': 'id', |
938 |
'kind': 'left', |
|
933 | 939 |
}) |
934 | 940 |
cube['dimensions'].append({ |
935 | 941 |
'name': 'status', |
... | ... | |
948 | 954 |
'table': 'role', |
949 | 955 |
'master': quote(at), |
950 | 956 |
'detail': 'id', |
957 |
'kind': 'left', |
|
951 | 958 |
}) |
952 | 959 |
cube['dimensions'].append({ |
953 | 960 |
'name': at, |
... | ... | |
998 | 1005 |
'table': quote(table_name), |
999 | 1006 |
'master': quote('field_%s' % field.varname), |
1000 | 1007 |
'detail': 'id', |
1008 |
'kind': 'left', |
|
1001 | 1009 |
} |
1002 |
if not field.required: |
|
1003 |
join['kind'] = 'full' |
|
1004 | 1010 |
dimension = { |
1005 | 1011 |
'name': field.varname, |
1006 | 1012 |
'label': field.label.lower(), |
1007 |
- |