--------------------------------------------------------------------------- @function: COptTasks::Optimize @doc: optimizes a query to physical DXL ---------------------------------------------------------------------------
| 1152 | // |
| 1153 | //--------------------------------------------------------------------------- |
| 1154 | char * |
| 1155 | COptTasks::Optimize(Query *query) |
| 1156 | { |
| 1157 | Assert(query); |
| 1158 | |
| 1159 | SOptContext gpopt_context; |
| 1160 | gpopt_context.m_query = query; |
| 1161 | gpopt_context.m_should_serialize_plan_dxl = true; |
| 1162 | Execute(&OptimizeTask, &gpopt_context); |
| 1163 | |
| 1164 | // clean up context |
| 1165 | gpopt_context.Free(gpopt_context.epinQuery, gpopt_context.epinPlanDXL); |
| 1166 | |
| 1167 | return gpopt_context.m_plan_dxl; |
| 1168 | } |
| 1169 | |
| 1170 | |
| 1171 | //--------------------------------------------------------------------------- |