Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

58363 Automatically disable ANSI escape sequences in Pretty formats if the output is not a terminal #58614

Merged

Conversation

Blargian
Copy link
Contributor

@Blargian Blargian commented Jan 9, 2024

Changelog category (leave one):

  • New Feature

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):

Automatically disable ANSI escape sequences in Pretty formats if the output is not a terminal. Add new auto mode to setting output_format_pretty_color.

Hi,

I'm opening a draft pull request for #58363 (hope that's okay!). I implemented the following changes so far together with a stateless test to check the functionality.

Changes made:

  • modified output_format_pretty_color to use options Off, On, Auto (Core/Settings.h and FormatFactory.cpp)
  • Added an enum class PrettyColor with these options (FormatSettings.h)
  • Modified PrettyBlockOutputFormat.h to switch on the settings above and turn pretty.color on or off based on conditions provided in the issue.
  • Added 00405_output_format_pretty_color.sql and generated the reference file.

Help points:

  • The behaviour appears correct to me for On and Off but I don't believe I have the correct usage of isatty function for the Auto setting. I'm unsure on this point.
  • I went with On,Off and Auto but you did mention that you want 0,1 and auto as the setting options. Could I achieve this somehow with the enum class or is there a better alternative?
  • Any comments on formatting / performance
  • Manually testing from http://localhost:8123/play the behaviour is not correct. It is different to the reference file, so perhaps it is user trouble.

…Color which can be 0,1 or auto. modified output_format_pretty_color in FormatFactory.cpp to make use of this, added the default to Settings.h. Implemented the logic for enabling/disabling based on output_format_pretty_color in PrettyBlockOutputFormat.h
@Avogar Avogar self-assigned this Jan 9, 2024
@robot-clickhouse-ci-1
Copy link
Contributor

robot-clickhouse-ci-1 commented Jan 9, 2024

This is an automated comment for commit a457fa3 with description of existing statuses. It's updated for the latest CI running

❌ Click here to open a full report in a separate page

Successful checks
Check nameDescriptionStatus
AST fuzzerRuns randomly generated queries to catch program errors. The build type is optionally given in parenthesis. If it fails, ask a maintainer for help✅ success
CI runningA meta-check that indicates the running CI. Normally, it's in success or pending state. The failed status indicates some problems with the PR✅ success
ClickBenchRuns [ClickBench](https://github.com/ClickHouse/ClickBench/) with instant-attach table✅ success
ClickHouse build checkBuilds ClickHouse in various configurations for use in further steps. You have to fix the builds that fail. Build logs often has enough information to fix the error, but you might have to reproduce the failure locally. The cmake options can be found in the build log, grepping for cmake. Use these options and follow the general build process✅ success
Compatibility checkChecks that clickhouse binary runs on distributions with old libc versions. If it fails, ask a maintainer for help✅ success
Docker image for serversThe check to build and optionally push the mentioned image to docker hub✅ success
Docs CheckBuilds and tests the documentation✅ success
Fast testNormally this is the first check that is ran for a PR. It builds ClickHouse and runs most of stateless functional tests, omitting some. If it fails, further checks are not started until it is fixed. Look at the report to see which tests fail, then reproduce the failure locally as described here✅ success
Install packagesChecks that the built packages are installable in a clear environment✅ success
Mergeable CheckChecks if all other necessary checks are successful✅ success
SQLTestThere's no description for the check yet, please add it to tests/ci/ci_config.py:CHECK_DESCRIPTIONS✅ success
SQLancerFuzzing tests that detect logical bugs with SQLancer tool✅ success
SqllogicRun clickhouse on the sqllogic test set against sqlite and checks that all statements are passed✅ success
Stateful testsRuns stateful functional tests for ClickHouse binaries built in various configurations -- release, debug, with sanitizers, etc✅ success
Stateless testsRuns stateless functional tests for ClickHouse binaries built in various configurations -- release, debug, with sanitizers, etc✅ success
Stress testRuns stateless functional tests concurrently from several clients to detect concurrency-related errors✅ success
Style CheckRuns a set of checks to keep the code style clean. If some of tests failed, see the related log from the report✅ success
Unit testsRuns the unit tests for different release types✅ success
Upgrade checkRuns stress tests on server version from last release and then tries to upgrade it to the version from the PR. It checks if the new server can successfully startup without any errors, crashes or sanitizer asserts✅ success
Check nameDescriptionStatus
Flaky testsChecks if new added or modified tests are flaky by running them repeatedly, in parallel, with more randomization. Functional tests are run 100 times with address sanitizer, and additional randomization of thread scheduling. Integrational tests are run up to 10 times. If at least once a new test has failed, or was too long, this check will be red. We don't allow flaky tests, read the doc❌ failure
Integration testsThe integration tests report. In parenthesis the package type is given, and in square brackets are the optional part/total tests❌ failure
Performance ComparisonMeasure changes in query performance. The performance test report is described in detail here. In square brackets are the optional part/total tests❌ failure

@Avogar
Copy link
Member

Avogar commented Jan 10, 2024

I went with On,Off and Auto but you did mention that you want 0,1 and auto as the setting options. Could I achieve this somehow with the enum class or is there a better alternative?

You can use special struct-wrapper UInt64Auto for it. See as an example setting insert_quorum:

M(UInt64Auto, insert_quorum, 0, "For INSERT queries in the replicated table, wait writing for the specified number of replicas and linearize the addition of the data. 0 - disabled, 'auto' - use majority", 0) \

…ut_format_pretty_color to use UInt64Auto. Added isWritingToTerminal function to IO/WriteHelpers.h and updated test
@Blargian Blargian marked this pull request as ready for review January 12, 2024 10:37
@Blargian
Copy link
Contributor Author

Blargian commented Jan 12, 2024

Hi @Avogar, I've implemented the changes you mentioned in the latest commit.

  • Using UInt64Auto now for output_format_pretty_color setting
  • Added isWritingToTerminal to IO/WriteHelpers.h (I marked it inline otherwise we get a "multiple defined symbols linker error")
  • Updated the test to reflect the changes and the reference file seems to display the behaviour we are looking for now

One thing which is still bothering me, is that if I manually test using http://localhost:8123/play and run

SET output_format_pretty_color = 0
SELECT number AS hello, toString(number) AS world, (hello, world) AS tuple, nullIf(hello % 3, 0) AS sometimes_nulls FROM system.numbers LIMIT 10 SETTINGS max_block_size = 5 FORMAT Pretty;

I get back an output with ANSI Escapes still but expect not to see any escapes. But maybe I'm just not changing the setting correctly because if I run afterwards query

SELECT * FROM system.settings WHERE name='output_format_pretty_color'

value is still auto

@robot-clickhouse robot-clickhouse added the pr-feature Pull request with new product feature label Jan 12, 2024
@@ -270,6 +270,8 @@ struct FormatSettings
UInt64 max_column_pad_width = 250;
UInt64 max_value_width = 10000;
bool color = true;

SettingFieldUInt64Auto output_format_pretty_color{"auto"};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to add a new setting for it. We can just change the type of color setting.

@Avogar
Copy link
Member

Avogar commented Jan 12, 2024

We need to change documentation for this setting in docs/en/operations/settings/settings-formats.md

@Avogar
Copy link
Member

Avogar commented Jan 12, 2024

One thing which is still bothering me, is that if I manually test using http://localhost:8123/play and run <...> I get back an output with ANSI Escapes still but expect not to see any escapes. But maybe I'm just not changing the setting correctly

AFAIK multi-statemens are not allowed in play UI, so we cannot do

set output_format_pretty_color =...;
select ... format Pretty;

And if you just first execute SET query and then SELECT, then setting change won't take any effect, because each HTTP query has it's own query context with it's own set of settings. To test it you can do:

select ... format Pretty settings output_format_pretty_color=...;

@Blargian
Copy link
Contributor Author

We need to change documentation for this setting in docs/en/operations/settings/settings-formats.md

Are only En language docs kept up to date fully? I notice that Ru documentation contains only some of output_format_pretty settings. Можно добавить output_format_pretty_color к docs/ru/operations/settings/settings.md? ... на сломанном русском... грамматическое качество не гарантирую!

@Avogar
Copy link
Member

Avogar commented Jan 12, 2024

Are only En language docs kept up to date fully?

Yes, ClickHouse team keeps English docs up to date, but other languages are supported as much as possible by external contributors from different countries.

Можно добавить output_format_pretty_color к docs/ru/operations/settings/settings.md? ... на сломанном русском... грамматическое качество не гарантирую!

Only if you want, it's not necessary. But if you do it, I will check the the grammar

…dified BlockOutputFormats to use color variable. Updated english and russian documentation. Updated test 00405 reference file.
@Blargian
Copy link
Contributor Author

@Avogar I pushed the latest changes. When generating the reference file again on these changes ANSI escapes are no longer shown for auto when they should be. If I step through the code with lldb when outcome_format_pretty_color=auto the logic seems correct to me, I don't spot something unusual. Eg) for normal Pretty format color below evaluates as 1 and if I step through in PrettyBlockOutputFormat.cpp I can see that color is used correctly. Can you spot anything unusual in the changes I made that might cause the output to be incorrect?

bool color = !no_escapes && format_settings.pretty.color.valueOr(isWritingToTerminal(buf));
return std::make_shared<OutputFormat>(buf, sample, format_settings, mono_block, color);

@Avogar
Copy link
Member

Avogar commented Jan 12, 2024

Ah, the problem is that Pretty format supports parallel formatting and it's enabled by default. During parallel formatting we output blocks of data in Pretty format in parallel in special memory chunks and then output these chunks to the initial write buffer in corresponding order. So when we create PrettyBlockOutputFormat we have WriteBuffer that writes to some memory, not to stdout, ParallelFormattingOutputFormat actually works with initial WriteBuffer to stdout.
Probably the best solution will be to add a new common field in FormatSettings with name is_writing_to_terminal and set it when we create output format in FormatFactory::getOutputFormat/getOutputFormatParallelIfPossible when we initially create format settings and have initial WriteBuffer.
Here:

auto format_settings = _format_settings ? *_format_settings : getFormatSettings(context);
format_settings.max_threads = context->getSettingsRef().max_threads;

And here:
auto format_settings = _format_settings ? *_format_settings : getFormatSettings(context);

This new field is_writing_to_terminal will be just a common property that any format can use.

@Avogar Avogar added the can be tested Allows running workflows for external contributors label Jan 12, 2024
@Blargian
Copy link
Contributor Author

Blargian commented Jan 14, 2024

@Avogar if I understood correctly, we will set the value of this common field is_writing_to_terminal using the helper function isWritingToTerminal(buf) previously added to IO/WriteHelpers? The idea being that we need to check if we are writing to a terminal before the creator function in PrettyBlockOutputFormat.h gets called? I.e before we get the format.

and yet another question. I'm trying to understand why I get a different result when running

clickhouse --client --multiquery < 00405_output_format_pretty_color.sql

image

than from when I store the output in the reference file with

clickhouse --client --multiquery < 00405_output_format_pretty_color.sql > 00405_output_format_pretty_color.reference

image

I would expect at very least to see the ANSI escapes with clickhouse --client --multiquery < 00405_output_format_pretty_color.sql as the result is printed in the terminal in which the command is run.

@Avogar
Copy link
Member

Avogar commented Jan 15, 2024

if I understood correctly, we will set the value of this common field is_writing_to_terminal using the helper function isWritingToTerminal(buf) previously added to IO/WriteHelpers?

Yes.

The idea being that we need to check if we are writing to a terminal before the creator function in PrettyBlockOutputFormat.h gets called? I.e before we get the format

Yes, because in creator it's not guaranteed that the write buffer will write to the actual destination, but in FormatFactory::getOutputFormat/getOutputFormatParallelIfPossible it's guaranteed.

and yet another question. I'm trying to understand why I get a different result when running than from when I store the output in the reference file with

I see that the result is expected in both cases. In first case with output to the terminal we have bold column names constructed by escapes as expected. In the second case with output to file I see escape sequances in the result, the only difference that in the second case escape sequances are not displayed properly (probably you used less to see the file or smth similar).

…ings.h, modified PrettyBlockOutputFormat to use this, which is set in FormatFactory.cpp getOutputFormat and getOutputFormatParallelIfPossible
@Avogar
Copy link
Member

Avogar commented Jan 15, 2024

Many tests failed, but it's expected as we changed the value of the setting. We need to update these tests, either update reference files or set output_format_pretty_color=1 explicitly in these tests

@@ -1041,7 +1041,7 @@ class IColumn;
M(UInt64, output_format_pretty_max_rows, 10000, "Rows limit for Pretty formats.", 0) \
M(UInt64, output_format_pretty_max_column_pad_width, 250, "Maximum width to pad all values in a column in Pretty formats.", 0) \
M(UInt64, output_format_pretty_max_value_width, 10000, "Maximum width of value to display in Pretty formats. If greater - it will be cut.", 0) \
M(Bool, output_format_pretty_color, true, "Use ANSI escape sequences to paint colors in Pretty formats", 0) \
M(UInt64Auto, output_format_pretty_color, "auto", "Use ANSI escape sequences in Pretty formats. 0 - disabled, 1 - enabled, 'auto' - enabled if a terminal.", 0) \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's add this change to SettingsChangesHistory.h

@Blargian
Copy link
Contributor Author

Blargian commented Jan 15, 2024

@Avogar okay, clear. I was using vim to view the reference file which is why the escapes ^[[0m show up like that. Even so something is still wrong. In the reference file with output_format_pretty_color = auto and using FORMAT Pretty we see this:

┏━━━━━━━┳━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ hello ┃ world ┃ tuple   ┃ sometimes_nulls ┃
┡━━━━━━━╇━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│     0 │ 0     │ (0,'0') │            ᴺᵁᴸᴸ │
├───────┼───────┼─────────┼─────────────────┤
│     1 │ 1     │ (1,'1') │               1 │
├───────┼───────┼─────────┼─────────────────┤
│     2 │ 2     │ (2,'2') │               2 │
├───────┼───────┼─────────┼─────────────────┤
│     3 │ 3     │ (3,'3') │            ᴺᵁᴸᴸ │
├───────┼───────┼─────────┼─────────────────┤
│     4 │ 4     │ (4,'4') │               1 │
└───────┴───────┴─────────┴─────────────────┘

and for FORMAT PrettyNoEscapes we see this:

┏━━━━━━━┳━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ hello ┃ world ┃ tuple   ┃ sometimes_nulls ┃
┡━━━━━━━╇━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│     0 │ 0     │ (0,'0') │            ᴺᵁᴸᴸ │
├───────┼───────┼─────────┼─────────────────┤
│     1 │ 1     │ (1,'1') │               1 │
├───────┼───────┼─────────┼─────────────────┤
│     2 │ 2     │ (2,'2') │               2 │
├───────┼───────┼─────────┼─────────────────┤
│     3 │ 3     │ (3,'3') │            ᴺᵁᴸᴸ │
├───────┼───────┼─────────┼─────────────────┤
│     4 │ 4     │ (4,'4') │               1 │
└───────┴───────┴─────────┴─────────────────┘

However, we should actually see for FORMAT Pretty this, as we see when output_format_pretty_color = 1:

┏━━━━━━━┳━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ �[1mhello�[0m ┃ �[1mworld�[0m ┃ �[1mtuple  �[0m ┃ �[1msometimes_nulls�[0m ┃
┡━━━━━━━╇━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│     0 │ 0     │ (0,'0') │            ᴺᵁᴸᴸ │
├───────┼───────┼─────────┼─────────────────┤
│     1 │ 1     │ (1,'1') │               1 │
├───────┼───────┼─────────┼─────────────────┤
│     2 │ 2     │ (2,'2') │               2 │
├───────┼───────┼─────────┼─────────────────┤
│     3 │ 3     │ (3,'3') │            ᴺᵁᴸᴸ │
├───────┼───────┼─────────┼─────────────────┤
│     4 │ 4     │ (4,'4') │               1 │
└───────┴───────┴─────────┴─────────────────┘

CI is also failing on Fast tests for tests which are using Pretty format.

What is confusing me is that if I step through the code for Pretty and PrettyNoEscapes, color is getting set as we would expect - true for Pretty but false for PrettyNoEscapes.

As you mentioned we should see the bold column names for Pretty however I get the exact same formatting output to the terminal for both Pretty and PrettyNoEscapes.

Running SELECT number AS hello, toString(number) AS world, (hello, world) AS tuple, nullIf(hello % 3, 0) AS sometimes_nulls FROM system.numbers LIMIT 10 SETTINGS max_block_size = 5 FORMAT Pretty;

┏━━━━━━━┳━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ hello ┃ world ┃ tuple   ┃ sometimes_nulls ┃
┡━━━━━━━╇━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│     0 │ 0     │ (0,'0') │            ᴺᵁᴸᴸ │
├───────┼───────┼─────────┼─────────────────┤
│     1 │ 1     │ (1,'1') │               1 │
├───────┼───────┼─────────┼─────────────────┤
│     2 │ 2     │ (2,'2') │               2 │
├───────┼───────┼─────────┼─────────────────┤
│     3 │ 3     │ (3,'3') │            ᴺᵁᴸᴸ │
├───────┼───────┼─────────┼─────────────────┤
│     4 │ 4     │ (4,'4') │               1 │
└───────┴───────┴─────────┴─────────────────┘
┏━━━━━━━┳━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ hello ┃ world ┃ tuple   ┃ sometimes_nulls ┃
┡━━━━━━━╇━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│     5 │ 5     │ (5,'5') │               2 │
├───────┼───────┼─────────┼─────────────────┤
│     6 │ 6     │ (6,'6') │            ᴺᵁᴸᴸ │
├───────┼───────┼─────────┼─────────────────┤
│     7 │ 7     │ (7,'7') │               1 │
├───────┼───────┼─────────┼─────────────────┤
│     8 │ 8     │ (8,'8') │               2 │
├───────┼───────┼─────────┼─────────────────┤
│     9 │ 9     │ (9,'9') │            ᴺᵁᴸᴸ │
└───────┴───────┴─────────┴─────────────────┘

and running SELECT number AS hello, toString(number) AS world, (hello, world) AS tuple, nullIf(hello % 3, 0) AS sometimes_nulls FROM system.numbers LIMIT 10 SETTINGS max_block_size = 5 FORMAT PrettyNoEscapes;

┏━━━━━━━┳━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ hello ┃ world ┃ tuple   ┃ sometimes_nulls ┃
┡━━━━━━━╇━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│     0 │ 0     │ (0,'0') │            ᴺᵁᴸᴸ │
├───────┼───────┼─────────┼─────────────────┤
│     1 │ 1     │ (1,'1') │               1 │
├───────┼───────┼─────────┼─────────────────┤
│     2 │ 2     │ (2,'2') │               2 │
├───────┼───────┼─────────┼─────────────────┤
│     3 │ 3     │ (3,'3') │            ᴺᵁᴸᴸ │
├───────┼───────┼─────────┼─────────────────┤
│     4 │ 4     │ (4,'4') │               1 │
└───────┴───────┴─────────┴─────────────────┘
┏━━━━━━━┳━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ hello ┃ world ┃ tuple   ┃ sometimes_nulls ┃
┡━━━━━━━╇━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│     5 │ 5     │ (5,'5') │               2 │
├───────┼───────┼─────────┼─────────────────┤
│     6 │ 6     │ (6,'6') │            ᴺᵁᴸᴸ │
├───────┼───────┼─────────┼─────────────────┤
│     7 │ 7     │ (7,'7') │               1 │
├───────┼───────┼─────────┼─────────────────┤
│     8 │ 8     │ (8,'8') │               2 │
├───────┼───────┼─────────┼─────────────────┤
│     9 │ 9     │ (9,'9') │            ᴺᵁᴸᴸ │
└───────┴───────┴─────────┴─────────────────┘

So this is the behaviour I observe even when I can see with lldb that for the first query color = true and in the second query color = false.

Possibly it's just me who is confused :D

@Avogar
Copy link
Member

Avogar commented Jan 15, 2024

The tests are failing in the CI because when we generate reference files we redirect the output to the file, so don't write to the terminal and our auto mode disables escape sequences. And this is ok.
I just downloaded the binary from fasttest with your cahnges and when I run command clickhouse client -q "select 42 as value format Pretty" without redirection to the file, it prints escape sequences, when I run clickhouse client -q "select 42 as value format Pretty" > reference, then it doesn't print escape sequences. So, seems like everything is ok.

…ling tests which use pretty by setting output_format_pretty_color=1
Co-authored-by: Kruglov Pavel <48961922+Avogar@users.noreply.github.com>
@Avogar
Copy link
Member

Avogar commented Jan 16, 2024

We are almost ready to merge! Several tests need to be adjusted and I will approve and merge

@Blargian
Copy link
Contributor Author

@Avogar sorry for the delay, I got stuck now on trying to fix the last remaining tests which are failing. I don't find any test test_parallel_replicas_custom_key_failover in my local repository, only test_parallel_replicas_custom_key, but I don't see anything related to Pretty format there. As for Flaky tests I don't even know where to begin to fix that...

@Avogar
Copy link
Member

Avogar commented Jan 17, 2024

I got stuck now on trying to fix the last remaining tests which are failing

Actually, all failed tests are not related to the changes in this PR. test_parallel_replicas_custom_key_failover test is broken in master and our team is looking into it. Integration flaky check failed due to timeout and it's an infrastracture problem. Stateless tests flaky check failed because of test 01074_partial_revokes, but it's expected for this test, it should not be run in parallel (we need to add special tag to this test to avoid it).

@Avogar Avogar merged commit 6d06451 into ClickHouse:master Jan 17, 2024
262 of 266 checks passed
@Blargian
Copy link
Contributor Author

@Avogar Any other open issues around this part of the codebase for Pretty/Formats you can recommend for me to work on?

@Avogar
Copy link
Member

Avogar commented Jan 17, 2024

#31363 - usability improvement for Template format. Will not be difficult, but really useful.
#56912 - usability improvement for Pretty format.
#56257 - usability improvement for TSV format, I wanted to do it but don't have time now. Should be not so difficult, but will require careful implementation.

If you are ready to do something more complex, you can try to implement a new format:
Npy output format - #56345
AvroConfluent output format - #41204

myrrc added a commit to myrrc/ClickHouse that referenced this pull request Jan 17, 2024
commit c701633
Merge: 3efe102 656ec1c
Author: Kruglov Pavel <48961922+Avogar@users.noreply.github.com>
Date:   Wed Jan 17 14:55:54 2024 +0100

    Merge pull request ClickHouse#58805 from ucasfl/avro-zstd

    Avro format support Zstd codec

commit 3efe102
Merge: 6d06451 2d16b34
Author: Antonio Andelic <antonio2368@users.noreply.github.com>
Date:   Wed Jan 17 14:11:42 2024 +0100

    Merge pull request ClickHouse#58901 from ClickHouse/add-jepsen-log

    Add log for already download binary in Jepsen

commit 6d06451
Merge: bb124b5 a457fa3
Author: Kruglov Pavel <48961922+Avogar@users.noreply.github.com>
Date:   Wed Jan 17 13:45:41 2024 +0100

    Merge pull request ClickHouse#58614 from Blargian/58363_disable_ansi_pretty_automatically

    58363 Automatically disable ANSI escape sequences in Pretty formats if the output is not a terminal

commit bb124b5
Merge: c8a313d 354b689
Author: Nikita Taranov <nikita.taranov@clickhouse.com>
Date:   Wed Jan 17 13:45:07 2024 +0100

    Merge pull request ClickHouse#58077 from nickitat/revert_rest

    Remove unneeded parameter `use_external_buffer` from `AsynchronousReadBuffer*`

commit c8a313d
Merge: 5e02047 4ce6b64
Author: Antonio Andelic <antonio2368@users.noreply.github.com>
Date:   Wed Jan 17 12:50:30 2024 +0100

    Merge pull request ClickHouse#58873 from ClickHouse/fix-00089_group_by_arrays_of_fixed

    Fix `00089_group_by_arrays_of_fixed` with external aggregation

commit 2d16b34
Author: Antonio Andelic <antonio@clickhouse.com>
Date:   Wed Jan 17 11:49:58 2024 +0000

    Add log for already download binary

commit 5e02047
Merge: a5e0be4 f33f374
Author: Antonio Andelic <antonio2368@users.noreply.github.com>
Date:   Wed Jan 17 12:26:55 2024 +0100

    Merge pull request ClickHouse#58810 from ClickHouse/heap-profiler-docs

    Add docs for allocation profiling

commit a5e0be4
Merge: 2f68086 80291ec
Author: Dmitry Novik <n0vik@clickhouse.com>
Date:   Wed Jan 17 12:24:28 2024 +0100

    Merge pull request ClickHouse#58875 from ClickHouse/fix-indexhint-rpn-builder

    Fix RPN construction for indexHint

commit 2f68086
Merge: ae1e19f 0b3ebcd
Author: Kseniia Sumarokova <54203879+kssenii@users.noreply.github.com>
Date:   Wed Jan 17 12:01:52 2024 +0100

    Merge pull request ClickHouse#58898 from ClickHouse/kssenii-patch-8

    Update SLRUFileCachePriority.cpp

commit ae1e19f
Merge: ed1221e e708b6e
Author: Raúl Marín <git@rmr.ninja>
Date:   Wed Jan 17 11:58:11 2024 +0100

    Merge pull request ClickHouse#58849 from ClickHouse/fix-bad-log-message-3

    Fix bad log message

commit 0b3ebcd
Author: Kseniia Sumarokova <54203879+kssenii@users.noreply.github.com>
Date:   Wed Jan 17 11:13:57 2024 +0100

    Update SLRUFileCachePriority.cpp

commit ed1221e
Merge: f349a7d f301795
Author: Dmitry Novik <n0vik@clickhouse.com>
Date:   Wed Jan 17 10:08:00 2024 +0100

    Merge pull request ClickHouse#58876 from ClickHouse/analyzer-test-group-by-shards

    Analyzer: add test with GROUP BY on shards

commit f349a7d
Merge: 7291674 e4fa000
Author: Alexey Milovidov <milovidov@clickhouse.com>
Date:   Wed Jan 17 06:08:40 2024 +0100

    Merge pull request ClickHouse#58883 from den-crane/patch-67

    Fix ambiguity in the setting description

commit e4fa000
Author: Denny Crane <denis.zhuravlov@gmail.com>
Date:   Tue Jan 16 18:29:15 2024 -0400

    Update Settings.h

commit 7291674
Merge: 38b85e6 d25832a
Author: Nikita Taranov <nikita.taranov@clickhouse.com>
Date:   Tue Jan 16 22:22:08 2024 +0100

    Merge pull request ClickHouse#58610 from azat/stacktrace-cleanup

    Refactor stacktrace symbolizer to avoid copy-paste

commit 38b85e6
Merge: 9146391 2cf74ae
Author: Alexander Tokmakov <tavplubix@clickhouse.com>
Date:   Tue Jan 16 21:08:33 2024 +0100

    Merge pull request ClickHouse#58649 from azat/tests/test_replicated_database

    Fix test_replicated_database::test_startup_without_zk flakiness

commit a457fa3
Merge: 1b81efc d044b95
Author: Blargian <shaunstruwig.ss@gmail.com>
Date:   Tue Jan 16 20:00:04 2024 +0200

    Merge remote-tracking branch 'refs/remotes/origin/58363_disable_ansi_pretty_automatically' into 58363_disable_ansi_pretty_automatically

commit 1b81efc
Author: Blargian <shaunstruwig.ss@gmail.com>
Date:   Tue Jan 16 19:48:23 2024 +0200

    fix failing 02421 stateless and (hopefully) fix failing integration tests

commit 9146391
Merge: 1d34f4a ffda831
Author: Robert Schulze <robert@clickhouse.com>
Date:   Tue Jan 16 17:14:45 2024 +0100

    Merge pull request ClickHouse#58731 from rschu1ze/qc-quota

    Query cache: Fix per-user quota

commit 80291ec
Author: Dmitry Novik <mrnovikd@gmail.com>
Date:   Tue Jan 16 16:59:04 2024 +0100

    Add comments

commit f301795
Author: Dmitry Novik <n0vik@clickhouse.com>
Date:   Tue Jan 16 15:41:02 2024 +0000

    Analyzer: add test with GROUP BY on shards

commit c325f08
Author: Dmitry Novik <n0vik@clickhouse.com>
Date:   Tue Jan 16 15:34:45 2024 +0000

    Fix RPN construction for indexHint

commit 4ce6b64
Author: Antonio Andelic <antonio@clickhouse.com>
Date:   Tue Jan 16 15:16:13 2024 +0000

    Fix 00089_group_by_arrays_of_fixed with external aggregation

commit 1d34f4a
Merge: 27fc822 f4e8e47
Author: János Benjamin Antal <antaljanosbenjamin@users.noreply.github.com>
Date:   Tue Jan 16 16:14:22 2024 +0100

    Merge pull request ClickHouse#58809 from ClickHouse/print-entries-to-be-processed-in-trace

    Increase log level to trace to help debug `00993_system_parts_race_condition_drop_zookeeper`

commit 27fc822
Merge: 74973c1 661500a
Author: Alexander Tokmakov <tavplubix@clickhouse.com>
Date:   Tue Jan 16 15:16:32 2024 +0100

    Merge pull request ClickHouse#58872 from ClickHouse/revert-58835-support-net-write-read-settings

    Revert "Add support for MySQL `net_write_timeout` and `net_read_timeout` settings"

commit f33f374
Author: Antonio Andelic <antonio@clickhouse.com>
Date:   Tue Jan 16 15:09:49 2024 +0100

    Make Kovi happy

commit 661500a
Author: Alexander Tokmakov <tavplubix@gmail.com>
Date:   Tue Jan 16 15:01:14 2024 +0100

    Revert "Add support for MySQL `net_write_timeout` and `net_read_timeout` settings"

commit 74973c1
Merge: 7d03ccd 8c8f7c8
Author: Kruglov Pavel <48961922+Avogar@users.noreply.github.com>
Date:   Tue Jan 16 14:46:22 2024 +0100

    Merge pull request ClickHouse#58537 from sunny19930321/fix/hive-threadpool-query

    Fix hive threadpool read ORC/Parquet/... Failed

commit 7d03ccd
Merge: 9b54bf4 b9132f7
Author: Nikita Taranov <nikita.taranov@clickhouse.com>
Date:   Tue Jan 16 14:09:21 2024 +0100

    Merge pull request ClickHouse#58844 from nickitat/fixxxx

    Fix reading from an invisible part in new (not released yet) parallel replicas coordinator

commit 9b54bf4
Merge: c9cee8c 188cadc
Author: vdimir <vdimir@clickhouse.com>
Date:   Tue Jan 16 13:07:44 2024 +0100

    Merge pull request ClickHouse#58863 from ClickHouse/vdimir/timeout_01961_roaring_memory_tracking

    Set max_bytes_before_external_group_by in 01961_roaring_memory_tracking

commit c9cee8c
Merge: d2dccf9 de2d0a7
Author: Yarik Briukhovetskyi <114298166+yariks5s@users.noreply.github.com>
Date:   Tue Jan 16 12:35:04 2024 +0100

    Merge pull request ClickHouse#58771 from yariks5s/polygon_bug_fix

    Fix Segfault in `SlabsPolygonIndex::find`

commit d2dccf9
Merge: 07ffbc9 e9ab8e8
Author: vdimir <vdimir@clickhouse.com>
Date:   Tue Jan 16 11:24:02 2024 +0100

    Merge pull request ClickHouse#49703 from ClickHouse/vdimir/analyzer_join_resolve_nested

    Analyzer: Fix resolving subcolumns in JOIN

commit 07ffbc9
Merge: de3e701 23e3ad1
Author: vdimir <vdimir@clickhouse.com>
Date:   Tue Jan 16 11:13:14 2024 +0100

    Merge pull request ClickHouse#51550 from ClickHouse/vdimir/join_nested_lowcardinality_convert

    Add join keys conversion for nested lowcardinality

commit de3e701
Merge: 54a79c1 61f2ab3
Author: vdimir <vdimir@clickhouse.com>
Date:   Tue Jan 16 11:12:31 2024 +0100

    Merge pull request ClickHouse#58652 from ClickHouse/vdimir/analyzer_hash_join_duplicate_columns

    Analyzer: Fix assertion in HashJoin with duplicate columns

commit 188cadc
Author: vdimir <vdimir@clickhouse.com>
Date:   Tue Jan 16 10:12:00 2024 +0000

    Set max_bytes_before_external_group_by in 01961_roaring_memory_tracking

commit 54a79c1
Merge: 8b10836 1f0a29c
Author: vdimir <vdimir@clickhouse.com>
Date:   Tue Jan 16 11:05:54 2024 +0100

    Merge pull request ClickHouse#58123 from ClickHouse/vdimir/cluster_discovery_password

    ClusterDiscovery supports setting username and password

commit 8b10836
Merge: 167b6be 2970812
Author: vdimir <vdimir@clickhouse.com>
Date:   Tue Jan 16 11:01:10 2024 +0100

    Merge pull request ClickHouse#58808 from ClickHouse/vdimir/json_extract_lc_fix

    Fix JSONExtract function for LowCardinality(Nullable) columns

commit 167b6be
Merge: 5fcf1b2 6f7e7c9
Author: Kseniia Sumarokova <54203879+kssenii@users.noreply.github.com>
Date:   Tue Jan 16 10:05:31 2024 +0100

    Merge pull request ClickHouse#58786 from xleoken/eos

    Ecloud EOS Storage support

commit e708b6e
Author: Alexey Milovidov <milovidov@clickhouse.com>
Date:   Tue Jan 16 09:45:20 2024 +0100

    Fix bad log message

commit 5fcf1b2
Merge: ebfea07 e2c5e5f
Author: Kseniia Sumarokova <54203879+kssenii@users.noreply.github.com>
Date:   Tue Jan 16 08:53:41 2024 +0100

    Merge pull request ClickHouse#58842 from ClickHouse/fix-data-race-in-slru

    fs cache: fix data race in slru

commit ebfea07
Merge: 786f372 573fa8c
Author: Alexey Milovidov <milovidov@clickhouse.com>
Date:   Tue Jan 16 08:42:38 2024 +0100

    Merge pull request ClickHouse#58832 from kitaisreal/database-catalog-background-tasks-add-log-names

    DatabaseCatalog background tasks add log names

commit 786f372
Merge: 8bdd654 204a291
Author: Alexey Milovidov <milovidov@clickhouse.com>
Date:   Tue Jan 16 08:42:15 2024 +0100

    Merge pull request ClickHouse#58835 from slvrtrn/support-net-write-read-settings

    Add support for MySQL `net_write_timeout` and `net_read_timeout` settings

commit 656ec1c
Author: flynn <fenglv15@mails.ucas.ac.cn>
Date:   Tue Jan 16 06:24:18 2024 +0000

    rename zstandard to zstd

commit b542b1a
Author: flynn <fenglv15@mails.ucas.ac.cn>
Date:   Tue Jan 16 02:27:08 2024 +0000

    update submodule

commit b9132f7
Author: Nikita Taranov <nikita.taranov@clickhouse.com>
Date:   Tue Jan 16 00:52:26 2024 +0100

    add check in read pool

commit 8bdd654
Merge: a9fe9ca b954667
Author: Alexander Tokmakov <tavplubix@clickhouse.com>
Date:   Tue Jan 16 00:32:08 2024 +0100

    Merge pull request ClickHouse#58647 from ClickHouse/tavplubix-patch-10

    Update test_replicated_database/test.py

commit a9fe9ca
Merge: 8973e7d a6a0122
Author: Alexey Milovidov <milovidov@clickhouse.com>
Date:   Tue Jan 16 00:01:55 2024 +0100

    Merge pull request ClickHouse#58821 from ClickHouse/do-not-trim-fuzzer-log

    Fuzzer: do not trim fuzzer log

commit 90d30b6
Author: Nikita Taranov <nikita.taranov@clickhouse.com>
Date:   Mon Jan 15 23:56:53 2024 +0100

    impl

commit 8973e7d
Merge: ae88476 de115c4
Author: Alexey Milovidov <milovidov@clickhouse.com>
Date:   Mon Jan 15 23:33:14 2024 +0100

    Merge pull request ClickHouse#58833 from ClickHouse/fix-analyzer-remote-aggregation

    Analyzer: Resolve GROUPING function on shards

commit d044b95
Author: Shaun Struwig <41984034+Blargian@users.noreply.github.com>
Date:   Mon Jan 15 19:27:55 2024 +0200

    Update src/Core/SettingsChangesHistory.h

    Co-authored-by: Kruglov Pavel <48961922+Avogar@users.noreply.github.com>

commit b008a1e
Author: Blargian <shaunstruwig.ss@gmail.com>
Date:   Mon Jan 15 19:15:15 2024 +0200

    ClickHouse#58363 - add change to SettingsChangesHistory.h and fix failing tests which use pretty by setting output_format_pretty_color=1

commit 204a291
Author: slvrtrn <hypnoash@gmail.com>
Date:   Mon Jan 15 17:52:58 2024 +0100

    Remove an unnecessary include

commit d841fae
Author: slvrtrn <hypnoash@gmail.com>
Date:   Mon Jan 15 17:36:13 2024 +0100

    Rename the tests

commit de115c4
Author: Dmitry Novik <n0vik@clickhouse.com>
Date:   Mon Jan 15 16:25:39 2024 +0000

    Fix for passes that use column source

commit be09a41
Merge: 8ad6b03 61889fa
Author: slvrtrn <hypnoash@gmail.com>
Date:   Mon Jan 15 17:15:43 2024 +0100

    Merge remote-tracking branch 'origin' into support-net-write-read-settings

commit 8ad6b03
Author: slvrtrn <hypnoash@gmail.com>
Date:   Mon Jan 15 17:15:07 2024 +0100

    Add a test for MySQL settings replacements

commit 6f7e7c9
Author: xleoken <leo65535@163.com>
Date:   Sat Jan 13 18:27:43 2024 +0800

    Ecloud EOS Storage support

commit 0f7daef
Author: Dmitry Novik <n0vik@clickhouse.com>
Date:   Mon Jan 15 16:02:37 2024 +0000

    Analyzer: Resolve GROUPING function on shards

commit 573fa8c
Author: Maksim Kita <kitaetoya@gmail.com>
Date:   Mon Jan 15 18:59:34 2024 +0300

    DatabaseCatalog background tasks add log names

commit d37ac19
Author: slvrtrn <hypnoash@gmail.com>
Date:   Mon Jan 15 16:05:36 2024 +0100

    Add support for net_write/read_timeout MySQL settings

commit 5f50052
Author: Blargian <shaunstruwig.ss@gmail.com>
Date:   Mon Jan 15 16:32:51 2024 +0200

    ClickHouse#58363 - added setting is_writing_to_terminal to FormatSettings.h, modified PrettyBlockOutputFormat to use this, which is set in FormatFactory.cpp getOutputFormat and getOutputFormatParallelIfPossible

commit 0be9b8d
Author: flynn <fenglv15@mails.ucas.ac.cn>
Date:   Mon Jan 15 14:07:37 2024 +0000

    update test

commit a6a0122
Author: Dmitry Novik <n0vik@clickhouse.com>
Date:   Mon Jan 15 13:06:43 2024 +0000

    Fuzzer: do not trim fuzzer log

commit 9533ff8
Author: flynn <fenglv15@mails.ucas.ac.cn>
Date:   Mon Jan 15 13:06:23 2024 +0000

    add test

commit de2d0a7
Author: yariks5s <yaroslav.briukhovetskyi@clickhouse.com>
Date:   Mon Jan 15 13:05:50 2024 +0000

    remove the test from fast tests

commit 76c9bf4
Author: Antonio Andelic <antonio@clickhouse.com>
Date:   Mon Jan 15 12:45:57 2024 +0100

    Add docs for allocation profiling

commit 61f2ab3
Author: vdimir <vdimir@clickhouse.com>
Date:   Mon Jan 15 11:37:33 2024 +0000

    Update HashJoin::getNonJoinedBlocks

commit 6a1b005
Author: vdimir <vdimir@clickhouse.com>
Date:   Fri Jan 12 16:14:57 2024 +0100

    Fix build

commit 4adeb24
Author: vdimir <vdimir@clickhouse.com>
Date:   Wed Jan 10 12:30:23 2024 +0000

    Analyzer: Fix assertion in HashJoin with duplicate columns

commit 1f0a29c
Author: vdimir <vdimir@clickhouse.com>
Date:   Mon Jan 15 11:31:22 2024 +0000

    Fix test_cluster_discovery/test_password.py

commit 89fadd7
Author: vdimir <vdimir@clickhouse.com>
Date:   Thu Jan 11 09:39:49 2024 +0100

    Update src/Interpreters/ClusterDiscovery.cpp

    Co-authored-by: Antonio Andelic <antonio2368@users.noreply.github.com>

commit 53e2a97
Author: vdimir <vdimir@clickhouse.com>
Date:   Tue Jan 9 11:41:13 2024 +0000

    Add missing configs to test_cluster_discovery

commit 8dc1756
Author: vdimir <vdimir@clickhouse.com>
Date:   Mon Jan 8 16:40:00 2024 +0000

    Support <secret> in cluster discovery

commit 6ab507e
Author: vdimir <vdimir@clickhouse.com>
Date:   Mon Jan 8 16:14:40 2024 +0000

    Add test case for cluster discovery with wrong password

commit 012713f
Author: vdimir <vdimir@clickhouse.com>
Date:   Thu Dec 21 11:30:13 2023 +0000

    ClusterDiscovery supports setting username and password

commit e9ab8e8
Author: vdimir <vdimir@clickhouse.com>
Date:   Mon Jan 15 10:58:37 2024 +0000

    update comment to check_nested_column_not_in_using

commit f4e8e47
Author: János Benjamin Antal <benjamin.antal@clickhouse.com>
Date:   Mon Jan 15 10:44:40 2024 +0000

    Increase log level to trace

commit ffda831
Merge: d818cea 9cfdff2
Author: Robert Schulze <robert@clickhouse.com>
Date:   Mon Jan 15 10:42:32 2024 +0000

    Merge remote-tracking branch 'rschu1ze/master' into qc-quota

commit d818cea
Author: Robert Schulze <robert@clickhouse.com>
Date:   Mon Jan 15 10:41:47 2024 +0000

    Update comments

commit 2970812
Author: vdimir <vdimir@clickhouse.com>
Date:   Mon Jan 15 10:30:17 2024 +0000

    Fix JSONExtract function for LowCardinality(Nullable) columns

commit 20dbe65
Author: flynn <fenglv15@mails.ucas.ac.cn>
Date:   Mon Jan 15 09:11:27 2024 +0000

    Avro format support zstd codec

commit bcf8d54
Merge: 4b645e4 e163961
Author: yariks5s <yaroslav.briukhovetskyi@clickhouse.com>
Date:   Sat Jan 13 22:49:38 2024 +0000

    Merge branch 'polygon_bug_fix' of github.com:yariks5s/ClickHouse into polygon_bug_fix

commit 4b645e4
Author: yariks5s <yaroslav.briukhovetskyi@clickhouse.com>
Date:   Sat Jan 13 22:49:27 2024 +0000

    tests

commit e163961
Author: Nikolai Kochetov <nk@clickhouse.com>
Date:   Sat Jan 13 21:48:41 2024 +0100

    Update PolygonDictionaryUtils.h

commit d954dab
Author: Nikolai Kochetov <nk@clickhouse.com>
Date:   Sat Jan 13 21:04:08 2024 +0100

    Update PolygonDictionaryUtils.h

commit ce012d2
Author: Blargian <shaunstruwig.ss@gmail.com>
Date:   Sat Jan 13 13:21:36 2024 +0200

    ClickHouse#58363 - fix style check failing attempt no.2

commit e1e193a
Merge: d42a7e5 6b666f2
Author: Yarik Briukhovetskyi <114298166+yariks5s@users.noreply.github.com>
Date:   Sat Jan 13 12:00:22 2024 +0100

    Merge branch 'ClickHouse:master' into polygon_bug_fix

commit 0fdba3b
Author: Blargian <shaunstruwig.ss@gmail.com>
Date:   Sat Jan 13 12:14:54 2024 +0200

    ClickHouse#58363 - fix failing style check

commit d42a7e5
Author: yariks5s <yaroslav.briukhovetskyi@clickhouse.com>
Date:   Fri Jan 12 23:46:50 2024 +0000

    init

commit 72b5cf5
Author: Blargian <shaunstruwig.ss@gmail.com>
Date:   Fri Jan 12 19:46:03 2024 +0200

    ClickHouse#58363 - removed switch from PrettyBlockOutputFormat and modified BlockOutputFormats to use color variable. Updated english and russian documentation. Updated test 00405 reference file.

commit 5357e8f
Author: Robert Schulze <robert@clickhouse.com>
Date:   Thu Jan 11 23:13:26 2024 +0000

    QueryCache: Fix odd bugs with user quota

    - SYSTEM DROP QUERY CACHE did not clear the user policy statistics, this
      made the cache block all inserts afterwards

    - Fixes two other oddities in the approval logic

commit aa8876a
Author: Blargian <shaunstruwig.ss@gmail.com>
Date:   Fri Jan 12 12:31:57 2024 +0200

    ClickHouse#58363 - Changes based on review of draft PR - changed output_format_pretty_color to use UInt64Auto. Added isWritingToTerminal function to IO/WriteHelpers.h and updated test

commit d25832a
Author: Azat Khuzhin <a3at.mail@gmail.com>
Date:   Mon Jan 8 19:25:50 2024 +0300

    Refactor stacktrace symbolizer to avoid copy-paste

    Note, that this patch slightly changes the behavior, since now inline
    frames will be processed for sentry as well.

    And also it properly uses offset argument for non ELF.

    Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>

commit 2c68bde
Author: vdimir <vdimir@clickhouse.com>
Date:   Wed Jan 10 13:29:28 2024 +0000

    add comment to check_nested_column_not_in_using

commit 2cf74ae
Author: Azat Khuzhin <a3at.mail@gmail.com>
Date:   Wed Jan 10 14:43:30 2024 +0300

    Fix test_replicated_database::test_startup_without_zk flakiness

    CI founds [1]

        E           assert 'ZooKeeper' in "Received exception from server (version 24.1.1):\nCode: 999. DB::Exception: Received from 172.16.1.6:9000. Coordination::Exception. Coordination::Exception: Coordination error: Connection loss, path /clickhouse/databases/startup. Stack trace:\n\n0. ? @ 0x000000000c734f1b in /usr/bin/clickhouse\n1. ? @ 0x000000000fbef3f4 in /usr/bin/clickhouse\n2. ? @ 0x000000000fbeebc8 in /usr/bin/clickhouse\n3. ? @ 0x0000000012ded0f9 in /usr/bin/clickhouse\n4. ? @ 0x0000000012deaa71 in /usr/bin/clickhouse\n5. ? @ 0x00000000107e51e8 in /usr/bin/clickhouse\n6. ? @ 0x00000000107eb87a in /usr/bin/clickhouse\n7. ? @ 0x0000000011213ec3 in /usr/bin/clickhouse\n8. ? @ 0x00000000111e9acf in /usr/bin/clickhouse\n9. ? @ 0x000000001120e85e in /usr/bin/clickhouse\n10. ? @ 0x000000001174f0a2 in /usr/bin/clickhouse\n11. ? @ 0x0000000011748c9a in /usr/bin/clickhouse\n12. ? @ 0x00000000126fb5a9 in /usr/bin/clickhouse\n13. ? @ 0x00000000127130f9 in /usr/bin/clickhouse\n14. ? @ 0x000000001517bf12 in /usr/bin/clickhouse\n15. ? @ 0x000000001517cd11 in /usr/bin/clickhouse\n16. ? @ 0x00000000152740c7 in /usr/bin/clickhouse\n17. ? @ 0x00000000152726bc in /usr/bin/clickhouse\n18. ? @ 0x00007f7f36485ac3\n19. ? @ 0x00007f7f36517660\n. (KEEPER_EXCEPTION)\n(query: CREATE DATABASE startup ENGINE = Replicated('/clickhouse/databases/startup', 'shard1', 'replica1');)\n"

      [1]: https://s3.amazonaws.com/clickhouse-test-reports/58610/441a3fbb9b1c088f528841727f013b829f63fc8a/integration_tests__release__[3_4]/integration_run_test_replicated_database_test_py_0.log

    Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>

commit b954667
Author: Alexander Tokmakov <tavplubix@clickhouse.com>
Date:   Wed Jan 10 11:07:13 2024 +0100

    Update test.py

commit 25268fb
Author: vdimir <vdimir@clickhouse.com>
Date:   Tue Jan 9 19:05:44 2024 +0000

    Analyzer: Fix resolving subcolumns in JOIN

commit 23e3ad1
Author: vdimir <vdimir@clickhouse.com>
Date:   Wed Jun 28 16:59:13 2023 +0000

    Add join keys convertion for nested lowcardinality

commit 76ba291
Author: Blargian <shaunstruwig.ss@gmail.com>
Date:   Tue Jan 9 06:44:13 2024 +0200

    ClickHouse#58363 - added stateless test with expected behaviour for Off and On settings but not Auto

commit b65adbe
Author: Blargian <shaunstruwig.ss@gmail.com>
Date:   Mon Jan 8 23:52:25 2024 +0200

    minor fixes. Doesnt seem to be using ANSI escapes anymore

commit a15b573
Author: Blargian <shaunstruwig.ss@gmail.com>
Date:   Mon Jan 8 15:25:14 2024 +0200

    ClickHouse#58363 - fix formatting issues and change ON, OFF, AUTO to 0, 1, auto

commit 8c8f7c8
Author: sunny19930321 <sunningli@tencent.com>
Date:   Fri Jan 5 15:58:17 2024 +0800

    hive threadpool read orc failed

commit f9b57bf
Author: sunny19930321 <sunningli@tencent.com>
Date:   Fri Jan 5 14:36:28 2024 +0800

    fix: hive threadpool read orc failed

commit 4599460
Author: Blargian <shaunstruwig.ss@gmail.com>
Date:   Thu Jan 4 16:10:36 2024 +0200

    ClickHouse#58363 🚧 modified Pretty in FormatSettings.h to have PrettyColor which can be 0,1 or auto. modified output_format_pretty_color in FormatFactory.cpp to make use of this, added the default to Settings.h. Implemented the logic for enabling/disabling based on output_format_pretty_color in PrettyBlockOutputFormat.h

commit 354b689
Author: Nikita Taranov <nikita.taranov@clickhouse.com>
Date:   Wed Dec 20 15:57:52 2023 +0100

    impl
@alexey-milovidov
Copy link
Member

Amazing! It works:

watch -n1 'clickhouse-local --query "SELECT now() FORMAT Pretty"'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
can be tested Allows running workflows for external contributors pr-feature Pull request with new product feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants