0002-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": "full" |
|
92 | 94 |
}, |
93 | 95 |
{ |
94 | 96 |
"detail" : "id", |
95 | 97 |
"master" : "formdef_id", |
96 | 98 |
"name" : "formdef", |
97 | 99 |
"table" : "formdef" |
100 |
"kind": "full", |
|
98 | 101 |
}, |
99 | 102 |
{ |
100 | 103 |
"detail" : "id", |
... | ... | |
346 | 349 |
"detail" : "id", |
347 | 350 |
"master" : "\"field_item\"", |
348 | 351 |
"name" : "item", |
349 |
"table" : "\"formdata_demande_field_item\"" |
|
352 |
"table" : "\"formdata_demande_field_item\"", |
|
353 |
"kind" : "full" |
|
350 | 354 |
}, |
351 | 355 |
{ |
352 | 356 |
"detail" : "id", |
353 | 357 |
"master" : "\"field_itemOpen\"", |
354 | 358 |
"name" : "itemOpen", |
355 |
"table" : "\"formdata_demande_field_itemOpen\"" |
|
359 |
"table" : "\"formdata_demande_field_itemOpen\"", |
|
360 |
"kind" : "full" |
|
356 | 361 |
} |
357 | 362 |
], |
358 | 363 |
"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 |
- |