| 191 | } |
| 192 | |
| 193 | ContextMutablePtr createQueryContext(ContextPtr context, bool init_query) |
| 194 | { |
| 195 | Settings new_query_settings = context->getSettings(); |
| 196 | new_query_settings.insert_allow_materialized_columns = true; |
| 197 | |
| 198 | /// To avoid call AST::format |
| 199 | /// TODO: We need to implement the format function for MySQLAST |
| 200 | new_query_settings.enable_global_with_statement = false; |
| 201 | new_query_settings.force_manipulate_materialized_mysql_table = true; |
| 202 | |
| 203 | auto query_context = Context::createCopy(context); |
| 204 | query_context->setSettings(new_query_settings); |
| 205 | if (init_query) |
| 206 | CurrentThread::QueryScope query_scope(query_context); |
| 207 | |
| 208 | query_context->getClientInfo().query_kind = ClientInfo::QueryKind::SECONDARY_QUERY; |
| 209 | query_context->setCurrentQueryId(""); // generate random query_id |
| 210 | return query_context; |
| 211 | } |
| 212 | |
| 213 | MaterializedMySQLLogElement createMaterializeMySQLLog(MaterializedMySQLLogElement::EventSource event_source, MaterializedMySQLLogElement::Type type, String database, NameSet tables) |
| 214 | { |