| 102 | } |
| 103 | |
| 104 | void TableFunctionNode::updateTreeHashImpl(HashState & state, CompareOptions) const |
| 105 | { |
| 106 | state.update(table_function_name.size()); |
| 107 | state.update(table_function_name); |
| 108 | |
| 109 | if (storage) |
| 110 | { |
| 111 | auto full_name = storage_id.getFullNameNotQuoted(); |
| 112 | state.update(full_name.size()); |
| 113 | state.update(full_name); |
| 114 | } |
| 115 | |
| 116 | if (table_expression_modifiers) |
| 117 | table_expression_modifiers->updateTreeHash(state); |
| 118 | |
| 119 | state.update(settings_changes.size()); |
| 120 | for (const auto & change : settings_changes) |
| 121 | { |
| 122 | state.update(change.name.size()); |
| 123 | state.update(change.name); |
| 124 | |
| 125 | const auto & value_dump = change.value.dump(); |
| 126 | state.update(value_dump.size()); |
| 127 | state.update(value_dump); |
| 128 | } |
| 129 | } |
| 130 | |
| 131 | QueryTreeNodePtr TableFunctionNode::cloneImpl() const |
| 132 | { |
nothing calls this directly
no test coverage detected