**Describe what's wrong**
clickhouse creates lots of system log tables if config storage settings for system log table

**Does it reproduce on recent release?**
22.1

**How to reproduce**

* Which ClickHouse server version to use
22.1
* Non-default settings, if any
config query_log table as below:
```
query_log:
  partition_by:
    "@remove": 1
  engine: |
    ENGINE = MergeTree PARTITION BY (event_date)
    ORDER BY (event_time)
    TTL event_date + INTERVAL 14 DAY DELETE
    SETTINGS ttl_only_drop_parts=1
```

**Expected behavior**
clickhouse should not create new system log tables if the table is not changed.

**Error message and/or stacktrace**
2022.02.26 19:53:28.039097 [ 1197451 ] {} <Debug> SystemLog (system.query_log): Existing table system.query_log for system log has obsolete or different structure. Renaming it to query_log_13.
Old: CREATE TABLE system.query_log (....) ENGINE = MergeTree PARTITION BY event_date ORDER BY event_time TTL event_date + toIntervalDay(14) 
New: CREATE TABLE system.query_log (....) ENGINE = MergeTree PARTITION BY event_date ORDER BY event_time TTL event_date + toIntervalDay(14) SETTINGS ttl_only_drop_parts = 1

**Additional context**
in this commit https://github.com/ClickHouse/ClickHouse/commit/5fafeea76330db8037f2beddd8a4386cad54505a, v3: SETTINGS of MergeTree in old CREATE TABLE query is reset before comparing with new create query.


#include <Interpreters/AsynchronousMetricLog.h>
#include <Interpreters/CrashLog.h>
#include <Interpreters/MetricLog.h>
#include <Interpreters/OpenTelemetrySpanLog.h>
#include <Interpreters/PartLog.h>
#include <Interpreters/QueryLog.h>
#include <Interpreters/QueryThreadLog.h>
#include <Interpreters/QueryViewsLog.h>
#include <Interpreters/SessionLog.h>
#include <Interpreters/TextLog.h>
#include <Interpreters/TraceLog.h>
#include <Interpreters/ZooKeeperLog.h>
#include <Interpreters/InterpreterCreateQuery.h>
#include <Interpreters/InterpreterRenameQuery.h>