v2: fix optimize_skip_unused_shards_rewrite_in for sharding_key wrapped into function
v3: fix column name for optimize_skip_unused_shards_rewrite_in
v4: fix optimize_skip_unused_shards_rewrite_in with Null
v5:
- squash with Remove query argument for IStreamFactory::createForShard()
- use proper column after function execution (using sharding_key_column_name)
- update the test reference since (X) now is tuple(X)
So now you will get additional message:
2020.11.21 13:37:15.429767 [ 380840 ] {47e1540d-f4cd-4f2f-9383-f1216e8328dc} <Trace> StorageDistributed (dist_01247): (127.0.0.2:9000) Cancelling query
- optimize_skip_unused_shards_nesting (allows control nesting level for
shards skipping optimization)
- force_skip_optimize_shards_nesting (allows control nesting level for
checking was shards skipped or not)
- deprecates force_skip_optimize_shards_no_nested
P.S. Looks like settings can be converted between SettingUInt64 and
SettingBool without breaking binary protocol.
FWIW maybe it is a good idea to change the semantics of the settings as
follow (but I guess that changing semantic is not a good idea, better to
add new settings and deprecate old ones):
- optimize_skip_unused_shards -- accept nesting level on which the
optimization will work
- force_skip_optimize_shards_nesting -- accept nesting level on which
the optimization will work