diff --git a/.gitignore b/.gitignore index 291eb35c67a..6c0865d1959 100644 --- a/.gitignore +++ b/.gitignore @@ -178,7 +178,6 @@ utils/zookeeper-create-entry-to-download-part/zookeeper-create-entry-to-download utils/zookeeper-dump-tree/zookeeper-dump-tree utils/zookeeper-remove-by-list/zookeeper-remove-by-list dbms/src/Storages/tests/remove_symlink_directory -dbms/tests/queries/1_stateful debian/control debian/copyright debian/tmp/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 256f8a828a2..f5aee27ddab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,10 +34,9 @@ endif () string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UC) message (STATUS "CMAKE_BUILD_TYPE: " ${CMAKE_BUILD_TYPE} ) -# ASan - build type with address sanitizer -# UBSan - build type with undefined behaviour sanitizer -# TSan is not supported due to false positive errors in libstdc++ and necessity to rebuild libstdc++ with TSan -set (CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Debug;Release;MinSizeRel;ASan;UBSan" CACHE STRING "" FORCE) +set (CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Debug;Release;MinSizeRel" CACHE STRING "" FORCE) + +include (cmake/sanitize.cmake) include (cmake/arch.cmake) @@ -190,8 +189,6 @@ if (NOT MAKE_STATIC_LIBRARIES) set(CMAKE_POSITION_INDEPENDENT_CODE ON) endif () -include (cmake/sanitize.cmake) - # Using "include-what-you-use" tool. option (USE_INCLUDE_WHAT_YOU_USE "Use 'include-what-you-use' tool" OFF) if (USE_INCLUDE_WHAT_YOU_USE) diff --git a/ci/jobs/quick-build/run.sh b/ci/jobs/quick-build/run.sh index 0eefa72caa7..6a948c560ee 100755 --- a/ci/jobs/quick-build/run.sh +++ b/ci/jobs/quick-build/run.sh @@ -21,7 +21,7 @@ BUILD_TARGETS=clickhouse BUILD_TYPE=Debug ENABLE_EMBEDDED_COMPILER=0 -CMAKE_FLAGS="-D CMAKE_C_FLAGS_ADD=-g0 -D CMAKE_CXX_FLAGS_ADD=-g0 -D ENABLE_TCMALLOC=0 -D ENABLE_CAPNP=0 -D ENABLE_RDKAFKA=0 -D ENABLE_UNWIND=0 -D ENABLE_ICU=0 -D ENABLE_POCO_MONGODB=0 -D ENABLE_POCO_NETSSL=0 -D ENABLE_POCO_ODBC=0 -D ENABLE_ODBC=0 -D ENABLE_MYSQL=0" +CMAKE_FLAGS="-D CMAKE_C_FLAGS_ADD=-g0 -D CMAKE_CXX_FLAGS_ADD=-g0 -D ENABLE_JEMALLOC=0 -D ENABLE_CAPNP=0 -D ENABLE_RDKAFKA=0 -D ENABLE_UNWIND=0 -D ENABLE_ICU=0 -D ENABLE_POCO_MONGODB=0 -D ENABLE_POCO_NETSSL=0 -D ENABLE_POCO_ODBC=0 -D ENABLE_ODBC=0 -D ENABLE_MYSQL=0" [[ $(uname) == "FreeBSD" ]] && COMPILER_PACKAGE_VERSION=devel && export COMPILER_PATH=/usr/local/bin diff --git a/cmake/sanitize.cmake b/cmake/sanitize.cmake index bac27578663..a90533345e6 100644 --- a/cmake/sanitize.cmake +++ b/cmake/sanitize.cmake @@ -1,27 +1,37 @@ +option (SANITIZE "Enable sanitizer: address, memory, thread, undefined" "") + set (SAN_FLAGS "${SAN_FLAGS} -g -fno-omit-frame-pointer -DSANITIZER") -if (SAN_DEBUG) - set (SAN_FLAGS "${SAN_FLAGS} -O0") -else () - set (SAN_FLAGS "${SAN_FLAGS} -O3") -endif () -set (CMAKE_CXX_FLAGS_ASAN "${CMAKE_CXX_FLAGS_ASAN} ${SAN_FLAGS} -fsanitize=address") -set (CMAKE_C_FLAGS_ASAN "${CMAKE_C_FLAGS_ASAN} ${SAN_FLAGS} -fsanitize=address") -set (CMAKE_EXE_LINKER_FLAGS_ASAN "${CMAKE_EXE_LINKER_FLAGS_ASAN} -fsanitize=address") -set (CMAKE_CXX_FLAGS_UBSAN "${CMAKE_CXX_FLAGS_UBSAN} ${SAN_FLAGS} -fsanitize=undefined") -set (CMAKE_C_FLAGS_UBSAN "${CMAKE_C_FLAGS_UBSAN} ${SAN_FLAGS} -fsanitize=undefined") -set (CMAKE_EXE_LINKER_FLAGS_UBSAN "${CMAKE_EXE_LINKER_FLAGS_UBSAN} -fsanitize=undefined") -set (CMAKE_CXX_FLAGS_MSAN "${CMAKE_CXX_FLAGS_MSAN} ${SAN_FLAGS} -fsanitize=memory") -set (CMAKE_C_FLAGS_MSAN "${CMAKE_C_FLAGS_MSAN} ${SAN_FLAGS} -fsanitize=memory") -set (CMAKE_EXE_LINKER_FLAGS_MSAN "${CMAKE_EXE_LINKER_FLAGS_MSAN} -fsanitize=memory") -set (CMAKE_CXX_FLAGS_TSAN "${CMAKE_CXX_FLAGS_TSAN} ${SAN_FLAGS} -fsanitize=thread") -set (CMAKE_C_FLAGS_TSAN "${CMAKE_C_FLAGS_TSAN} ${SAN_FLAGS} -fsanitize=thread") -set (CMAKE_EXE_LINKER_FLAGS_TSAN "${CMAKE_EXE_LINKER_FLAGS_TSAN} -fsanitize=thread") - -# clang use static linking by default -if (MAKE_STATIC_LIBRARIES AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - set (CMAKE_EXE_LINKER_FLAGS_ASAN "${CMAKE_EXE_LINKER_FLAGS_ASAN} -static-libasan") - set (CMAKE_EXE_LINKER_FLAGS_UBSAN "${CMAKE_EXE_LINKER_FLAGS_UBSAN} -static-libubsan") - set (CMAKE_EXE_LINKER_FLAGS_MSAN "${CMAKE_EXE_LINKER_FLAGS_MSAN} -static-libmsan") - set (CMAKE_EXE_LINKER_FLAGS_TSAN "${CMAKE_EXE_LINKER_FLAGS_TSAN} -static-libtsan") -endif () +if (SANITIZE) + if (SANITIZE STREQUAL "address") + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SAN_FLAGS} -fsanitize=address") + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SAN_FLAGS} -fsanitize=address") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address") + if (MAKE_STATIC_LIBRARIES AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libasan") + endif () + elseif (SANITIZE STREQUAL "memory") + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SAN_FLAGS} -fsanitize=memory") + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SAN_FLAGS} -fsanitize=memory") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=memory") + if (MAKE_STATIC_LIBRARIES AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libmsan") + endif () + elseif (SANITIZE STREQUAL "thread") + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SAN_FLAGS} -fsanitize=thread") + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SAN_FLAGS} -fsanitize=thread") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=thread") + if (MAKE_STATIC_LIBRARIES AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libtsan") + endif () + elseif (SANITIZE STREQUAL "undefined") + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SAN_FLAGS} -fsanitize=undefined") + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SAN_FLAGS} -fsanitize=undefined") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined") + if (MAKE_STATIC_LIBRARIES AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libubsan") + endif () + else () + message (FATAL_ERROR "Unknown sanitizer type: ${SANITIZE}") + endif () +endif() diff --git a/contrib/mariadb-connector-c-cmake/linux_x86_64/include/mariadb_version.h b/contrib/mariadb-connector-c-cmake/linux_x86_64/include/mariadb_version.h index 21c14178454..821a7f8add2 100644 --- a/contrib/mariadb-connector-c-cmake/linux_x86_64/include/mariadb_version.h +++ b/contrib/mariadb-connector-c-cmake/linux_x86_64/include/mariadb_version.h @@ -15,7 +15,7 @@ #define MARIADB_VERSION_ID 100306 #define MYSQL_VERSION_ID 100306 #define MARIADB_PORT 3306 -#define MARIADB_UNIX_ADDR "/tmp/mysql.sock" +#define MARIADB_UNIX_ADDR "/var/run/mysqld/mysqld.sock" #define MYSQL_CONFIG_NAME "my" #define MARIADB_PACKAGE_VERSION "3.0.6" diff --git a/dbms/programs/client/Client.cpp b/dbms/programs/client/Client.cpp index cbcb69abb31..a52dadcc5dc 100644 --- a/dbms/programs/client/Client.cpp +++ b/dbms/programs/client/Client.cpp @@ -204,6 +204,7 @@ private: bool is_interactive = true; /// Use either readline interface or batch mode. bool need_render_progress = true; /// Render query execution progress. bool echo_queries = false; /// Print queries before execution in batch mode. + bool ignore_error = false; /// In case of errors, don't print error message, continue to next query. Only applicable for non-interactive mode. bool print_time_to_stderr = false; /// Output execution time to stderr in batch mode. bool stdin_is_not_tty = false; /// stdin is not a terminal. @@ -474,6 +475,7 @@ private: { need_render_progress = config().getBool("progress", false); echo_queries = config().getBool("echo", false); + ignore_error = config().getBool("ignore-error", false); } connect(); @@ -765,7 +767,6 @@ private: bool process(const String & text) { - const auto ignore_error = config().getBool("ignore-error", false); const bool test_mode = config().has("testmode"); if (config().has("multiquery")) { @@ -823,7 +824,7 @@ private: { last_exception = std::make_unique(getCurrentExceptionMessage(true), getCurrentExceptionCode()); actual_client_error = last_exception->code(); - if (!actual_client_error || actual_client_error != expected_client_error) + if (!ignore_error && (!actual_client_error || actual_client_error != expected_client_error)) std::cerr << "Error on processing query: " << query << std::endl << last_exception->message(); got_exception = true; } diff --git a/dbms/src/Common/Config/ConfigProcessor.cpp b/dbms/src/Common/Config/ConfigProcessor.cpp index 112ea7e5fdc..95189affce8 100644 --- a/dbms/src/Common/Config/ConfigProcessor.cpp +++ b/dbms/src/Common/Config/ConfigProcessor.cpp @@ -406,9 +406,6 @@ ConfigProcessor::Files ConfigProcessor::getConfigMergeFiles(const std::string & /// Add path_to_config/conf.d dir merge_dir_path.setBaseName("conf"); merge_dirs.insert(merge_dir_path.toString()); - /// Add path_to_config/config.d dir - merge_dir_path.setBaseName("config"); - merge_dirs.insert(merge_dir_path.toString()); for (const std::string & merge_dir_name : merge_dirs) { diff --git a/dbms/src/Common/FileChecker.cpp b/dbms/src/Common/FileChecker.cpp index e3b1db745ca..bd8e00e38c0 100644 --- a/dbms/src/Common/FileChecker.cpp +++ b/dbms/src/Common/FileChecker.cpp @@ -95,13 +95,14 @@ void FileChecker::save() const /// So complex JSON structure - for compatibility with the old format. writeCString("{\"yandex\":{", out); + auto settings = FormatSettings(); for (auto it = map.begin(); it != map.end(); ++it) { if (it != map.begin()) writeString(",", out); /// `escapeForFileName` is not really needed. But it is left for compatibility with the old code. - writeJSONString(escapeForFileName(it->first), out); + writeJSONString(escapeForFileName(it->first), out, settings); writeString(":{\"size\":\"", out); writeIntText(it->second, out); writeString("\"}", out); diff --git a/dbms/src/DataTypes/DataTypeAggregateFunction.cpp b/dbms/src/DataTypes/DataTypeAggregateFunction.cpp index 86d96ece5f2..f005f2e2eea 100644 --- a/dbms/src/DataTypes/DataTypeAggregateFunction.cpp +++ b/dbms/src/DataTypes/DataTypeAggregateFunction.cpp @@ -212,9 +212,9 @@ void DataTypeAggregateFunction::deserializeTextQuoted(IColumn & column, ReadBuff } -void DataTypeAggregateFunction::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings &) const +void DataTypeAggregateFunction::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings) const { - writeJSONString(serializeToString(function, column, row_num), ostr); + writeJSONString(serializeToString(function, column, row_num), ostr, settings); } diff --git a/dbms/src/DataTypes/DataTypeEnum.cpp b/dbms/src/DataTypes/DataTypeEnum.cpp index e9b87670928..bdc27e3f1be 100644 --- a/dbms/src/DataTypes/DataTypeEnum.cpp +++ b/dbms/src/DataTypes/DataTypeEnum.cpp @@ -165,9 +165,9 @@ void DataTypeEnum::deserializeTextQuoted(IColumn & column, ReadBuffer & is } template -void DataTypeEnum::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings &) const +void DataTypeEnum::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings) const { - writeJSONString(getNameForValue(static_cast(column).getData()[row_num]), ostr); + writeJSONString(getNameForValue(static_cast(column).getData()[row_num]), ostr, settings); } template diff --git a/dbms/src/DataTypes/DataTypeFixedString.cpp b/dbms/src/DataTypes/DataTypeFixedString.cpp index ad875c4f85e..c256c5e6214 100644 --- a/dbms/src/DataTypes/DataTypeFixedString.cpp +++ b/dbms/src/DataTypes/DataTypeFixedString.cpp @@ -168,10 +168,10 @@ void DataTypeFixedString::deserializeTextQuoted(IColumn & column, ReadBuffer & i } -void DataTypeFixedString::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings &) const +void DataTypeFixedString::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings) const { const char * pos = reinterpret_cast(&static_cast(column).getChars()[n * row_num]); - writeJSONString(pos, pos + n, ostr); + writeJSONString(pos, pos + n, ostr, settings); } diff --git a/dbms/src/DataTypes/DataTypeString.cpp b/dbms/src/DataTypes/DataTypeString.cpp index 671d1b2d3a5..308c3e04957 100644 --- a/dbms/src/DataTypes/DataTypeString.cpp +++ b/dbms/src/DataTypes/DataTypeString.cpp @@ -262,9 +262,9 @@ void DataTypeString::deserializeTextQuoted(IColumn & column, ReadBuffer & istr, } -void DataTypeString::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings &) const +void DataTypeString::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings) const { - writeJSONString(static_cast(column).getDataAt(row_num), ostr); + writeJSONString(static_cast(column).getDataAt(row_num), ostr, settings); } diff --git a/dbms/src/Formats/FormatFactory.cpp b/dbms/src/Formats/FormatFactory.cpp index b6c6b131c77..a1910492afd 100644 --- a/dbms/src/Formats/FormatFactory.cpp +++ b/dbms/src/Formats/FormatFactory.cpp @@ -60,6 +60,7 @@ BlockOutputStreamPtr FormatFactory::getOutput(const String & name, WriteBuffer & FormatSettings format_settings; format_settings.json.quote_64bit_integers = settings.output_format_json_quote_64bit_integers; format_settings.json.quote_denormals = settings.output_format_json_quote_denormals; + format_settings.json.escape_forward_slashes = settings.output_format_json_escape_forward_slashes; format_settings.csv.delimiter = settings.format_csv_delimiter; format_settings.csv.allow_single_quotes = settings.format_csv_allow_single_quotes; format_settings.csv.allow_double_quotes = settings.format_csv_allow_double_quotes; diff --git a/dbms/src/Formats/FormatSettings.h b/dbms/src/Formats/FormatSettings.h index ad951bd798f..d6779116807 100644 --- a/dbms/src/Formats/FormatSettings.h +++ b/dbms/src/Formats/FormatSettings.h @@ -17,6 +17,7 @@ struct FormatSettings { bool quote_64bit_integers = true; bool quote_denormals = true; + bool escape_forward_slashes = true; }; JSON json; diff --git a/dbms/src/Formats/JSONEachRowRowOutputStream.cpp b/dbms/src/Formats/JSONEachRowRowOutputStream.cpp index fec80cd1421..40508b36856 100644 --- a/dbms/src/Formats/JSONEachRowRowOutputStream.cpp +++ b/dbms/src/Formats/JSONEachRowRowOutputStream.cpp @@ -18,7 +18,7 @@ JSONEachRowRowOutputStream::JSONEachRowRowOutputStream(WriteBuffer & ostr_, cons for (size_t i = 0; i < columns; ++i) { WriteBufferFromString out(fields[i]); - writeJSONString(sample.getByPosition(i).name, out); + writeJSONString(sample.getByPosition(i).name, out, settings); } } diff --git a/dbms/src/Formats/JSONRowOutputStream.cpp b/dbms/src/Formats/JSONRowOutputStream.cpp index a549ff4395f..89f57669a3e 100644 --- a/dbms/src/Formats/JSONRowOutputStream.cpp +++ b/dbms/src/Formats/JSONRowOutputStream.cpp @@ -21,7 +21,7 @@ JSONRowOutputStream::JSONRowOutputStream(WriteBuffer & ostr_, const Block & samp need_validate_utf8 = true; WriteBufferFromOwnString out; - writeJSONString(fields[i].name, out); + writeJSONString(fields[i].name, out, settings); fields[i].name = out.str(); } @@ -50,7 +50,7 @@ void JSONRowOutputStream::writePrefix() writeString(fields[i].name, *ostr); writeCString(",\n", *ostr); writeCString("\t\t\t\"type\": ", *ostr); - writeJSONString(fields[i].type->getName(), *ostr); + writeJSONString(fields[i].type->getName(), *ostr, settings); writeChar('\n', *ostr); writeCString("\t\t}", *ostr); @@ -149,7 +149,7 @@ void JSONRowOutputStream::writeTotals() writeCString(",\n", *ostr); writeCString("\t\t", *ostr); - writeJSONString(column.name, *ostr); + writeJSONString(column.name, *ostr, settings); writeCString(": ", *ostr); column.type->serializeTextJSON(*column.column.get(), 0, *ostr, settings); } @@ -176,7 +176,7 @@ static void writeExtremesElement(const char * title, const Block & extremes, siz writeCString(",\n", ostr); writeCString("\t\t\t", ostr); - writeJSONString(column.name, ostr); + writeJSONString(column.name, ostr, settings); writeCString(": ", ostr); column.type->serializeTextJSON(*column.column.get(), row_num, ostr, settings); } diff --git a/dbms/src/IO/WriteHelpers.h b/dbms/src/IO/WriteHelpers.h index e45edf8b836..932b0744d0c 100644 --- a/dbms/src/IO/WriteHelpers.h +++ b/dbms/src/IO/WriteHelpers.h @@ -23,6 +23,7 @@ #include #include #include +#include namespace DB @@ -173,7 +174,7 @@ inline void writeString(const StringRef & ref, WriteBuffer & buf) * - it is assumed that string is in UTF-8, the invalid UTF-8 is not processed * - all other non-ASCII characters remain as is */ -inline void writeJSONString(const char * begin, const char * end, WriteBuffer & buf) +inline void writeJSONString(const char * begin, const char * end, WriteBuffer & buf, const FormatSettings & settings) { writeChar('"', buf); for (const char * it = begin; it != end; ++it) @@ -205,7 +206,8 @@ inline void writeJSONString(const char * begin, const char * end, WriteBuffer & writeChar('\\', buf); break; case '/': - writeChar('\\', buf); + if (settings.json.escape_forward_slashes) + writeChar('\\', buf); writeChar('/', buf); break; case '"': @@ -311,15 +313,15 @@ void writeAnyEscapedString(const char * begin, const char * end, WriteBuffer & b } -inline void writeJSONString(const String & s, WriteBuffer & buf) +inline void writeJSONString(const String & s, WriteBuffer & buf, const FormatSettings & settings) { - writeJSONString(s.data(), s.data() + s.size(), buf); + writeJSONString(s.data(), s.data() + s.size(), buf, settings); } -inline void writeJSONString(const StringRef & ref, WriteBuffer & buf) +inline void writeJSONString(const StringRef & ref, WriteBuffer & buf, const FormatSettings & settings) { - writeJSONString(ref.data, ref.data + ref.size, buf); + writeJSONString(ref.data, ref.data + ref.size, buf, settings); } diff --git a/dbms/src/Interpreters/InterpreterSelectQuery.cpp b/dbms/src/Interpreters/InterpreterSelectQuery.cpp index 720d10d0a1a..951ac03a2e5 100644 --- a/dbms/src/Interpreters/InterpreterSelectQuery.cpp +++ b/dbms/src/Interpreters/InterpreterSelectQuery.cpp @@ -212,7 +212,7 @@ InterpreterSelectQuery::InterpreterSelectQuery( /// Calculate structure of the result. { Pipeline pipeline; - executeImpl(pipeline, input, true); + executeImpl(pipeline, nullptr, true); result_header = pipeline.firstStream()->getHeader(); } } @@ -360,9 +360,6 @@ InterpreterSelectQuery::AnalysisResult InterpreterSelectQuery::analyzeExpression void InterpreterSelectQuery::executeImpl(Pipeline & pipeline, const BlockInputStreamPtr & input, bool dry_run) { - if (input) - pipeline.streams.push_back(input); - /** Streams of data. When the query is executed in parallel, we have several data streams. * If there is no GROUP BY, then perform all operations before ORDER BY and LIMIT in parallel, then * if there is an ORDER BY, then glue the streams using UnionBlockInputStream, and then MergeSortingBlockInputStream, @@ -382,6 +379,9 @@ void InterpreterSelectQuery::executeImpl(Pipeline & pipeline, const BlockInputSt } else { + if (input) + pipeline.streams.push_back(input); + /** Read the data from Storage. from_stage - to what stage the request was completed in Storage. */ QueryProcessingStage::Enum from_stage = executeFetchColumns(pipeline); diff --git a/dbms/src/Interpreters/Settings.h b/dbms/src/Interpreters/Settings.h index 3d61538f68e..d0753ea3c9e 100644 --- a/dbms/src/Interpreters/Settings.h +++ b/dbms/src/Interpreters/Settings.h @@ -154,6 +154,8 @@ struct Settings \ M(SettingBool, output_format_json_quote_denormals, false, "Enables '+nan', '-nan', '+inf', '-inf' outputs in JSON output format.") \ \ + M(SettingBool, output_format_json_escape_forward_slashes, true, "Controls escaping forward slashes for string outputs in JSON output format. This is intended for compatibility with JavaScript. Don't confuse with backslashes that are always escaped.") \ + \ M(SettingUInt64, output_format_pretty_max_rows, 10000, "Rows limit for Pretty formats.") \ M(SettingBool, output_format_pretty_color, true, "Use ANSI escape sequences to paint colors in Pretty formats") \ \ diff --git a/dbms/src/Storages/StorageSet.cpp b/dbms/src/Storages/StorageSet.cpp index 87f73141bc9..194b9ec4e34 100644 --- a/dbms/src/Storages/StorageSet.cpp +++ b/dbms/src/Storages/StorageSet.cpp @@ -81,8 +81,8 @@ void SetOrJoinBlockOutputStream::writeSuffix() BlockOutputStreamPtr StorageSetOrJoinBase::write(const ASTPtr & /*query*/, const Settings & /*settings*/) { - ++increment; - return std::make_shared(*this, path, path + "tmp/", toString(increment) + ".bin"); + UInt64 id = ++increment; + return std::make_shared(*this, path, path + "tmp/", toString(id) + ".bin"); } diff --git a/dbms/src/Storages/StorageSet.h b/dbms/src/Storages/StorageSet.h index eca716eadb9..400e9670349 100644 --- a/dbms/src/Storages/StorageSet.h +++ b/dbms/src/Storages/StorageSet.h @@ -36,7 +36,7 @@ protected: String path; String table_name; - UInt64 increment = 0; /// For the backup file names. + std::atomic increment = 0; /// For the backup file names. /// Restore from backup. void restore(); diff --git a/dbms/tests/clickhouse-test b/dbms/tests/clickhouse-test index a12ef5250e1..e8e1f940bff 100755 --- a/dbms/tests/clickhouse-test +++ b/dbms/tests/clickhouse-test @@ -125,7 +125,7 @@ def main(args): failures = 0 failures_chain = 0 if 'stateful' in suite and not is_data_present(): - print("Won't run stateful tests because test data wasn't loaded. See README.txt.") + print("Won't run stateful tests because test data wasn't loaded.") continue # Reverse sort order: we want run newest test first. diff --git a/dbms/tests/instructions/sanitizers.md b/dbms/tests/instructions/sanitizers.md index 5c8b464703e..ad7ce179927 100644 --- a/dbms/tests/instructions/sanitizers.md +++ b/dbms/tests/instructions/sanitizers.md @@ -6,12 +6,10 @@ Note: We use Address Sanitizer to run functional tests for every commit automati mkdir build && cd build ``` -Note: -ENABLE_TCMALLOC=0 is optional. -CC=clang CXX=clang++ is strongly recommended. +Note: using clang instead of gcc is strongly recommended. ``` -CC=clang CXX=clang++ cmake -D CMAKE_BUILD_TYPE=ASan -D ENABLE_TCMALLOC=0 .. +CC=clang CXX=clang++ cmake -D SANITIZE=address .. ninja ``` @@ -37,7 +35,7 @@ mkdir build && cd build ## Note: All parameters are mandatory. ``` -CC=clang CXX=clang++ cmake -D CMAKE_BUILD_TYPE=TSan -D ENABLE_TCMALLOC=0 .. +CC=clang CXX=clang++ cmake -D SANITIZE=thread .. ninja ``` @@ -75,5 +73,5 @@ mkdir build && cd build ``` ``` -CC=clang CXX=clang++ cmake -D CMAKE_BUILD_TYPE=MSan -D LIBCXX_PATH=/home/milovidov/libcxx_msan .. +CC=clang CXX=clang++ cmake -D SANITIZE=memory -D LIBCXX_PATH=/home/milovidov/libcxx_msan .. ``` diff --git a/dbms/tests/queries/0_stateless/00651_default_database_on_client_reconnect.sh b/dbms/tests/queries/0_stateless/00651_default_database_on_client_reconnect.sh index 9a841c8d75d..8fad8b96100 100755 --- a/dbms/tests/queries/0_stateless/00651_default_database_on_client_reconnect.sh +++ b/dbms/tests/queries/0_stateless/00651_default_database_on_client_reconnect.sh @@ -3,4 +3,4 @@ CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) . $CURDIR/../shell_config.sh -${CLICKHOUSE_CLIENT} --ignore-error --multiquery --query "USE test; DROP TABLE IF EXISTS tab; CREATE TABLE tab (val UInt64) engine = Memory; SHOW CREATE TABLE tab format abcd; DESC tab; DROP TABLE tab;" 2> /dev/null +${CLICKHOUSE_CLIENT} --ignore-error --multiquery --query "USE test; DROP TABLE IF EXISTS tab; CREATE TABLE tab (val UInt64) engine = Memory; SHOW CREATE TABLE tab format abcd; DESC tab; DROP TABLE tab;" ||: 2> /dev/null diff --git a/dbms/tests/queries/0_stateless/00685_output_format_json_escape_forward_slashes.reference b/dbms/tests/queries/0_stateless/00685_output_format_json_escape_forward_slashes.reference new file mode 100644 index 00000000000..d415e95f350 --- /dev/null +++ b/dbms/tests/queries/0_stateless/00685_output_format_json_escape_forward_slashes.reference @@ -0,0 +1,2 @@ +{"url":"\/some\/cool\/url"} +{"url":"/some/cool/url"} diff --git a/dbms/tests/queries/0_stateless/00685_output_format_json_escape_forward_slashes.sql b/dbms/tests/queries/0_stateless/00685_output_format_json_escape_forward_slashes.sql new file mode 100644 index 00000000000..4ed0468b146 --- /dev/null +++ b/dbms/tests/queries/0_stateless/00685_output_format_json_escape_forward_slashes.sql @@ -0,0 +1,4 @@ +SET output_format_json_escape_forward_slashes = 1; +select '/some/cool/url' as url format JSONEachRow; +SET output_format_json_escape_forward_slashes = 0; +select '/some/cool/url' as url format JSONEachRow; diff --git a/dbms/tests/queries/0_stateless/00686_client_exit_code.reference b/dbms/tests/queries/0_stateless/00686_client_exit_code.reference new file mode 100644 index 00000000000..3b20426c050 --- /dev/null +++ b/dbms/tests/queries/0_stateless/00686_client_exit_code.reference @@ -0,0 +1 @@ +108 diff --git a/dbms/tests/queries/0_stateless/00686_client_exit_code.sh b/dbms/tests/queries/0_stateless/00686_client_exit_code.sh new file mode 100755 index 00000000000..996dac1b6bc --- /dev/null +++ b/dbms/tests/queries/0_stateless/00686_client_exit_code.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) +. $CURDIR/../shell_config.sh + +. $CURDIR/mergetree_mutations.lib + +echo "INSERT INTO test.test FORMAT CSV" | ${CLICKHOUSE_CLIENT} -n 2>/dev/null +echo $? diff --git a/dbms/tests/queries/0_stateless/00687_insert_into_mv.reference b/dbms/tests/queries/0_stateless/00687_insert_into_mv.reference new file mode 100644 index 00000000000..71f3536d8da --- /dev/null +++ b/dbms/tests/queries/0_stateless/00687_insert_into_mv.reference @@ -0,0 +1,6 @@ +stest +--- +stest +stest +--- +stest diff --git a/dbms/tests/queries/0_stateless/00687_insert_into_mv.sql b/dbms/tests/queries/0_stateless/00687_insert_into_mv.sql new file mode 100644 index 00000000000..62353839e9a --- /dev/null +++ b/dbms/tests/queries/0_stateless/00687_insert_into_mv.sql @@ -0,0 +1,31 @@ +DROP TABLE IF EXISTS test.test; +DROP TABLE IF EXISTS test.mv_bad; +DROP TABLE IF EXISTS test.mv_good; +DROP TABLE IF EXISTS test.mv_group; + +CREATE TABLE test.test (x String) ENGINE = Null; + +create MATERIALIZED VIEW test.mv_bad (x String) +ENGINE = MergeTree Partition by tuple() order by tuple() +AS SELECT DISTINCT x FROM test.test; + +create MATERIALIZED VIEW test.mv_good (x String) +ENGINE = MergeTree Partition by tuple() order by tuple() +AS SELECT x FROM test.test; + +create MATERIALIZED VIEW test.mv_group (x String) +ENGINE = MergeTree Partition by tuple() order by tuple() +AS SELECT x FROM test.test group by x; + +insert into test.test values ('stest'), ('stest'); + +select * from test.mv_bad; +SELECT '---'; +select * from test.mv_good; +SELECT '---'; +select * from test.mv_group; + +DROP TABLE test.mv_bad; +DROP TABLE test.mv_good; +DROP TABLE test.mv_group; +DROP TABLE test.test; diff --git a/dbms/tests/queries/1_stateful/00001_count_hits.reference b/dbms/tests/queries/1_stateful/00001_count_hits.reference new file mode 100644 index 00000000000..6aa5d5ca5d6 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00001_count_hits.reference @@ -0,0 +1 @@ +8873898 diff --git a/dbms/tests/queries/1_stateful/00001_count_hits.sql b/dbms/tests/queries/1_stateful/00001_count_hits.sql new file mode 100644 index 00000000000..fbad81d70ed --- /dev/null +++ b/dbms/tests/queries/1_stateful/00001_count_hits.sql @@ -0,0 +1 @@ +SELECT count() FROM test.hits diff --git a/dbms/tests/queries/1_stateful/00002_count_visits.reference b/dbms/tests/queries/1_stateful/00002_count_visits.reference new file mode 100644 index 00000000000..57f1a68bec5 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00002_count_visits.reference @@ -0,0 +1 @@ +1676581 diff --git a/dbms/tests/queries/1_stateful/00002_count_visits.sql b/dbms/tests/queries/1_stateful/00002_count_visits.sql new file mode 100644 index 00000000000..8cb9553f744 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00002_count_visits.sql @@ -0,0 +1 @@ +SELECT sum(Sign) FROM test.visits diff --git a/dbms/tests/queries/1_stateful/00003_count_mouse_clicks.reference b/dbms/tests/queries/1_stateful/00003_count_mouse_clicks.reference new file mode 100644 index 00000000000..a0f1f03d797 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00003_count_mouse_clicks.reference @@ -0,0 +1 @@ +5483925 diff --git a/dbms/tests/queries/1_stateful/00003_count_mouse_clicks.sql b/dbms/tests/queries/1_stateful/00003_count_mouse_clicks.sql new file mode 100644 index 00000000000..3ed06b0facb --- /dev/null +++ b/dbms/tests/queries/1_stateful/00003_count_mouse_clicks.sql @@ -0,0 +1 @@ +SELECT count() FROM test.mouse_clicks diff --git a/dbms/tests/queries/1_stateful/00004_top_counters.reference b/dbms/tests/queries/1_stateful/00004_top_counters.reference new file mode 100644 index 00000000000..5667f0332bd --- /dev/null +++ b/dbms/tests/queries/1_stateful/00004_top_counters.reference @@ -0,0 +1,10 @@ +1143050 523264 +731962 475698 +722545 337212 +722889 252197 +2237260 196036 +23057320 147211 +722818 90109 +48221 85379 +19762435 77807 +722884 77492 diff --git a/dbms/tests/queries/1_stateful/00004_top_counters.sql b/dbms/tests/queries/1_stateful/00004_top_counters.sql new file mode 100644 index 00000000000..045f940da42 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00004_top_counters.sql @@ -0,0 +1 @@ +SELECT CounterID, count() AS c FROM test.hits GROUP BY CounterID ORDER BY c DESC LIMIT 10 diff --git a/dbms/tests/queries/1_stateful/00005_filtering.reference b/dbms/tests/queries/1_stateful/00005_filtering.reference new file mode 100644 index 00000000000..d17d98f5402 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00005_filtering.reference @@ -0,0 +1 @@ +30641 diff --git a/dbms/tests/queries/1_stateful/00005_filtering.sql b/dbms/tests/queries/1_stateful/00005_filtering.sql new file mode 100644 index 00000000000..3384685f19f --- /dev/null +++ b/dbms/tests/queries/1_stateful/00005_filtering.sql @@ -0,0 +1,2 @@ +SELECT count() FROM test.hits WHERE AdvEngineID != 0 + diff --git a/dbms/tests/queries/1_stateful/00006_agregates.reference b/dbms/tests/queries/1_stateful/00006_agregates.reference new file mode 100644 index 00000000000..9e49d438c66 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00006_agregates.reference @@ -0,0 +1 @@ +281146 8873898 1289.4475214837944 diff --git a/dbms/tests/queries/1_stateful/00006_agregates.sql b/dbms/tests/queries/1_stateful/00006_agregates.sql new file mode 100644 index 00000000000..1dcd4a3ee75 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00006_agregates.sql @@ -0,0 +1 @@ +SELECT sum(AdvEngineID), count(), avg(ResolutionWidth) FROM test.hits diff --git a/dbms/tests/queries/1_stateful/00007_uniq.reference b/dbms/tests/queries/1_stateful/00007_uniq.reference new file mode 100644 index 00000000000..10e29f1e3fd --- /dev/null +++ b/dbms/tests/queries/1_stateful/00007_uniq.reference @@ -0,0 +1,10 @@ +213 28 +2 10 +225 7 +17 2 +56 2 +187 2 +4 1 +9 1 +15 1 +16 1 diff --git a/dbms/tests/queries/1_stateful/00007_uniq.sql b/dbms/tests/queries/1_stateful/00007_uniq.sql new file mode 100644 index 00000000000..b602ea63b6e --- /dev/null +++ b/dbms/tests/queries/1_stateful/00007_uniq.sql @@ -0,0 +1 @@ +SELECT RegionID, uniq(UserID) AS u FROM test.hits WHERE CounterID = 34 GROUP BY RegionID ORDER BY u DESC, RegionID LIMIT 10 diff --git a/dbms/tests/queries/1_stateful/00008_uniq.reference b/dbms/tests/queries/1_stateful/00008_uniq.reference new file mode 100644 index 00000000000..e101845cecc --- /dev/null +++ b/dbms/tests/queries/1_stateful/00008_uniq.reference @@ -0,0 +1 @@ +119497 2867 5595 diff --git a/dbms/tests/queries/1_stateful/00008_uniq.sql b/dbms/tests/queries/1_stateful/00008_uniq.sql new file mode 100644 index 00000000000..a80c3b85812 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00008_uniq.sql @@ -0,0 +1 @@ +SELECT uniq(UserID), uniqIf(UserID, CounterID = 1143050), uniqIf(FUniqID, RegionID = 213) FROM test.hits diff --git a/dbms/tests/queries/1_stateful/00009_uniq_distributed.reference b/dbms/tests/queries/1_stateful/00009_uniq_distributed.reference new file mode 100644 index 00000000000..e101845cecc --- /dev/null +++ b/dbms/tests/queries/1_stateful/00009_uniq_distributed.reference @@ -0,0 +1 @@ +119497 2867 5595 diff --git a/dbms/tests/queries/1_stateful/00009_uniq_distributed.sql b/dbms/tests/queries/1_stateful/00009_uniq_distributed.sql new file mode 100644 index 00000000000..b2b99d36d2f --- /dev/null +++ b/dbms/tests/queries/1_stateful/00009_uniq_distributed.sql @@ -0,0 +1 @@ +SELECT uniq(UserID), uniqIf(UserID, CounterID = 1143050), uniqIf(FUniqID, RegionID = 213) FROM remote('127.0.0.{1,2}', test, hits) diff --git a/dbms/tests/queries/1_stateful/00010_quantiles_segfault.reference b/dbms/tests/queries/1_stateful/00010_quantiles_segfault.reference new file mode 100644 index 00000000000..ae9aba98e8d --- /dev/null +++ b/dbms/tests/queries/1_stateful/00010_quantiles_segfault.reference @@ -0,0 +1,3 @@ +http://metrika.yandex.ru/list/ 744 [1995,3123,9638] + + 3762 [968,1789,9638] diff --git a/dbms/tests/queries/1_stateful/00010_quantiles_segfault.sql b/dbms/tests/queries/1_stateful/00010_quantiles_segfault.sql new file mode 100644 index 00000000000..952159c8996 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00010_quantiles_segfault.sql @@ -0,0 +1 @@ +SELECT URL AS `ym:ah:URL`, sum((NOT DontCountHits AND NOT Refresh)), quantilesTimingIf(0.1, 0.5, 0.9)((DOMCompleteTiming + LoadEventEndTiming), DOMCompleteTiming != -1 AND LoadEventEndTiming != -1) as t FROM remote('127.0.0.{1,2}', test, hits) WHERE (CounterID = 101500) AND (((DontCountHits = 0) OR (IsNotBounce = 1)) AND (URL != '')) GROUP BY `ym:ah:URL` WITH TOTALS HAVING (sum((NOT DontCountHits AND NOT Refresh)) > 0) AND (count() > 0) ORDER BY sum((NOT DontCountHits AND NOT Refresh)) DESC, URL LIMIT 0, 1 diff --git a/dbms/tests/queries/1_stateful/00011_sorting.reference b/dbms/tests/queries/1_stateful/00011_sorting.reference new file mode 100644 index 00000000000..138e8df8fe4 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00011_sorting.reference @@ -0,0 +1,10 @@ +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 diff --git a/dbms/tests/queries/1_stateful/00011_sorting.sql b/dbms/tests/queries/1_stateful/00011_sorting.sql new file mode 100644 index 00000000000..8c6ae457566 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00011_sorting.sql @@ -0,0 +1 @@ +SELECT EventTime FROM test.hits ORDER BY EventTime DESC LIMIT 10 diff --git a/dbms/tests/queries/1_stateful/00012_sorting_distributed.reference b/dbms/tests/queries/1_stateful/00012_sorting_distributed.reference new file mode 100644 index 00000000000..138e8df8fe4 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00012_sorting_distributed.reference @@ -0,0 +1,10 @@ +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 diff --git a/dbms/tests/queries/1_stateful/00012_sorting_distributed.sql b/dbms/tests/queries/1_stateful/00012_sorting_distributed.sql new file mode 100644 index 00000000000..51f249b3db8 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00012_sorting_distributed.sql @@ -0,0 +1 @@ +SELECT EventTime FROM remote('127.0.0.{1,2}', test, hits) ORDER BY EventTime DESC LIMIT 10 diff --git a/dbms/tests/queries/1_stateful/00013_sorting_of_nested.reference b/dbms/tests/queries/1_stateful/00013_sorting_of_nested.reference new file mode 100644 index 00000000000..cb1cd2eed44 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00013_sorting_of_nested.reference @@ -0,0 +1,10 @@ +['city','place'] +['city','place'] +['city','place'] +['city','place'] +['region','cat','region','cat','region','cat'] +['region','cat'] +['Логин'] +['region','cat'] +['region','cat'] +['region','cat'] diff --git a/dbms/tests/queries/1_stateful/00013_sorting_of_nested.sql b/dbms/tests/queries/1_stateful/00013_sorting_of_nested.sql new file mode 100644 index 00000000000..44f7684d746 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00013_sorting_of_nested.sql @@ -0,0 +1,2 @@ +SELECT ParsedParams.Key1 FROM test.visits FINAL WHERE VisitID != 0 AND notEmpty(ParsedParams.Key1) ORDER BY VisitID LIMIT 10 + diff --git a/dbms/tests/queries/1_stateful/00014_filtering_arrays.reference b/dbms/tests/queries/1_stateful/00014_filtering_arrays.reference new file mode 100644 index 00000000000..d431d8935c1 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00014_filtering_arrays.reference @@ -0,0 +1,10 @@ +[3691,2864,3579,99,3201,118,11,461,459,88] +[3579,3281,37,3,118,2,11,8,600,38,9,2333] +[3579,3281,37,3,118,2,11,8,600,38,9,2333] +[3579,3281,37,3,118,2,11,8,600,38,9,2333] +[3579,3281,37,3,118,2,11,8,600,38,9,2333] +[3579,3281,37,3,118,2,11,8,600,38,9,2333] +[3579,3281,37,3,118,2,11,8,600,38,9,2333] +[3579,3281,37,3,118,2,11,8,600,38,9,2333] +[3579,2865,9,332,88,102,437,95,448,98,89] +[3579,2865,9,332,88,102,437,95,448,98,89] diff --git a/dbms/tests/queries/1_stateful/00014_filtering_arrays.sql b/dbms/tests/queries/1_stateful/00014_filtering_arrays.sql new file mode 100644 index 00000000000..ba83b124ee7 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00014_filtering_arrays.sql @@ -0,0 +1 @@ +SELECT GeneralInterests FROM test.hits WHERE AdvEngineID != 0 ORDER BY GeneralInterests DESC LIMIT 10 diff --git a/dbms/tests/queries/1_stateful/00015_totals_and_no_aggregate_functions.reference b/dbms/tests/queries/1_stateful/00015_totals_and_no_aggregate_functions.reference new file mode 100644 index 00000000000..78c0c2298d3 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00015_totals_and_no_aggregate_functions.reference @@ -0,0 +1,27 @@ +0 +2 +3 +7 +14 +15 +17 +18 +19 +26 +27 +33 +34 +35 +36 +37 +38 +39 +40 +41 +46 +47 +48 +49 +50 + +0 diff --git a/dbms/tests/queries/1_stateful/00015_totals_and_no_aggregate_functions.sql b/dbms/tests/queries/1_stateful/00015_totals_and_no_aggregate_functions.sql new file mode 100644 index 00000000000..f17272de57d --- /dev/null +++ b/dbms/tests/queries/1_stateful/00015_totals_and_no_aggregate_functions.sql @@ -0,0 +1 @@ +SELECT AdvEngineID FROM test.hits GROUP BY AdvEngineID WITH TOTALS ORDER BY AdvEngineID diff --git a/dbms/tests/queries/1_stateful/00016_any_if_distributed_cond_always_false.reference b/dbms/tests/queries/1_stateful/00016_any_if_distributed_cond_always_false.reference new file mode 100644 index 00000000000..8b137891791 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00016_any_if_distributed_cond_always_false.reference @@ -0,0 +1 @@ + diff --git a/dbms/tests/queries/1_stateful/00016_any_if_distributed_cond_always_false.sql b/dbms/tests/queries/1_stateful/00016_any_if_distributed_cond_always_false.sql new file mode 100644 index 00000000000..8beedd09e4e --- /dev/null +++ b/dbms/tests/queries/1_stateful/00016_any_if_distributed_cond_always_false.sql @@ -0,0 +1 @@ +SELECT anyIf(SearchPhrase, CounterID = -1) FROM remote('127.0.0.{1,2}:9000', test, hits) diff --git a/dbms/tests/queries/1_stateful/00017_aggregation_uninitialized_memory.reference b/dbms/tests/queries/1_stateful/00017_aggregation_uninitialized_memory.reference new file mode 100644 index 00000000000..838d0e2d7ae --- /dev/null +++ b/dbms/tests/queries/1_stateful/00017_aggregation_uninitialized_memory.reference @@ -0,0 +1,47 @@ +goal://metrika.yandex.ru/add_counter_submit x +http://aist5.ru/ x +http://avg.nation.com/ x +http://avito.ru/ x +http://baraholka.leprosorium.ru/ x +http://bonum.spb.ru/ x +http://clck.yandex.ru/ x +http://clubs.ya.ru/ x +http://direct.yandex.ru/ x +http://facebook.com/ x +http://go.mail.ru/ x +http://google.com.kw/ x +http://google.com/ x +http://google.ru/ x +http://help.yandex.ru/ x +http://hghltd.yandex.net/ x +http://i.yandex.ru/ x +http://krdshop.ru/ x +http://lavkafreida.ru/ x +http://link.2gis.ru/ x +http://m.avito.ru/ x +http://m.vk.com/ x +http://market-preview.yandex.ru/ x +http://market.yandex.ru/ x +http://metrika.yandex.ru/ x +http://metrika.yandex.ua/ x +http://music.yandex.ru/ x +http://news.mail.ru/ x +http://news.yandex.ru/ x +http://partners.yandex.ru/ x +http://passport.yandex.ru/ x +http://postoffice.yandex.ru/ x +http://profkosmetika.net/ x +http://semalt.com/ x +http://shops.pp.ru/ x +http://site.yandex.ru/ x +http://stadium.mvc/ x +http://topas-eco.ru/ x +http://translate.googleusercontent.com/ x +http://virage24.ru/ x +http://vk.com/ x +http://webmaster.yandex.ru/ x +http://yaca.yandex.ru/ x +http://yandex.kz/ x +http://yandex.ru/ x +http://yandex.ua/ x +http://у-полины.рф/ x diff --git a/dbms/tests/queries/1_stateful/00017_aggregation_uninitialized_memory.sql b/dbms/tests/queries/1_stateful/00017_aggregation_uninitialized_memory.sql new file mode 100644 index 00000000000..c7cecc1e7df --- /dev/null +++ b/dbms/tests/queries/1_stateful/00017_aggregation_uninitialized_memory.sql @@ -0,0 +1,2 @@ +SELECT DISTINCT (URLHierarchy(URL)[1]) AS q, 'x' AS w FROM test.hits WHERE CounterID = 101500 ORDER BY URL + diff --git a/dbms/tests/queries/1_stateful/00020_distinct_order_by_distributed.reference b/dbms/tests/queries/1_stateful/00020_distinct_order_by_distributed.reference new file mode 100644 index 00000000000..b9e5dd760c9 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00020_distinct_order_by_distributed.reference @@ -0,0 +1 @@ +540 diff --git a/dbms/tests/queries/1_stateful/00020_distinct_order_by_distributed.sql b/dbms/tests/queries/1_stateful/00020_distinct_order_by_distributed.sql new file mode 100644 index 00000000000..c3c726e4ca7 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00020_distinct_order_by_distributed.sql @@ -0,0 +1,2 @@ +SET max_rows_to_sort = 10000; +SELECT count() FROM (SELECT DISTINCT PredLastVisit AS x FROM remote('127.0.0.{1,2}', test, visits) ORDER BY VisitID); diff --git a/dbms/tests/queries/1_stateful/00021_1_select_with_in.reference b/dbms/tests/queries/1_stateful/00021_1_select_with_in.reference new file mode 100644 index 00000000000..9e7ad722a07 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00021_1_select_with_in.reference @@ -0,0 +1 @@ +108133 diff --git a/dbms/tests/queries/1_stateful/00021_1_select_with_in.sql b/dbms/tests/queries/1_stateful/00021_1_select_with_in.sql new file mode 100644 index 00000000000..2293985b1de --- /dev/null +++ b/dbms/tests/queries/1_stateful/00021_1_select_with_in.sql @@ -0,0 +1 @@ +select sum(Sign) from test.visits where CounterID in (722545); diff --git a/dbms/tests/queries/1_stateful/00021_2_select_with_in.reference b/dbms/tests/queries/1_stateful/00021_2_select_with_in.reference new file mode 100644 index 00000000000..5ad12a6617e --- /dev/null +++ b/dbms/tests/queries/1_stateful/00021_2_select_with_in.reference @@ -0,0 +1 @@ +210797 diff --git a/dbms/tests/queries/1_stateful/00021_2_select_with_in.sql b/dbms/tests/queries/1_stateful/00021_2_select_with_in.sql new file mode 100644 index 00000000000..b4005b8f24a --- /dev/null +++ b/dbms/tests/queries/1_stateful/00021_2_select_with_in.sql @@ -0,0 +1 @@ +select sum(Sign) from test.visits where CounterID in (722545, 731962); diff --git a/dbms/tests/queries/1_stateful/00021_3_select_with_in.reference b/dbms/tests/queries/1_stateful/00021_3_select_with_in.reference new file mode 100644 index 00000000000..8dbdb2f57fd --- /dev/null +++ b/dbms/tests/queries/1_stateful/00021_3_select_with_in.reference @@ -0,0 +1,2 @@ +1 +2417 diff --git a/dbms/tests/queries/1_stateful/00021_3_select_with_in.sql b/dbms/tests/queries/1_stateful/00021_3_select_with_in.sql new file mode 100644 index 00000000000..9c473ca71a1 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00021_3_select_with_in.sql @@ -0,0 +1,3 @@ +select 1 IN (1, 2, 3); + +SELECT count() FROM remote('localhost', test, hits) WHERE CounterID IN (101500); diff --git a/dbms/tests/queries/1_stateful/00022_merge_prewhere.reference b/dbms/tests/queries/1_stateful/00022_merge_prewhere.reference new file mode 100644 index 00000000000..065392a8670 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00022_merge_prewhere.reference @@ -0,0 +1,2 @@ +22948 +22948 diff --git a/dbms/tests/queries/1_stateful/00022_merge_prewhere.sql b/dbms/tests/queries/1_stateful/00022_merge_prewhere.sql new file mode 100644 index 00000000000..74a3677b68e --- /dev/null +++ b/dbms/tests/queries/1_stateful/00022_merge_prewhere.sql @@ -0,0 +1,5 @@ +DROP TABLE IF EXISTS test.merge_hits; +CREATE TABLE IF NOT EXISTS test.merge_hits AS test.hits ENGINE = Merge(test, '^hits$'); +SELECT count() FROM test.merge_hits WHERE AdvEngineID = 2; +SELECT count() FROM test.merge_hits PREWHERE AdvEngineID = 2; +DROP TABLE test.merge_hits; diff --git a/dbms/tests/queries/1_stateful/00023_totals_limit.reference b/dbms/tests/queries/1_stateful/00023_totals_limit.reference new file mode 100644 index 00000000000..0be276a358c --- /dev/null +++ b/dbms/tests/queries/1_stateful/00023_totals_limit.reference @@ -0,0 +1,24 @@ +{ + "meta": + [ + { + "name": "ym:s:goalDimension", + "type": "UInt32" + }, + { + "name": "uniqIf(UserID, and(notEquals(UserID, 0), equals(_uniq_Goals, 1)))", + "type": "UInt64" + } + ], + + "data": + [ + [3176497, "3"] + ], + + "totals": [0,"3"], + + "rows": 1, + + "rows_before_limit_at_least": 2 +} diff --git a/dbms/tests/queries/1_stateful/00023_totals_limit.sql b/dbms/tests/queries/1_stateful/00023_totals_limit.sql new file mode 100644 index 00000000000..849b39b2782 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00023_totals_limit.sql @@ -0,0 +1,2 @@ +SET output_format_write_statistics = 0; +SELECT goals_alias.ID AS `ym:s:goalDimension`, uniqIf(UserID, (UserID != 0) AND (`_uniq_Goals` = 1)) FROM test.visits ARRAY JOIN Goals AS goals_alias, arrayEnumerateUniq(Goals.ID) AS `_uniq_Goals` WHERE (CounterID = 101024) GROUP BY `ym:s:goalDimension` WITH TOTALS ORDER BY `ym:s:goalDimension` LIMIT 0, 1 FORMAT JSONCompact; diff --git a/dbms/tests/queries/1_stateful/00024_random_counters.reference b/dbms/tests/queries/1_stateful/00024_random_counters.reference new file mode 100644 index 00000000000..799513a7112 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00024_random_counters.reference @@ -0,0 +1,992 @@ +1 3 5 51 +5 5 6 37 +2 2 2 30 +1 1 7 207 +5 5 21 1049 +3 4 13 598 +2 3 5 1059 +4 5 11 460 +3 11 11 30 +2 3 34 1930 +1 1 1 0 +52 192 268 34081 +1 1 1 0 +4 5 12 2256 +2 2 3 176 +3 4 29 2078 +1 1 1 0 +3 5 12 566 +1 1 1 15 +1 2 2 48 +1 1 30 2054 +1 1 1 15 +255 406 596 42463 +2 2 2 32 +1 1 1 15 +1 1 2 7 +1 1 7 146 +1 1 1 27 +1 1 4 373 +1 1 1 20 +1 2 2 0 +1 1 1 0 +1 1 1 0 +1 1 4 31 +1 2 2 0 +1 1 2 204 +1 1 5 212 +5 5 6 233 +1 1 1 0 +1 1 1 16 +1 1 2 1 +1 2 6 40 +2 2 2 18 +1 1 1 17 +1 1 1 15 +2 2 2 16 +1 1 1 15 +1 1 1 15 +1 1 1 0 +15 34 83 2850 +1 1 1 15 +4 4 19 1806 +1 1 4 177 +41 62 119 12064 +1 1 15 1522 +1 1 1 0 +1 1 1 14 +2 3 10 665 +3 4 5 62 +5 6 35 1790 +1 1 5 33 +1 1 1 16 +1 3 5 36 +1 1 1 15 +2 2 4 407 +25 56 138 7687 +4 5 8 2880 +1 1 1 15 +1 1 1 0 +1 1 1 136 +2 2 2 0 +3 3 6 94 +1 1 1 15 +4 4 5 86 +1 1 1 0 +2 10 21 884 +11 11 11 0 +1 1 1 15 +10 12 17 242 +1 1 2 9 +1 1 1 15 +1 1 10 198 +1 1 5 514 +2 3 4 170 +1 1 1 0 +2 2 3 64 +6 6 19 256 +1 1 1 0 +3 3 3 0 +1 2 12 742 +1 1 1 15 +1 1 2 7 +1 1 1 15 +2 2 19 213 +1 2 8 610 +1 1 1 15 +1 1 5 159 +1 1 1 0 +1 1 1 0 +2 2 2 23 +6 7 16 3197 +1 1 7 421 +1 1 1 0 +1 1 6 101 +1 1 1 15 +2 6 6 0 +3 3 4 92 +1 1 1 0 +2 2 2 0 +1 1 1 0 +1 1 1 0 +1 1 1 16 +3 3 5 364 +21 26 29 1670 +29 57 137 7881 +1 1 2 87 +1 1 1 0 +4 4 4 0 +5 8 10 1376 +2 2 3 9 +1 1 1 15 +1 1 2 39 +2 3 3 0 +1 1 1 16 +2 2 2 0 +1 1 1 82 +3 3 3 17 +1 1 1 0 +1 1 4 39 +2 2 2 22 +1 1 16 134 +3 3 5 19 +6 6 6 78 +2 2 5 504 +1 1 1 0 +2 2 2 15 +1 1 1 15 +8 8 11 16 +2 2 2 15 +1 1 1 0 +1 1 1 0 +1 1 1 0 +2 2 2 20 +4 4 5 630 +1 1 1 0 +1 1 15 756 +5 7 12 695 +2 2 2 0 +1 1 5 109 +1 2 3 37 +1 1 1 15 +2 3 7 161 +2 2 3 147 +2 2 2 0 +1 1 1 96 +6 8 15 668 +1 2 3 186 +1 1 6 272 +13 14 130 4927 +2 2 2 0 +1 3 7 1139 +2 2 2 0 +2 2 23 2344 +2 2 2 15 +1 1 1 0 +2 2 2 0 +3 3 3 30 +13 14 54 4248 +2 2 2 12 +2 2 4 80 +1 1 1 0 +1 1 4 1582 +1 1 1 15 +62 149 663 34873 +2 3 5 37 +20 30 44 2679 +1 1 1 21 +1 1 3 55 +12 14 81 8433 +1 1 1 0 +579 935 2082 129790 +3 3 3 0 +1 1 1 15 +2 2 2 16 +1 1 2 13 +10 11 43 975 +1 1 2 37 +11 15 50 4375 +1 1 1 0 +1 1 1 15 +1 1 1 15 +1 1 1 0 +3 3 3 0 +17 24 74 7612 +3 5 7 888 +3 3 3 0 +1 1 1 13 +1 1 1 0 +27 28 85 6098 +1 2 9 379 +1 1 6 411 +1 1 1 0 +1 1 1 14 +1 1 11 385 +1 1 3 93 +1 2 5 163 +1 1 5 201 +1 2 8 222 +1 1 1 0 +1 1 1 0 +1 1 7 288 +1 1 4 129 +2 2 5 448 +1 1 1 0 +32 32 89 11357 +1 1 4 150 +1 1 2 13 +10 10 32 2553 +1 1 1 0 +1 1 1 15 +2 2 2 0 +2 2 4 25 +5 7 11 225 +1 1 1 0 +2 2 7 349 +4 4 4 0 +10 12 22 1981 +1 4 4 56 +1 1 1 15 +6 6 6 78 +1 1 3 41 +1 1 3 41 +5 5 7 224 +1 1 2 390 +1 1 1 0 +8 9 9 302 +1 1 1 15 +1 1 1 0 +1 1 2 878 +1 1 2 208 +9 10 15 1911 +1 1 1 12 +1 1 5 116 +6 7 11 283 +5 5 10 215 +1 1 1 0 +3 3 13 278 +2 3 3 44 +4 4 22 480 +7 7 10 332 +1 1 1 0 +3 3 6 404 +1 1 1 0 +1 1 1 0 +1 1 1 15 +2 2 2 0 +1 1 1 0 +2 2 2 0 +1 1 1 0 +2 7 12 339 +32 118 610 104334 +1 7 10 478 +1 1 1 0 +1 1 1 14 +1 1 1 0 +1 1 1 39 +2 3 4 141 +1 4 13 2158 +2 2 5 127 +1 1 4 260 +20 35 61 3086 +1 1 1 0 +1 1 1 15 +2 2 3 15 +1 1 1 15 +2 2 2 30 +5 6 14 3683 +42 47 53 914 +13 15 19 1156 +2 2 4 23 +1 1 2 39 +1 1 1 15 +1 1 33 677 +4 7 27 2015 +1 2 3 1438 +3 3 4 264 +3 3 16 441 +1 1 1 0 +1 1 1 0 +1 1 2 124 +1 1 1 14 +2 2 4 131 +1 1 1 15 +3 3 3 45 +1 1 2 24 +1 1 1 0 +1 1 1 0 +3 3 8 357 +1 1 1 0 +5 10 29 1548 +9 10 16 476 +1 1 2 8 +10 10 11 217 +1 1 1 23 +2 2 2 15 +1 1 1 16 +3 7 110 8681 +2 2 2 15 +1 1 1 13 +1 1 4 186 +96 132 319 18933 +8 9 12 125 +4 9 23 1490 +1 1 7 232 +2 2 2 29 +5 6 14 1130 +1 1 1 0 +1 1 1 15 +4 4 14 472 +1 1 1 15 +1 1 1 0 +1 1 19 224 +7 8 9 747 +1 1 4 1448 +1 1 1 15 +1 1 1 14 +10 10 16 474 +1 1 1 0 +1 1 4 51 +2 2 4 279 +4 8 82 6058 +1 1 1 0 +1 1 1 15 +3 3 3 15 +1 1 1 0 +1 1 1 16 +2 2 6 112 +1 1 2 17 +1 1 3 66 +5 5 11 429 +1 1 1 0 +1 1 1 130 +2 2 2 0 +2 3 77 1397 +2 2 9 458 +1 1 1 15 +2 3 3 15 +1 3 49 3825 +1 2 2 0 +3 3 3 0 +2 2 8 99 +2 2 2 31 +1 1 2 19 +3 3 3 15 +2 2 6 1218 +1 1 1 0 +2 2 11 108 +3 3 13 468 +1 1 2 7 +18 19 33 1067 +1 1 1 0 +1 1 4 10 +1 1 1 0 +5 5 6 15 +3 3 18 365 +1 1 3 74 +1 1 1 1528 +1 1 1 16 +1 4 5 249 +1 1 1 0 +2 3 36 1742 +2 2 2 44 +1 1 2 15 +1 1 2 14 +1 1 1 0 +6 10 50 1045 +1 1 1 0 +2 2 8 477 +1 1 2 150 +1 1 1 0 +1 1 1 0 +1 2 2 31 +1 1 44 2438 +1 1 6 525 +22 26 27 1709 +69 90 109 10068 +3 4 4 0 +1 1 4 101 +1 1 3 20 +1 1 1 14 +2 2 2 30 +1 1 1 0 +3 3 10 431 +2 2 15 1358 +1 1 1 0 +1 1 3 30 +1 1 1 0 +1 1 1 0 +126 137 259 23690 +1 1 3 161 +165 394 478 16574 +12 33 158 26562 +9 11 13 1543 +1 1 1 11 +5 5 38 463 +55 109 818 86084 +1 1 1 0 +1 1 7 148 +22 25 66 2914 +1 1 2 19 +1 1 1 0 +1 1 1 10 +1 1 1 17 +1 2 2 29 +1 1 1 0 +3 3 4 178 +1 1 2 99 +38 77 204 27681 +1 1 4 66 +1 1 3 499 +1 1 1 15 +7 8 18 272 +1 1 1 0 +5 5 7 73 +41 45 102 3500 +1 1 2 15 +1 1 1 0 +1 1 2 52 +1 2 34 1480 +1 1 1 0 +2 4 65 3948 +1 1 6 232 +1 1 2 54 +3 3 3 5 +1 1 1 16 +3 3 8 132 +4 4 8 466 +1 1 2 52 +7 14 49 2326 +1 1 1 0 +1 1 1 15 +1 1 3 421 +1 1 10 800 +1 1 1 0 +577 690 749 28625 +21 25 81 4843 +1 1 1 15 +2 2 3 89 +1 2 2 0 +9 11 13 656 +1 1 1 0 +3 3 5 39 +1 1 1 0 +1 1 4 76 +2 2 8 257 +21 21 41 593 +1 1 2 142 +16 16 25 726 +3 3 3 28 +8 8 13 400 +1 1 1 15 +11 11 55 1184 +1 1 1 0 +1 1 1 15 +3 3 7 269 +1 1 3 246 +10 11 36 3737 +1 1 3 211 +1 1 1 0 +1 1 5 223 +1 1 2 82 +1 1 8 320 +1 1 1 15 +1 1 1 0 +1 1 3 62 +2 2 11 82 +6 6 10 155 +1 1 2 15 +1 1 1 0 +1 1 6 182 +2 3 5 114 +1 1 1 15 +1 1 1 0 +1 1 1 0 +1 1 1 0 +1 1 2 132 +1 1 2 166 +1 1 2 46 +2 4 15 4149 +1 1 1 15 +2 3 26 518 +2 12 179 10619 +1 1 10 94 +1 1 1 15 +1 1 1 0 +1 1 9 385 +11 12 42 4487 +1 1 3 68 +5 5 21 1970 +2 2 13 374 +1 1 1 15 +1 1 11 218 +1 1 2 43 +1 1 1 0 +1 5 22 408 +4 23 61 22041 +1 2 2 0 +1 3 3 45 +1 1 1 15 +1 1 2 75 +1 1 1 14 +2 4 4 203 +8 8 9 71 +3 3 22 1545 +1 1 1 0 +12 13 30 1733 +1 1 1 15 +1 1 2 29 +42 48 69 3275 +7 8 8 146 +1 1 1 0 +1 1 1 16 +2 2 2 141 +1 2 20 320 +1 1 1 25 +1 1 1 15 +1 2 12 2196 +2 2 2 30 +1 1 6 245 +3 3 11 167 +22 34 283 11177 +2 2 2 32 +1 1 2 1460 +4 4 15 1200 +1 1 1 0 +1 1 1 15 +2 2 3 195 +3 21 38 9010 +1 1 1 15 +1 1 1 15 +2 2 2 0 +1 1 1 0 +3 3 7 365 +1 1 16 308 +15 34 212 7055 +1 1 1 0 +2 3 8 115 +1 1 1 15 +3 4 6 40 +1 1 1 15 +1 1 1 15 +1 1 2 23 +3 3 3 30 +1 1 1 14 +2 2 5 53 +3 3 8 1205 +5 5 5 60 +1 1 1 0 +7 8 18 2770 +2 2 9 192 +8 8 15 1420 +1 1 1 16 +18 19 20 28 +1 1 2 1575 +2 2 2 0 +1 1 1 7 +1 1 1 0 +1 1 1 0 +1 1 1 15 +26 28 35 3975 +1 1 2 22 +2 2 2 107 +2 2 4 28 +67 89 147 8602 +1 1 1 26 +1 1 17 923 +4 4 4 45 +1 1 1 0 +1 1 1 15 +6 8 19 646 +1 1 1 0 +1 1 3 319 +1 1 1 0 +12 48 137 10340 +1 1 2 416 +4 4 6 643 +1 1 14 388 +1 1 1 15 +1 1 2 13 +2 2 2 30 +2 2 3 68 +1 1 3 44 +1 1 42 1214 +1 1 1 26 +18 22 136 5471 +1 1 1 16 +1 1 17 3200 +1 1 1 0 +1 1 1 15 +1 1 1 14 +2 2 3 17 +1 1 4 119 +1 1 2 33 +1 1 3 143 +1 1 1 0 +37 42 106 55516 +1 1 1 0 +3 3 3 0 +1 1 1 15 +2 4 6 25 +4 8 34 1243 +12 16 52 2089 +25 26 29 983 +2 5 7 179 +3 4 9 1067 +5 5 8 89 +1 1 4 47 +4 4 4 0 +1 1 1 22 +1 1 7 462 +1 1 5 39 +1 1 1 25 +1 1 1 25 +2 2 9 242 +1 1 1 15 +2 7 8 109 +1 1 9 992 +2 3 3 38 +1 1 1 0 +21 37 48 7793 +2 2 2 33 +7 11 16 1730 +2 3 10 3518 +1 1 1 0 +2 2 2 15 +1 1 1 15 +1 1 1 14 +2 2 3 28 +2 2 2 15 +2 2 2 15 +2 6 27 2204 +1 1 7 275 +1 1 1 16 +14 15 72 2898 +2 2 3 162 +1 1 2 24 +1 1 2 58 +4 10 19 1103 +2 2 13 271 +1 1 3 120 +1 1 1 16 +1 1 1 0 +1 1 1 15 +1 1 1 0 +1 1 1 0 +1 1 1 15 +1 1 1 0 +2 2 2 0 +3 3 7 236 +1 1 3 885 +4 5 7 135 +2 2 14 535 +3 5 15 2132 +3 3 4 48 +1 1 6 1685 +2 2 2 0 +2 2 13 2105 +1 1 5 75 +4 4 4 0 +1 1 1 16 +1 1 1 0 +2 2 3 837 +2 2 6 342 +1 2 27 2847 +1 1 2 6 +2 2 4 69 +2 2 2 0 +22 24 39 3421 +1 1 1 15 +1 1 1 15 +1 1 1 19 +4 6 6 62 +11 16 56 3186 +2 2 9 193 +1 1 1 0 +1 1 1 0 +1 2 3 138 +2 2 14 744 +1 1 1 15 +1 5 7 733 +1 1 1 0 +1 1 1 0 +4 7 18 260 +1 1 1 0 +1 1 1 14 +4 4 13 876 +19 62 248 15699 +2 3 10 100 +1 1 6 350 +1 3 3 46 +1 1 1 0 +1 1 1 0 +1 5 6 968 +3 3 3 0 +1 1 2 12 +1 1 1 0 +1 1 3 56 +1 4 20 355 +1 1 2 60 +1 1 1 14 +1 1 1 18 +2 2 7 260 +1 1 1 16 +4 4 7 240 +1 1 1 0 +1 1 1 0 +1 1 2 23 +3 3 4 827 +1 1 2 292 +1 1 2 19 +2 2 6 118 +1 1 1 0 +40 42 51 976 +96 106 146 10671 +1 1 1 0 +1 1 5 26 +1 1 3 93 +1 1 1 0 +1 1 1 15 +2 2 2 0 +3 3 3 29 +2 2 7 23 +1 1 1 15 +3 3 3 0 +1 1 1 0 +1 1 4 91 +2 3 3 0 +2 2 2 0 +1 1 1 0 +1 1 1 15 +2 2 4 83 +1 1 2 6 +1 1 1 15 +3 8 8 0 +4 6 13 1691 +1 2 60 2808 +9 9 11 638 +2 3 4 877 +2 2 4 101 +2 2 3 108 +1 23 31 313 +1 1 1 15 +1 1 1 0 +1 1 5 434 +1 1 1 0 +1 1 1 0 +2 2 2 0 +6 6 8 511 +1 1 1 0 +1 1 1 15 +4 4 6 145 +1 1 1 0 +1 1 1 15 +2 2 3 39 +1 1 1 0 +65 68 117 8892 +3 3 6 2113 +3 4 7 1121 +1 1 4 595 +1 2 10 420 +2 2 6 374 +1 2 2 0 +3 3 3 38 +2 2 3 166 +1 2 6 75 +1 1 2 5 +1 1 8 406 +1 1 4 817 +2 2 2 0 +1 1 1 15 +2 2 2 0 +1 1 1 0 +1 2 3 65 +1 1 2 11 +2 2 6 54 +3 3 3 44 +1 1 1 15 +1 1 2 133 +2 2 2 0 +6 6 7 580 +1 1 1 15 +3 3 3 43 +1 1 1 15 +1 1 16 1746 +17 19 37 3130 +1 2 7 116 +1 1 1 15 +1 1 1 520 +47 54 66 2628 +2 2 2 15 +3 4 18 1455 +1 1 1 15 +1 1 1 0 +1 1 5 104 +3 5 7 12 +1 1 1 0 +1 1 1 0 +1 1 1 0 +1 1 1 17 +1 1 2 48 +5 5 5 0 +1 1 1 16 +2 2 3 85 +1 1 1 15 +1 1 3 259 +1 1 1 15 +1 1 1 15 +1 1 1 0 +1 1 1 0 +1 1 1 0 +1 1 1 16 +1 1 1 29 +2 13 16 1090 +1 1 1 15 +2 2 2 0 +1 1 10 670 +1 1 6 75 +16 38 171 22052 +1 1 2 18 +1 2 3 127 +1 5 10 709 +21 22 23 935 +5 9 15 1779 +12 14 28 1721 +2 2 3 99 +1 1 1 0 +2 2 6 54 +1 1 1 15 +1 2 3 55 +1 1 1 0 +1 1 1 0 +3 4 13 1175 +1 1 7 363 +32 55 74 4937 +1 1 1 0 +2 3 3 0 +1 1 1 0 +1 2 2 30 +1 1 1 0 +1 1 1 0 +2 2 7 62 +1 1 2 40 +1 1 1 0 +2 3 35 2802 +1 1 1 0 +2 2 3 847 +1 2 2 0 +1 3 6 1448 +1 1 2 122 +1 1 6 2020 +2 2 2 0 +3 3 5 1168 +10 21 29 1050 +55 59 69 2209 +1 1 1 0 +1 1 3 51 +1 1 23 952 +27 32 326 11127 +3 3 6 646 +4 4 5 39 +5 5 10 668 +2 2 4 234 +2 2 2 0 +1 1 1 0 +1 1 2 141 +1 1 1 0 +1 1 1 0 +2 2 2 0 +2 4 6 517 +1 1 5 97 +1 1 1 0 +9 10 28 654 +2 2 2 0 +3 9 9 0 +2 2 4 223 +1 1 1 15 +1 1 2 14 +1 1 1 0 +1 2 2 0 +1 1 1 0 +1 2 2 15 +4 4 6 25 +1 1 1 16 +1 1 1 24 +1 1 1 18 +1 1 1 16 +1 1 1 0 +4 4 5 230 +2 3 3 30 +1 1 3 78 +1 1 1 15 +1 1 4 501 +1 1 3 99 +2 2 4 81 +2 2 9 750 +1 1 2 14 +1 1 1 14 +6 6 27 686 +1 1 1 0 +1 1 4 107 +1 1 1 20 +1 1 2 90 +1 1 61 827 +26 37 94 9174 +1 0 2 590 +1 1 1 0 +2 2 2 15 +1 2 4 11 +2 2 3 34 +2 2 2 51 +1 1 5 190 +1 1 1 0 +1 1 1 16 +1 1 1 0 +5 5 7 30 +1 1 1 15 +1 1 2 15 +10 10 15 1749 +1 1 2 62 +6 6 6 0 +1 1 1 15 +3 3 3 0 +1 1 1 0 +1 1 1 0 +5 5 5 0 +2 4 4 0 +2 2 3 128 +1 1 1 14 +3 5 46 1821 +1 1 3 21 +13 13 31 1959 +7 7 9 110 +42 44 56 5763 +1 1 1 17 +1 1 1 0 +1 1 18 481 +1 3 13 739 +1 1 1 0 +1 1 6 82 +2 2 11 449 +1 1 1 15 +1 1 1 0 +3 3 8 1286 +19 19 27 2044 +1 1 1 15 +1 1 3 276 +1 1 1 0 +1 1 2 182 +1 1 8 205 +1 1 2 142 +1 1 2 77 +47 50 92 2135 +1 1 1 15 +7 21 81 4814 +2 2 2 30 +1 1 2 77 +1 1 1 15 +1 1 1 0 +3 3 3 0 +5 20 103 7059 +1 1 1 0 +8 8 10 46 +1 1 1 0 +1 1 1 0 +1 1 1 0 +1 1 1 4 +28 58 130 7134 +1 1 1 15 +1 1 1 0 +1 1 1 0 +4 4 39 2004 +1 1 2 416 +4 4 4 60 +1 1 1 0 +1 1 1 13 +1 1 1 0 +4 4 4 0 +1 1 4 1578 +1 1 1 0 +6 18 37 1378 +1 4 4 60 +1 1 2 19 diff --git a/dbms/tests/queries/1_stateful/00024_random_counters.sql b/dbms/tests/queries/1_stateful/00024_random_counters.sql new file mode 100644 index 00000000000..9411c106afe --- /dev/null +++ b/dbms/tests/queries/1_stateful/00024_random_counters.sql @@ -0,0 +1,992 @@ +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16447300; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 311849; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7227367; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21519412; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1010958; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6272416; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21888502; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21990949; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20331580; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 231276; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 100674; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20830528; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21099526; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 162896; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22424788; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20626921; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22734214; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21279544; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17870599; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18751324; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18264283; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19475803; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20477941; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22929382; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11299489; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16570483; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18391414; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21000451; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11369977; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9886051; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22617568; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 98054; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 970516; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21260029; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22622557; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14762728; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5482534; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10250275; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23344813; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23856562; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13223461; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1064845; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23453899; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22384789; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23982805; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15075358; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 322187; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23953330; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19325545; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21385060; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19965796; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18780277; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19454293; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 2755; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 4255870; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13723486; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20179597; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23510062; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16567711; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24067630; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10373758; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15871777; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21612955; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23441950; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5361274; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22348093; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23802799; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12903265; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24184564; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14005723; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 509416; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12879952; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6731659; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 148030; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21090781; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18679972; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18965725; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18882277; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20902840; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 8542948; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14997619; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21554698; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21069571; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12146479; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1205378; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 771107; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22281868; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22178384; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17838109; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14603353; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10563076; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 724840; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21519640; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23695144; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16192327; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19444645; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10318822; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18910300; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1572259; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6401680; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 35054; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17775658; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23704582; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19154980; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21021124; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9070591; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1340709; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21384403; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19945789; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10049827; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 113943; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20827714; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20361523; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7068424; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5935387; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14371921; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9424240; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1683293; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22602985; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 244688; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12584464; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14582767; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11167036; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22451221; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12978052; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19790521; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15742261; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16908067; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 2495578; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 4380979; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1633467; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19866526; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21271384; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22486705; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21202006; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21070687; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11091565; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17985739; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22445365; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23772880; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20778388; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 230179; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16679578; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22065736; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 3924838; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7212070; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22983808; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7384096; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 2604; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 650932; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10900831; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24037393; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22596106; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22180217; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18547225; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1743991; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 956997; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22961593; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7082143; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15972304; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11266375; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 35774; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22151192; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 330149; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18494080; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 983810; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21804988; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23189848; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11064361; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1902205; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19899028; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20726233; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22751884; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 2132557; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22594396; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 296158; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9946492; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19451524; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7763785; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16341391; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 3796804; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1839; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23462068; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18318652; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11669965; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10501075; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20027482; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11583685; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 42586; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 4131496; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6068563; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 70659; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1286379; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20402113; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16842985; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16461736; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14211247; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 183742; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16037572; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23579041; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6611935; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23591458; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24392791; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22161892; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13974904; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 160848; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7918660; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20085736; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1602419; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16923829; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11986633; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18207637; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12885928; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6375496; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10795105; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18557131; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17450179; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17800144; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15354772; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23144515; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15549385; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22716352; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21860068; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1940077; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23150329; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 8049691; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11386126; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21803221; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21633664; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23955877; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20122396; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23727913; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13983208; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22711375; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13466764; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19050478; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23175136; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22450234; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1384335; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18792373; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7746310; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17369587; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12874756; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18735907; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12260821; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18635233; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17963329; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22934281; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17201476; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22418647; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13094539; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 752731; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18160555; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12757027; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18597361; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7433614; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5690881; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21118276; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20661916; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21953854; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20837995; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23306071; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 727709; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24061714; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 43861; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23931547; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12957628; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23807914; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 781569; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13607117; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20642545; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19101886; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7752361; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20350945; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22312993; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22495489; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1293793; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6601483; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11552092; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 864913; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 3979828; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20662477; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7407445; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17868073; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21155629; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12989809; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 76719; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19830214; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17709220; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14661577; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23264026; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22911616; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6463993; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16677091; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21631570; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21111193; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5899678; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18159811; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1450043; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23534269; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1126596; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13574801; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12634069; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23823433; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14910490; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19860319; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 68737; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21617599; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21634810; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11430829; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 430818; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14317369; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22336622; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22912675; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18436540; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11961628; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 950406; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7178023; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23262754; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16829410; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 88731; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1606607; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14457415; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17923123; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13992169; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23736148; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20923675; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 142203; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20361103; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 8205184; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22002982; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17587633; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20991970; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13051300; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19243744; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21625381; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1402053; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13104817; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5270176; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10227019; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 502139; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24065761; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23648725; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10145665; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14614057; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11614093; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21999106; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 2040193; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11369239; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 153901; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6798544; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16963450; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21370864; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19999834; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11247409; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22176314; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18207316; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9458011; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21261418; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14765356; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23618191; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23444548; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13084939; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 115226; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22111729; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20570326; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23281543; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21768016; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17586049; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9347143; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23251951; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9837085; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22189843; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23836445; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1750735; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 48974; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 82604; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23429713; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 965907; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7941676; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1057301; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23599927; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18250675; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24033715; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20667007; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9721663; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13107145; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23406805; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15822511; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22922992; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10548637; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 2437834; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16796794; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12040550; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 4238398; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10793239; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21486094; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 180393; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17748835; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11223940; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1048199; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 404917; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1227383; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 150422; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22563523; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12328705; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13166551; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19248274; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20380597; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 207901; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20994013; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20533000; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21254380; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6531613; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 87499; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13607531; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12998860; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22963318; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24130984; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22186279; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6217882; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23694580; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11542936; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18403198; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20501191; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1839229; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13587707; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 337148; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 237922; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6695203; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23766385; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21893869; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22044565; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18356998; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22856353; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1940974; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21064438; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22491703; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10853794; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19208605; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7763506; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15633052; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12926980; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15619141; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21637108; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21421138; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16675555; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23824468; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23111200; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 977212; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1529177; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1757487; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17069044; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20982994; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15248224; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 2958436; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20438797; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 241692; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 726991; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 187304; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22278727; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20699560; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1161170; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17143366; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 3936901; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23147602; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 942211; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6360139; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22845019; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22262671; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21277948; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 658955; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21823405; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22222549; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 138960; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11868505; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7570210; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14717959; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 4520284; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21945835; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20676250; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14875207; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20030020; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11187883; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 160366; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21047998; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16827436; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5243680; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1246330; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21091438; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17759953; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23344696; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 4914007; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24238993; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19353595; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18776962; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11816812; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12775981; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 443080; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12073216; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21723667; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10503499; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23835697; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22324529; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9956137; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23427451; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23787157; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21645604; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12783328; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15502978; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24361354; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21571144; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18269953; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22764370; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23332939; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17378284; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24127903; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1659835; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 387614; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1813771; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24186424; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11454142; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 153960; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22881175; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16404439; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22564360; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21138574; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23913517; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10573612; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18990535; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16654072; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20622772; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18536539; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20430181; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15758722; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11805436; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15469597; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23249362; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16311706; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19907104; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 58364; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21300892; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16706377; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22226776; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11186215; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5629135; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 8035720; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12074653; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12855724; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18727279; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23688403; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22348117; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22437676; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21731815; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22160845; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23529592; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21760885; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12896245; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 114634; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23317843; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23082139; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24280942; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23247967; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22473928; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23060461; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23778226; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15046105; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 3236848; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7631659; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10507519; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17615887; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13046434; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20554606; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24049246; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18408787; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1497109; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17905573; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21754438; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5538790; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10829980; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13992391; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 66504; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22512982; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15652897; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21276235; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18770644; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15662662; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10161970; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18641509; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22280074; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21379552; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21264430; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23068549; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10772845; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 2038669; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20626948; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 104064; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13087750; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 4433956; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21344539; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16071850; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24005692; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20648488; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10638034; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 486867; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22998298; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13243405; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21667987; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13190524; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 8192197; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21771235; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17734588; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23111911; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17761390; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12888601; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15711313; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21179218; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11486290; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18691054; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20880718; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21637201; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 169649; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21040945; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5734555; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21137548; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24005935; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20993179; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12570466; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10187791; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20212057; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19626166; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 81078; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17776366; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17087953; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20242894; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18246898; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23578141; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20801083; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20841418; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23750032; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12102745; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 201007; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21402886; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 3063307; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23086156; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22628254; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21579151; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22474825; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22146962; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18094117; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9650656; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23760628; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24305014; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11900293; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18012577; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23059279; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17079028; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12899989; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21689104; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22357813; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17844745; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 3243655; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16392643; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23500396; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11521879; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 794328; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6331864; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20151244; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 70595; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21229069; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10210294; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 461137; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20300068; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23946133; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21738727; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10631026; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 795837; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21329731; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6521590; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22407961; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22230415; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11333239; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21675262; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24131203; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22526434; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19025272; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21344743; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10787479; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14535805; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21879637; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5692288; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 105589; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20571772; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11376784; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14908795; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15896320; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1599005; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12751282; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16631110; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20863162; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20590756; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17304466; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11337502; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12787234; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20975842; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1067283; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15276505; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19962931; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 162300; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6444100; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19411474; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9790033; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22141253; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18325648; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23809642; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1354799; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23919961; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 644217; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20771050; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20695744; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6470599; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19296766; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1010887; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 3025; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20735257; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22412722; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24300940; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22731619; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14886760; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18884518; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 159137; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7506880; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24278878; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15465016; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 3170437; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11018566; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 65976; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1712285; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11839687; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24275806; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23469325; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21247126; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13037131; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 810429; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21335863; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24066841; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22365193; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24136081; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7518508; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24186001; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 168287; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9688087; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17368204; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9316975; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10008478; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9939709; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13130248; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 485384; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10588285; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13344565; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 755766; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17206873; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21464908; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10552819; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 513165; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 60844; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 193578; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23509153; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19839511; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21190726; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 145604; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 4825291; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12910402; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17079070; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13436371; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 195125; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10275760; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21999427; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1284975; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23621008; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 285178; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13220617; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6796894; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17023966; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 8123776; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17449006; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21668662; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20096968; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16708717; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10760635; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22733080; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23401273; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23510617; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14476834; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11308495; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24268282; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18114196; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20086945; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22009009; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6842632; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 550606; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22984000; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6651847; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23181460; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1073005; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24287764; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22624171; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13252402; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10718590; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9286879; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 143202; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12203728; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 211231; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11864926; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19677487; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21810544; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17221114; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10764424; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17899918; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 229129; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1098537; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 875109; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24175219; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19913062; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22563961; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19100509; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10032397; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 14467660; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22418446; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19683055; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23531476; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1598765; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10355422; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 3670951; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 8048485; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5203336; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22183948; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23813230; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9813811; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10296184; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13266838; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23520373; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23705500; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23761111; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5693914; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24276121; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21962428; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16279855; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23125432; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22129157; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17607211; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13073128; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16297969; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1868509; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6990250; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 8084032; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21613498; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6359830; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22080205; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20358655; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19484734; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 2243911; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20661463; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22811053; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10448905; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21427147; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17219197; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18216478; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23375059; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16199908; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9936940; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22433392; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15615931; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17751211; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17921125; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21772687; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12905191; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5748610; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15028942; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17452492; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 934261; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20769670; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 4256095; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9615136; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22405135; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5826757; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19455331; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11221384; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23065603; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1464787; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23255512; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21046240; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11152147; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19340260; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20790796; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22751983; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10663036; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12671212; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16979245; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16826713; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21908368; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 215363; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12887305; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 740471; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 2006116; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24022195; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11873545; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23613532; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22024711; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15808192; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22510834; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10158082; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20062666; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 2155900; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10996243; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23732275; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17657869; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12938056; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21366607; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23533687; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16908964; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21581755; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13146670; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13200580; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18423466; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22459213; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13949116; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17158843; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20406778; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21648643; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22846792; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20046997; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13194094; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19874278; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21553033; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20714647; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11354182; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10487221; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1618385; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 50359; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18610975; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20180476; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20858191; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15064975; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20795134; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24270307; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15478012; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22397041; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21325057; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 11193616; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19598311; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19724464; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 15102916; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16182112; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16384213; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 22145798; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 1367921; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 256297; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21791194; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 2228362; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6101386; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20889169; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 17157937; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19942327; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23165935; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 7650367; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 16051609; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23190688; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 12277228; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 18669307; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 13831414; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21223684; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 9615727; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23473615; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5967373; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 4269664; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20641135; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24255571; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 6999850; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 5422; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23999812; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 19762219; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21861691; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 20138260; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 24344110; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 698117; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 21801520; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 23957683; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 2109130; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 214548; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10387462; +SELECT uniq(UserID), sum(Sign), sum(Sign * PageViews), sum(Sign * Duration) FROM test.visits WHERE CounterID = 10972597; diff --git a/dbms/tests/queries/1_stateful/00030_array_enumerate_uniq.reference b/dbms/tests/queries/1_stateful/00030_array_enumerate_uniq.reference new file mode 100644 index 00000000000..ec635144f60 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00030_array_enumerate_uniq.reference @@ -0,0 +1 @@ +9 diff --git a/dbms/tests/queries/1_stateful/00030_array_enumerate_uniq.sql b/dbms/tests/queries/1_stateful/00030_array_enumerate_uniq.sql new file mode 100644 index 00000000000..bfe3842335c --- /dev/null +++ b/dbms/tests/queries/1_stateful/00030_array_enumerate_uniq.sql @@ -0,0 +1 @@ +SELECT max(arrayJoin(arrayEnumerateUniq(arrayMap(x -> intDiv(x, 10), URLCategories)))) FROM test.hits diff --git a/dbms/tests/queries/1_stateful/00031_array_enumerate_uniq.reference b/dbms/tests/queries/1_stateful/00031_array_enumerate_uniq.reference new file mode 100644 index 00000000000..80d8ffb01ea --- /dev/null +++ b/dbms/tests/queries/1_stateful/00031_array_enumerate_uniq.reference @@ -0,0 +1,20 @@ +9423131355037180 [1,1,1,1,2,1] +99069201391534782 [1,1] +126427371393908088 [1,1,1,2,1] +129406171394116372 [1,2] +137604511395271977 [1,1] +187815321395062055 [1,1,1] +194264491393666756 [1,1] +263245441387901769 [1,2,3,1,4,5,6,2,3,4,7,5,8] +312403081390726793 [1,1,1,1,1,1,1,1,1,1,1,1] +318522451358917158 [1,2] +324118291394008684 [1,1,2,3,4,5,6] +355608731360247322 [1,1,1] +408811531393490978 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30] +410895631386491691 [1,1,1] +465280661362859686 [1,2,3,4,5] +536058931389612176 [1,1,1] +604260701390284018 [1,2] +644639891379925126 [1,1] +658636461391365106 [1,1] +693047471394026191 [1,2,1] diff --git a/dbms/tests/queries/1_stateful/00031_array_enumerate_uniq.sql b/dbms/tests/queries/1_stateful/00031_array_enumerate_uniq.sql new file mode 100644 index 00000000000..158095c4333 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00031_array_enumerate_uniq.sql @@ -0,0 +1,20 @@ +SELECT UserID, arrayEnumerateUniq(groupArray(SearchPhrase)) AS arr +FROM +( + SELECT UserID, SearchPhrase + FROM test.hits + WHERE CounterID = 731962 AND UserID IN + ( + SELECT UserID + FROM test.hits + WHERE notEmpty(SearchPhrase) AND CounterID = 731962 + GROUP BY UserID + HAVING count() > 1 + ) + ORDER BY UserID, WatchID +) +WHERE notEmpty(SearchPhrase) +GROUP BY UserID +HAVING length(arr) > 1 +ORDER BY UserID +LIMIT 20 diff --git a/dbms/tests/queries/1_stateful/00032_aggregate_key64.reference b/dbms/tests/queries/1_stateful/00032_aggregate_key64.reference new file mode 100644 index 00000000000..dc47fead232 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00032_aggregate_key64.reference @@ -0,0 +1,10 @@ +0 8040919 +2 498635 +3 229872 +6 38617 +13 20490 +181 4786 +68 4735 +10 4675 +85 4494 +1 3741 diff --git a/dbms/tests/queries/1_stateful/00032_aggregate_key64.sql b/dbms/tests/queries/1_stateful/00032_aggregate_key64.sql new file mode 100644 index 00000000000..56ee5080ed0 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00032_aggregate_key64.sql @@ -0,0 +1 @@ +SELECT SearchEngineID AS k1, count() AS c FROM test.hits GROUP BY k1 ORDER BY c DESC, k1 LIMIT 10 diff --git a/dbms/tests/queries/1_stateful/00033_aggregate_key_string.reference b/dbms/tests/queries/1_stateful/00033_aggregate_key_string.reference new file mode 100644 index 00000000000..1de4721d6e1 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00033_aggregate_key_string.reference @@ -0,0 +1,10 @@ + 8267016 +интерьер ванной комнаты 2166 +яндекс 1655 +весна 2014 мода 1549 +фриформ фото 1480 +анджелина джоли 1245 +омск 1112 +фото собак разных пород 1091 +дизайн штор 1064 +баку 1000 diff --git a/dbms/tests/queries/1_stateful/00033_aggregate_key_string.sql b/dbms/tests/queries/1_stateful/00033_aggregate_key_string.sql new file mode 100644 index 00000000000..22c2817a00d --- /dev/null +++ b/dbms/tests/queries/1_stateful/00033_aggregate_key_string.sql @@ -0,0 +1 @@ +SELECT SearchPhrase AS k1, count() AS c FROM test.hits GROUP BY k1 ORDER BY c DESC, k1 LIMIT 10 diff --git a/dbms/tests/queries/1_stateful/00034_aggregate_key_fixed_string.reference b/dbms/tests/queries/1_stateful/00034_aggregate_key_fixed_string.reference new file mode 100644 index 00000000000..8672453b66a --- /dev/null +++ b/dbms/tests/queries/1_stateful/00034_aggregate_key_fixed_string.reference @@ -0,0 +1,10 @@ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 8267016 +картинки 6148 +смотреть 5055 +интерьер 2417 +игры для 2284 +красивые 1756 +яндекс\0\0\0\0\0 1655 +весна 2014 1549 +фриформ ф 1480 +свадебны 1432 diff --git a/dbms/tests/queries/1_stateful/00034_aggregate_key_fixed_string.sql b/dbms/tests/queries/1_stateful/00034_aggregate_key_fixed_string.sql new file mode 100644 index 00000000000..ae281816f6f --- /dev/null +++ b/dbms/tests/queries/1_stateful/00034_aggregate_key_fixed_string.sql @@ -0,0 +1 @@ +SELECT toFixedString(substring(SearchPhrase, 1, 17), 17) AS k1, count() AS c FROM test.hits GROUP BY k1 ORDER BY c DESC, k1 LIMIT 10 diff --git a/dbms/tests/queries/1_stateful/00035_aggregate_keys128.reference b/dbms/tests/queries/1_stateful/00035_aggregate_keys128.reference new file mode 100644 index 00000000000..fe6adc72c92 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00035_aggregate_keys128.reference @@ -0,0 +1,10 @@ +0 0 8019359 +2 0 498608 +3 0 220903 +6 0 38616 +13 0 20489 +0 2 13924 +3 2 8944 +181 0 4786 +68 0 4700 +10 0 4673 diff --git a/dbms/tests/queries/1_stateful/00035_aggregate_keys128.sql b/dbms/tests/queries/1_stateful/00035_aggregate_keys128.sql new file mode 100644 index 00000000000..6dfa7454c4b --- /dev/null +++ b/dbms/tests/queries/1_stateful/00035_aggregate_keys128.sql @@ -0,0 +1 @@ +SELECT SearchEngineID AS k1, AdvEngineID AS k2, count() AS c FROM test.hits GROUP BY k1, k2 ORDER BY c DESC, k1, k2 LIMIT 10 diff --git a/dbms/tests/queries/1_stateful/00036_aggregate_hashed.reference b/dbms/tests/queries/1_stateful/00036_aggregate_hashed.reference new file mode 100644 index 00000000000..7bd3aef3079 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00036_aggregate_hashed.reference @@ -0,0 +1,10 @@ +0 8040919 +3 194175 +2 22288 +125 3327 +126 2188 +2 интерьер ванной комнаты 2166 +12 1934 +2 весна 2014 мода 1549 +2 фриформ фото 1442 +2 анджелина джоли 1245 diff --git a/dbms/tests/queries/1_stateful/00036_aggregate_hashed.sql b/dbms/tests/queries/1_stateful/00036_aggregate_hashed.sql new file mode 100644 index 00000000000..dacf9b96821 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00036_aggregate_hashed.sql @@ -0,0 +1 @@ +SELECT SearchEngineID AS k1, SearchPhrase AS k2, count() AS c FROM test.hits GROUP BY k1, k2 ORDER BY c DESC, k1, k2 LIMIT 10 diff --git a/dbms/tests/queries/1_stateful/00037_uniq_state_merge1.reference b/dbms/tests/queries/1_stateful/00037_uniq_state_merge1.reference new file mode 100644 index 00000000000..b456459c189 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00037_uniq_state_merge1.reference @@ -0,0 +1,100 @@ +yandex.ru 23162 23162 +e.mail.ru 7460 7460 +rutube.ru 5567 5567 +images.yandex.ru 4158 4158 +news.yandex.ru 4099 4099 +mail.yandex.ru 3571 3571 +avito.ru 3334 3334 + 3281 3281 +yabs.yandex.ru 3274 3274 +news.mail.ru 3255 3255 +hurpass.com 3066 3066 +youtube.com 2845 2845 +pogoda.yandex.ru 2816 2816 +yandex.ua 2641 2641 +maps.yandex.ru 2489 2489 +yandex.com.tr 2301 2301 +clck.yandex.ru 2238 2238 +my.mail.ru 2186 2186 +ria.ru 2155 2155 +rambler.ru 2082 2082 +tvigle.ru 1980 1980 +hugesex.tv 1930 1930 +mynet.com 1920 1920 +top.rbc.ru 1790 1790 +images.rambler.ru 1746 1746 +megogo.net 1717 1717 +kinopoisk.ru 1669 1669 +gismeteo.ru 1655 1655 +fucked-tube.com 1631 1631 +vesti.ru 1611 1611 +warthunder.ru 1562 1562 +wotlauncher.exe 1513 1513 +content.directadvert.ru 1454 1454 +tubecup.com 1418 1418 +market.yandex.ru 1415 1415 +sozcu.com.tr 1300 1300 +an.yandex.ru 1279 1279 +otvet.mail.ru 1255 1255 +code.directadvert.ru 1220 1220 +searcher.takataka.coccoc.com 1202 1202 +loginza.ru 1190 1190 +rg.ru 1183 1183 +liveinternet.ru 1173 1173 +tabs.ultimate-guitar.com 1155 1155 +news.rambler.ru 1147 1147 +vk.com 1146 1146 +gazeta.ru 1132 1132 +kinogo.net 1125 1125 +turbobit.net 1119 1119 +tv.yandex.ru 1080 1080 +bigcinema.tv 1070 1070 +itar-tass.com 1042 1042 +www.avito.ru 1036 1036 +sprashivai.ru 1034 1034 +eksisozluk.com 1018 1018 +coccoc.com 1010 1010 +haberler.com 1010 1010 +money.yandex.ru 1008 1008 +online.sberbank.ru 1008 1008 +utro.ru 999 999 +woman.ru 999 999 +wildberries.ru 959 959 +afisha.mail.ru 954 954 +regnum.ru 949 949 +kp.ru 948 948 +privatehomeclips.com 946 946 +znanija.com 946 946 +browser.yandex.ru 943 943 +marketgid.com 936 936 +lenta.ru 912 912 +video.yandex.ru 900 900 +ivi.ru 849 849 +segodnya.ua 831 831 +video.mail.ru 821 821 +interfax.ru 819 819 +worldoftanks.ru 816 816 +games.mail.ru 802 802 +disk.yandex.ru 801 801 +docviewer.yandex.ru 796 796 +cum.mobi 782 782 +market-click2.yandex.ru 781 781 +syndication.exoclick.com 778 778 +odnoklassniki.ru 772 772 +echo.msk.ru 769 769 +deti.mail.ru 765 765 +censor.net.ua 757 757 +sberbank.ru 753 753 +passport.yandex.ru 750 750 +spor.mynet.com 749 749 +bolshoyvopros.ru 732 732 +yandex.by 724 724 +korrespondent.net 723 723 +zoomby.ru 723 723 +ntv.ru 716 716 +1tv.ru 714 714 +music.yandex.ru 714 714 +yobt.com 713 713 +seasonvar.ru 704 704 +prntscr.com 699 699 +rbc.ru 697 697 diff --git a/dbms/tests/queries/1_stateful/00037_uniq_state_merge1.sql b/dbms/tests/queries/1_stateful/00037_uniq_state_merge1.sql new file mode 100644 index 00000000000..c941a14b571 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00037_uniq_state_merge1.sql @@ -0,0 +1 @@ +SELECT k, any(u) AS u, uniqMerge(us) AS us FROM (SELECT domain(URL) AS k, uniq(UserID) AS u, uniqState(UserID) AS us FROM test.hits GROUP BY k) GROUP BY k ORDER BY u DESC, k ASC LIMIT 100 diff --git a/dbms/tests/queries/1_stateful/00038_uniq_state_merge2.reference b/dbms/tests/queries/1_stateful/00038_uniq_state_merge2.reference new file mode 100644 index 00000000000..5fc3b5a6fdb --- /dev/null +++ b/dbms/tests/queries/1_stateful/00038_uniq_state_merge2.reference @@ -0,0 +1,100 @@ +ru 458921 60255 +com 138290 60492 +ua 57079 12203 +net 40851 20955 +tr 14141 7851 +tv 13603 9771 +org 12599 9089 +by 10983 2885 +kz 6594 2571 + 6570 5540 +info 6255 4811 +su 4418 3643 +mobi 3125 2387 +biz 3008 2189 +me 2180 1829 +exe 1516 1516 +ws 1079 995 +to 988 860 +eu 979 853 +cc 920 836 +pl 819 673 +fm 745 702 +pro 692 644 +am 641 367 +vc 600 599 +lv 593 475 +az 591 390 +in 498 473 +md 467 256 +vn 459 132 +hu 426 342 +co 422 419 +de 409 390 +uz 406 256 +sx 386 277 +name 378 373 +im 361 300 +asia 359 352 +br 355 317 +kg 343 122 +us 327 203 +il 262 193 +travel 243 214 +sk 194 193 +cu 188 188 +cz 188 162 +ee 174 144 +uk 169 165 +ge 160 114 +tk 159 136 +my 138 138 +cn 131 121 +nu 130 128 +fr 110 105 +es 107 95 +sg 102 102 +io 92 59 +tl 92 92 +ro 91 87 +ca 87 86 +tj 87 44 +xxx 84 76 +be 81 80 +nl 78 63 +ly 76 76 +lt 75 71 +bg 73 66 +ae 70 53 +gl 59 59 +bz 57 49 +it 56 52 +li 55 55 +dj 51 39 +fi 50 44 +mx 41 41 +gr 40 34 +pw 37 37 +edu 36 34 +ch 35 35 +ec 35 35 +ar 34 33 +se 34 33 +so 33 29 +aero 30 25 +gov 29 28 +cl 27 27 +au 26 26 +at 25 24 +kr 24 20 +re 23 17 +hr 22 22 +pt 22 19 +tc 22 22 +za 21 21 +jp 20 20 +guru 17 17 +tm 16 15 +rs 15 14 +ms 14 14 +gg 12 12 diff --git a/dbms/tests/queries/1_stateful/00038_uniq_state_merge2.sql b/dbms/tests/queries/1_stateful/00038_uniq_state_merge2.sql new file mode 100644 index 00000000000..677458daeda --- /dev/null +++ b/dbms/tests/queries/1_stateful/00038_uniq_state_merge2.sql @@ -0,0 +1 @@ +SELECT topLevelDomain(concat('http://', k)) AS tld, sum(u) AS u, uniqMerge(us) AS us FROM (SELECT domain(URL) AS k, uniq(UserID) AS u, uniqState(UserID) AS us FROM test.hits GROUP BY k) GROUP BY tld ORDER BY u DESC, tld ASC LIMIT 100 diff --git a/dbms/tests/queries/1_stateful/00039_primary_key.reference b/dbms/tests/queries/1_stateful/00039_primary_key.reference new file mode 100644 index 00000000000..cf9f11d0a25 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00039_primary_key.reference @@ -0,0 +1,2 @@ +32670 +32670 diff --git a/dbms/tests/queries/1_stateful/00039_primary_key.sql b/dbms/tests/queries/1_stateful/00039_primary_key.sql new file mode 100644 index 00000000000..1cfb117ef14 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00039_primary_key.sql @@ -0,0 +1,2 @@ +SELECT count() FROM test.hits WHERE CounterID < 10000; +SELECT count() FROM test.hits WHERE 10000 > CounterID; diff --git a/dbms/tests/queries/1_stateful/00040_aggregating_materialized_view.reference b/dbms/tests/queries/1_stateful/00040_aggregating_materialized_view.reference new file mode 100644 index 00000000000..61c98c6a49d --- /dev/null +++ b/dbms/tests/queries/1_stateful/00040_aggregating_materialized_view.reference @@ -0,0 +1,21 @@ +2014-03-17 265108 36201 +2014-03-18 258723 36085 +2014-03-19 261624 36479 +2014-03-20 255328 36065 +2014-03-21 236232 35120 +2014-03-22 197354 31256 +2014-03-23 202212 31075 +2014-03-17 15797 7121 +2014-03-18 15704 7099 +2014-03-19 15599 7082 +2014-03-20 15081 6962 +2014-03-21 14409 6691 +2014-03-22 12875 5682 +2014-03-23 13199 5767 +2014-03-17 15797 7121 +2014-03-18 15704 7099 +2014-03-19 15599 7082 +2014-03-20 15081 6962 +2014-03-21 14409 6691 +2014-03-22 12875 5682 +2014-03-23 13199 5767 diff --git a/dbms/tests/queries/1_stateful/00040_aggregating_materialized_view.sql b/dbms/tests/queries/1_stateful/00040_aggregating_materialized_view.sql new file mode 100644 index 00000000000..460e5f62371 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00040_aggregating_materialized_view.sql @@ -0,0 +1,44 @@ +DROP TABLE IF EXISTS test.basic; + +CREATE MATERIALIZED VIEW test.basic +ENGINE = AggregatingMergeTree(StartDate, (CounterID, StartDate), 8192) +POPULATE AS +SELECT + CounterID, + StartDate, + sumState(Sign) AS Visits, + uniqState(UserID) AS Users +FROM test.visits +GROUP BY CounterID, StartDate; + + +SELECT + StartDate, + sumMerge(Visits) AS Visits, + uniqMerge(Users) AS Users +FROM test.basic +GROUP BY StartDate +ORDER BY StartDate; + + +SELECT + StartDate, + sumMerge(Visits) AS Visits, + uniqMerge(Users) AS Users +FROM test.basic +WHERE CounterID = 731962 +GROUP BY StartDate +ORDER BY StartDate; + + +SELECT + StartDate, + sum(Sign) AS Visits, + uniq(UserID) AS Users +FROM test.visits +WHERE CounterID = 731962 +GROUP BY StartDate +ORDER BY StartDate; + + +DROP TABLE test.basic; diff --git a/dbms/tests/queries/1_stateful/00041_aggregating_materialized_view.reference b/dbms/tests/queries/1_stateful/00041_aggregating_materialized_view.reference new file mode 100644 index 00000000000..61c98c6a49d --- /dev/null +++ b/dbms/tests/queries/1_stateful/00041_aggregating_materialized_view.reference @@ -0,0 +1,21 @@ +2014-03-17 265108 36201 +2014-03-18 258723 36085 +2014-03-19 261624 36479 +2014-03-20 255328 36065 +2014-03-21 236232 35120 +2014-03-22 197354 31256 +2014-03-23 202212 31075 +2014-03-17 15797 7121 +2014-03-18 15704 7099 +2014-03-19 15599 7082 +2014-03-20 15081 6962 +2014-03-21 14409 6691 +2014-03-22 12875 5682 +2014-03-23 13199 5767 +2014-03-17 15797 7121 +2014-03-18 15704 7099 +2014-03-19 15599 7082 +2014-03-20 15081 6962 +2014-03-21 14409 6691 +2014-03-22 12875 5682 +2014-03-23 13199 5767 diff --git a/dbms/tests/queries/1_stateful/00041_aggregating_materialized_view.sql b/dbms/tests/queries/1_stateful/00041_aggregating_materialized_view.sql new file mode 100644 index 00000000000..2aa97332e49 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00041_aggregating_materialized_view.sql @@ -0,0 +1,73 @@ +DROP TABLE IF EXISTS test.basic; +DROP TABLE IF EXISTS test.visits_null; + +CREATE TABLE test.visits_null +( + CounterID UInt32, + StartDate Date, + Sign Int8, + UserID UInt64 +) ENGINE = Null; + +CREATE MATERIALIZED VIEW test.basic +ENGINE = AggregatingMergeTree(StartDate, (CounterID, StartDate), 8192) +AS SELECT + CounterID, + StartDate, + sumState(Sign) AS Visits, + uniqState(UserID) AS Users +FROM test.visits_null +GROUP BY CounterID, StartDate; + +INSERT INTO test.visits_null +SELECT + CounterID, + StartDate, + Sign, + UserID +FROM test.visits; + + +SELECT + StartDate, + sumMerge(Visits) AS Visits, + uniqMerge(Users) AS Users +FROM test.basic +GROUP BY StartDate +ORDER BY StartDate; + + +SELECT + StartDate, + sumMerge(Visits) AS Visits, + uniqMerge(Users) AS Users +FROM test.basic +WHERE CounterID = 731962 +GROUP BY StartDate +ORDER BY StartDate; + + +SELECT + StartDate, + sum(Sign) AS Visits, + uniq(UserID) AS Users +FROM test.visits +WHERE CounterID = 731962 +GROUP BY StartDate +ORDER BY StartDate; + + +OPTIMIZE TABLE test.basic; +OPTIMIZE TABLE test.basic; +OPTIMIZE TABLE test.basic; +OPTIMIZE TABLE test.basic; +OPTIMIZE TABLE test.basic; +OPTIMIZE TABLE test.basic; +OPTIMIZE TABLE test.basic; +OPTIMIZE TABLE test.basic; +OPTIMIZE TABLE test.basic; +OPTIMIZE TABLE test.basic; + + +DROP TABLE test.visits_null; +DROP TABLE test.basic; diff --git a/dbms/tests/queries/1_stateful/00042_any_left_join.reference b/dbms/tests/queries/1_stateful/00042_any_left_join.reference new file mode 100644 index 00000000000..ba19dab8ba9 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00042_any_left_join.reference @@ -0,0 +1,10 @@ +1143050 523264 13665 +731962 475698 102664 +722545 337212 108133 +722889 252197 10545 +2237260 196036 9522 +23057320 147211 7685 +722818 90109 17837 +48221 85379 4652 +19762435 77807 7024 +722884 77492 11050 diff --git a/dbms/tests/queries/1_stateful/00042_any_left_join.sql b/dbms/tests/queries/1_stateful/00042_any_left_join.sql new file mode 100644 index 00000000000..6ff0c5d4feb --- /dev/null +++ b/dbms/tests/queries/1_stateful/00042_any_left_join.sql @@ -0,0 +1,21 @@ +SELECT + CounterID, + hits, + visits +FROM +( + SELECT + CounterID, + count() AS hits + FROM test.hits + GROUP BY CounterID +) ANY LEFT JOIN +( + SELECT + CounterID, + sum(Sign) AS visits + FROM test.visits + GROUP BY CounterID +) USING CounterID +ORDER BY hits DESC +LIMIT 10; diff --git a/dbms/tests/queries/1_stateful/00043_any_left_join.reference b/dbms/tests/queries/1_stateful/00043_any_left_join.reference new file mode 100644 index 00000000000..ba19dab8ba9 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00043_any_left_join.reference @@ -0,0 +1,10 @@ +1143050 523264 13665 +731962 475698 102664 +722545 337212 108133 +722889 252197 10545 +2237260 196036 9522 +23057320 147211 7685 +722818 90109 17837 +48221 85379 4652 +19762435 77807 7024 +722884 77492 11050 diff --git a/dbms/tests/queries/1_stateful/00043_any_left_join.sql b/dbms/tests/queries/1_stateful/00043_any_left_join.sql new file mode 100644 index 00000000000..9e61e69c547 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00043_any_left_join.sql @@ -0,0 +1,15 @@ +SELECT + CounterID, + count() AS hits, + any(visits) +FROM test.hits ANY LEFT JOIN +( + SELECT + CounterID, + sum(Sign) AS visits + FROM test.visits + GROUP BY CounterID +) USING CounterID +GROUP BY CounterID +ORDER BY hits DESC +LIMIT 10; diff --git a/dbms/tests/queries/1_stateful/00044_any_left_join_string.reference b/dbms/tests/queries/1_stateful/00044_any_left_join_string.reference new file mode 100644 index 00000000000..f346dda0f2a --- /dev/null +++ b/dbms/tests/queries/1_stateful/00044_any_left_join_string.reference @@ -0,0 +1,10 @@ +yandex.ru 346544 84669 +yandex.ua 46242 11768 +yandex.by 14989 3861 +images.yandex.ru 11635 0 +yabs.yandex.ru 10469 0 + 9754 169 +yandex.kz 8527 2085 +clck.yandex.ru 2605 0 +maps.yandex.ru 1809 0 +images.yandex.ua 1476 0 diff --git a/dbms/tests/queries/1_stateful/00044_any_left_join_string.sql b/dbms/tests/queries/1_stateful/00044_any_left_join_string.sql new file mode 100644 index 00000000000..06e2873c2cb --- /dev/null +++ b/dbms/tests/queries/1_stateful/00044_any_left_join_string.sql @@ -0,0 +1,23 @@ +SELECT + domain, + hits, + visits +FROM +( + SELECT + domain(URL) AS domain, + count() AS hits + FROM test.hits + WHERE CounterID = 731962 + GROUP BY domain +) ANY LEFT JOIN +( + SELECT + domain(StartURL) AS domain, + sum(Sign) AS visits + FROM test.visits + WHERE CounterID = 731962 + GROUP BY domain +) USING domain +ORDER BY hits DESC +LIMIT 10 diff --git a/dbms/tests/queries/1_stateful/00045_uniq_upto.reference b/dbms/tests/queries/1_stateful/00045_uniq_upto.reference new file mode 100644 index 00000000000..e69de29bb2d diff --git a/dbms/tests/queries/1_stateful/00045_uniq_upto.sql b/dbms/tests/queries/1_stateful/00045_uniq_upto.sql new file mode 100644 index 00000000000..d7322c12561 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00045_uniq_upto.sql @@ -0,0 +1 @@ +SELECT RegionID, uniqExact(UserID) AS u1, uniqUpTo(10)(UserID) AS u2 FROM test.visits GROUP BY RegionID HAVING u1 <= 11 AND u1 != u2 \ No newline at end of file diff --git a/dbms/tests/queries/1_stateful/00046_uniq_upto_distributed.reference b/dbms/tests/queries/1_stateful/00046_uniq_upto_distributed.reference new file mode 100644 index 00000000000..e69de29bb2d diff --git a/dbms/tests/queries/1_stateful/00046_uniq_upto_distributed.sql b/dbms/tests/queries/1_stateful/00046_uniq_upto_distributed.sql new file mode 100644 index 00000000000..1491972b37d --- /dev/null +++ b/dbms/tests/queries/1_stateful/00046_uniq_upto_distributed.sql @@ -0,0 +1 @@ +SELECT RegionID, uniqExact(UserID) AS u1, uniqUpTo(10)(UserID) AS u2 FROM remote('127.0.0.{1,2}', test, visits) GROUP BY RegionID HAVING u1 <= 11 AND u1 != u2 \ No newline at end of file diff --git a/dbms/tests/queries/1_stateful/00047_bar.reference b/dbms/tests/queries/1_stateful/00047_bar.reference new file mode 100644 index 00000000000..7ef3fab92d9 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00047_bar.reference @@ -0,0 +1,100 @@ +1143050 523264 ████████████████████████████████████████████████████████████████████████████████ +731962 475698 ████████████████████████████████████████████████████████████████████████▋ +722545 337212 ███████████████████████████████████████████████████▌ +722889 252197 ██████████████████████████████████████▌ +2237260 196036 █████████████████████████████▊ +23057320 147211 ██████████████████████▌ +722818 90109 █████████████▋ +48221 85379 █████████████ +19762435 77807 ███████████▊ +722884 77492 ███████████▋ +20860117 73213 ███████████▏ +21211267 68945 ██████████▌ +22753222 67570 ██████████▎ +12725416 64174 █████████▋ +23910442 60456 █████████▏ +23414332 58389 ████████▊ +160656 57017 ████████▋ +14545480 52345 ████████ +64174 52142 ███████▊ +24142063 47758 ███████▎ +10288858 44080 ██████▋ +19765189 43395 ██████▋ +15553948 43279 ██████▌ +13837519 40581 ██████▏ +17956927 37562 █████▋ +23969905 34301 █████▏ +21137731 32776 █████ +23723584 28788 ████▍ +16443139 26603 ████ +15068284 25733 ███▊ +64539 25595 ███▊ +24201256 25585 ███▊ +16949086 25496 ███▊ +805556 25270 ███▋ +815578 24744 ███▋ +16037275 23349 ███▌ +14645857 21270 ███▎ +16443178 20825 ███▏ +13205491 20788 ███▏ +146686 20785 ███▏ +14231362 19897 ███ +94020 19724 ███ +38230 19717 ███ +15011071 19402 ██▊ +9325861 18557 ██▋ +7234936 18370 ██▋ +115080 17443 ██▋ +22131482 17390 ██▋ +15987325 17302 ██▋ +10652611 17279 ██▋ +114208 16959 ██▌ +23427556 16849 ██▌ +21407305 16175 ██▍ +21270109 16017 ██▍ +7692568 15340 ██▎ +9927988 15171 ██▎ +18746557 15146 ██▎ +20008321 15104 ██▎ +18274111 14719 ██▎ +13227769 14584 ██▏ +23474449 14540 ██▏ +91244 14199 ██▏ +17969140 13972 ██▏ +149814 13930 ██▏ +230672 13792 ██ +22663942 13615 ██ +1911064 13509 ██ +79376 13308 ██ +10065061 13181 ██ +20424475 13181 ██ +23745772 12922 █▊ +67763 12520 █▊ +15748243 12352 █▊ +1605811 12283 █▊ +11492179 12183 █▋ +24327397 12170 █▋ +23878183 12158 █▋ +7941022 12049 █▋ +10849243 11818 █▋ +14544658 11733 █▋ +21374125 11658 █▋ +12929146 11514 █▋ +1276757 11452 █▋ +960630 11444 █▋ +10538560 11358 █▋ +62180 11193 █▋ +24056266 11047 █▋ +20793439 10936 █▋ +6414910 10747 █▋ +23194783 10738 █▋ +14131513 10656 █▋ +1598595 10655 █▋ +158751 10625 █▌ +150748 10522 █▌ +3228 10503 █▌ +18520561 10128 █▌ +1252825 10098 █▌ +4308403 10022 █▌ +199955 9997 █▌ +23214754 9780 █▍ diff --git a/dbms/tests/queries/1_stateful/00047_bar.sql b/dbms/tests/queries/1_stateful/00047_bar.sql new file mode 100644 index 00000000000..c7310763525 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00047_bar.sql @@ -0,0 +1 @@ +SELECT CounterID, count() AS c, bar(c, 0, 523264) FROM test.hits GROUP BY CounterID ORDER BY c DESC, CounterID ASC LIMIT 100 diff --git a/dbms/tests/queries/1_stateful/00048_min_max.reference b/dbms/tests/queries/1_stateful/00048_min_max.reference new file mode 100644 index 00000000000..cb21dc07b1c --- /dev/null +++ b/dbms/tests/queries/1_stateful/00048_min_max.reference @@ -0,0 +1 @@ +2014-03-17 2014-03-23 diff --git a/dbms/tests/queries/1_stateful/00048_min_max.sql b/dbms/tests/queries/1_stateful/00048_min_max.sql new file mode 100644 index 00000000000..a62a6edfb61 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00048_min_max.sql @@ -0,0 +1 @@ +SELECT min(EventDate), max(EventDate) FROM test.hits diff --git a/dbms/tests/queries/1_stateful/00049_max_string_if.reference b/dbms/tests/queries/1_stateful/00049_max_string_if.reference new file mode 100644 index 00000000000..51f17c87649 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00049_max_string_if.reference @@ -0,0 +1,20 @@ +1143050 523264 яндекс почта яндекс почта +731962 475698 • ротация товара по принципу fifo; +722545 337212 індія вавілон египет +722889 252197 ↵ ↵ ↵ анна↵↵ ↵ ↵ ↵ +2237260 196036 ярмарка калининград авто с пробегом +23057320 147211 +722818 90109 яровая +48221 85379 уссурийский аграрный техникум +19762435 77807 электромобиль купить в красноярске +722884 77492 ян женчак лявоны +20860117 73213 ярмарка калининград авто с пробегом +21211267 68945 マジックかいと +22753222 67570 ютуб видео +12725416 64174 эдгар по фильм ворон +23910442 60456 +23414332 58389 №18-52-857 от 19.03.2002 +160656 57017 яндекс маркет +14545480 52345 şu polarmi apolarmi +64174 52142 яндекс почта +24142063 47758 diff --git a/dbms/tests/queries/1_stateful/00049_max_string_if.sql b/dbms/tests/queries/1_stateful/00049_max_string_if.sql new file mode 100644 index 00000000000..af87123ef02 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00049_max_string_if.sql @@ -0,0 +1 @@ +SELECT CounterID, count(), maxIf(SearchPhrase, notEmpty(SearchPhrase)) FROM test.hits GROUP BY CounterID ORDER BY count() DESC LIMIT 20 diff --git a/dbms/tests/queries/1_stateful/00050_min_max.reference b/dbms/tests/queries/1_stateful/00050_min_max.reference new file mode 100644 index 00000000000..83c625ab0cc --- /dev/null +++ b/dbms/tests/queries/1_stateful/00050_min_max.reference @@ -0,0 +1,20 @@ +1143050 5713920003519694728 5716397076045616998 +731962 5713920015071971218 5716397257116862311 +722545 5713920015651149659 5716397256090216288 +722889 5713920017089177471 5716397260516085458 +2237260 5713920016994238167 5716397237297002364 +23057320 5713949520802533074 5716413447410800488 +722818 5713920043014670169 5716397236420603606 +48221 5713920004276864894 5716397210278713206 +19762435 5713920017181982418 5716397246466066301 +722884 5713920011998402414 5716397246767304399 +20860117 5713920017370074831 5716397208719681371 +21211267 5713920045935435469 5716397248483389135 +22753222 5713920007612184431 5716397151789805258 +12725416 5713920109650941822 5716397254591100797 +23910442 5714042239335131000 5716386006459287388 +23414332 5713920019599158998 5716397247414163312 +160656 5713921425816235729 5716396958603462522 +14545480 5713949495531890580 5716413422480215759 +64174 5713920018026575709 5716397258157885302 +24142063 5713875910905472884 5716353012118216394 diff --git a/dbms/tests/queries/1_stateful/00050_min_max.sql b/dbms/tests/queries/1_stateful/00050_min_max.sql new file mode 100644 index 00000000000..4c45f6fffa6 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00050_min_max.sql @@ -0,0 +1 @@ +SELECT CounterID, min(WatchID), max(WatchID) FROM test.hits GROUP BY CounterID ORDER BY count() DESC LIMIT 20 diff --git a/dbms/tests/queries/1_stateful/00051_min_max_array.reference b/dbms/tests/queries/1_stateful/00051_min_max_array.reference new file mode 100644 index 00000000000..fac952200a9 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00051_min_max_array.reference @@ -0,0 +1,20 @@ +1143050 523264 [353023] [] [353023] +731962 475698 [] [] [] +722545 337212 [] [] [] +722889 252197 [1698655] [] [1545418] +2237260 196036 [1096990] [] [1095625] +23057320 147211 [] [] [] +722818 90109 [4187887] [] [1418056] +48221 85379 [] [] [] +19762435 77807 [] [] [] +722884 77492 [3440203] [] [1784959] +20860117 73213 [] [] [] +21211267 68945 [3658087] [] [3658087] +22753222 67570 [4249348,3287725] [] [3287395,3287425] +12725416 64174 [2645938] [] [939124] +23910442 60456 [] [] [] +23414332 58389 [] [] [] +160656 57017 [4118521,4067026,2509678] [] [56598,1084654,1113568,1960378] +14545480 52345 [] [] [] +64174 52142 [] [] [] +24142063 47758 [4211836] [] [4211836] diff --git a/dbms/tests/queries/1_stateful/00051_min_max_array.sql b/dbms/tests/queries/1_stateful/00051_min_max_array.sql new file mode 100644 index 00000000000..1027586372d --- /dev/null +++ b/dbms/tests/queries/1_stateful/00051_min_max_array.sql @@ -0,0 +1 @@ +SELECT CounterID, count(), max(GoalsReached), min(GoalsReached), minIf(GoalsReached, notEmpty(GoalsReached)) FROM test.hits GROUP BY CounterID ORDER BY count() DESC LIMIT 20 diff --git a/dbms/tests/queries/1_stateful/00052_group_by_in.reference b/dbms/tests/queries/1_stateful/00052_group_by_in.reference new file mode 100644 index 00000000000..46bd3c48aa6 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00052_group_by_in.reference @@ -0,0 +1,14 @@ +2014-03-17 other 306 +2014-03-17 type_in 52 +2014-03-18 other 307 +2014-03-18 type_in 50 +2014-03-19 other 332 +2014-03-19 type_in 42 +2014-03-20 other 276 +2014-03-20 type_in 31 +2014-03-21 other 262 +2014-03-21 type_in 48 +2014-03-22 other 232 +2014-03-22 type_in 52 +2014-03-23 other 329 +2014-03-23 type_in 34 diff --git a/dbms/tests/queries/1_stateful/00052_group_by_in.sql b/dbms/tests/queries/1_stateful/00052_group_by_in.sql new file mode 100644 index 00000000000..17fb4acaaae --- /dev/null +++ b/dbms/tests/queries/1_stateful/00052_group_by_in.sql @@ -0,0 +1,4 @@ +select StartDate, TraficSourceID in (0) ? 'type_in' : 'other' as traf_type, sum(Sign) +from test.visits +where CounterID = 160656 +group by StartDate, traf_type ORDER BY StartDate, traf_type diff --git a/dbms/tests/queries/1_stateful/00053_replicate_segfault.reference b/dbms/tests/queries/1_stateful/00053_replicate_segfault.reference new file mode 100644 index 00000000000..d00491fd7e5 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00053_replicate_segfault.reference @@ -0,0 +1 @@ +1 diff --git a/dbms/tests/queries/1_stateful/00053_replicate_segfault.sql b/dbms/tests/queries/1_stateful/00053_replicate_segfault.sql new file mode 100644 index 00000000000..b727ae3aad8 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00053_replicate_segfault.sql @@ -0,0 +1 @@ +SELECT count() > 0 FROM (SELECT ParsedParams.Key1 AS p FROM test.visits WHERE arrayAll(y -> arrayExists(x -> y != x, p), p)) diff --git a/dbms/tests/queries/1_stateful/00054_merge_tree_partitions.reference b/dbms/tests/queries/1_stateful/00054_merge_tree_partitions.reference new file mode 100644 index 00000000000..43960608828 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00054_merge_tree_partitions.reference @@ -0,0 +1,12 @@ +475698 +42917 +432781 +432781 +0 +432781 +475698 +42917 +432781 +458792 +475698 +492604 diff --git a/dbms/tests/queries/1_stateful/00054_merge_tree_partitions.sql b/dbms/tests/queries/1_stateful/00054_merge_tree_partitions.sql new file mode 100644 index 00000000000..8e8ea29a9db --- /dev/null +++ b/dbms/tests/queries/1_stateful/00054_merge_tree_partitions.sql @@ -0,0 +1,36 @@ +DROP TABLE IF EXISTS test.partitions; +CREATE TABLE test.partitions (EventDate Date, CounterID UInt32) ENGINE = MergeTree(EventDate, CounterID, 8192); +INSERT INTO test.partitions SELECT EventDate + UserID % 365 AS EventDate, CounterID FROM test.hits WHERE CounterID = 731962; + + +SELECT count() FROM test.partitions; +SELECT count() FROM test.partitions WHERE EventDate >= toDate('2015-01-01') AND EventDate < toDate('2015-02-01'); +SELECT count() FROM test.partitions WHERE EventDate < toDate('2015-01-01') OR EventDate >= toDate('2015-02-01'); + +ALTER TABLE test.partitions DETACH PARTITION 201501; + +SELECT count() FROM test.partitions; +SELECT count() FROM test.partitions WHERE EventDate >= toDate('2015-01-01') AND EventDate < toDate('2015-02-01'); +SELECT count() FROM test.partitions WHERE EventDate < toDate('2015-01-01') OR EventDate >= toDate('2015-02-01'); + +ALTER TABLE test.partitions ATTACH PARTITION 201501; + +SELECT count() FROM test.partitions; +SELECT count() FROM test.partitions WHERE EventDate >= toDate('2015-01-01') AND EventDate < toDate('2015-02-01'); +SELECT count() FROM test.partitions WHERE EventDate < toDate('2015-01-01') OR EventDate >= toDate('2015-02-01'); + + +ALTER TABLE test.partitions DETACH PARTITION 201403; + +SELECT count() FROM test.partitions; + +INSERT INTO test.partitions SELECT EventDate + UserID % 365 AS EventDate, CounterID FROM test.hits WHERE CounterID = 731962 AND toStartOfMonth(EventDate) = toDate('2014-03-01'); + +SELECT count() FROM test.partitions; + +ALTER TABLE test.partitions ATTACH PARTITION 201403; + +SELECT count() FROM test.partitions; + + +DROP TABLE test.partitions; diff --git a/dbms/tests/queries/1_stateful/00055_index_and_not.reference b/dbms/tests/queries/1_stateful/00055_index_and_not.reference new file mode 100644 index 00000000000..6aa5d5ca5d6 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00055_index_and_not.reference @@ -0,0 +1 @@ +8873898 diff --git a/dbms/tests/queries/1_stateful/00055_index_and_not.sql b/dbms/tests/queries/1_stateful/00055_index_and_not.sql new file mode 100644 index 00000000000..faf3264be18 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00055_index_and_not.sql @@ -0,0 +1 @@ +SELECT count() FROM test.hits WHERE NOT (EventDate >= toDate('2015-01-01') AND EventDate < toDate('2015-02-01')) diff --git a/dbms/tests/queries/1_stateful/00056_view.reference b/dbms/tests/queries/1_stateful/00056_view.reference new file mode 100644 index 00000000000..16cf0436b1c --- /dev/null +++ b/dbms/tests/queries/1_stateful/00056_view.reference @@ -0,0 +1,31 @@ +109760 +2 23449 +1 18139 +3 9216 +4 8296 +5 5237 +6 4585 +7 3290 +8 3083 +9 2347 +10 2070 +1143050 523264 +731962 475698 +722545 337212 +722889 252197 +2237260 196036 +23057320 147211 +722818 90109 +48221 85379 +19762435 77807 +722884 77492 +1143050 523264 +731962 475698 +722545 337212 +722889 252197 +2237260 196036 +23057320 147211 +722818 90109 +48221 85379 +19762435 77807 +722884 77492 diff --git a/dbms/tests/queries/1_stateful/00056_view.sql b/dbms/tests/queries/1_stateful/00056_view.sql new file mode 100644 index 00000000000..5701cee3e15 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00056_view.sql @@ -0,0 +1,7 @@ +DROP TABLE IF EXISTS test.view; +CREATE VIEW test.view AS SELECT CounterID, count() AS c FROM test.hits GROUP BY CounterID; +SELECT count() FROM test.view; +SELECT c, count() FROM test.view GROUP BY c ORDER BY count() DESC LIMIT 10; +SELECT * FROM test.view ORDER BY c DESC LIMIT 10; +SELECT * FROM test.view SAMPLE 0.1 ORDER BY c DESC LIMIT 10; +DROP TABLE test.view; diff --git a/dbms/tests/queries/1_stateful/00059_merge_sorting_empty_array_joined.reference b/dbms/tests/queries/1_stateful/00059_merge_sorting_empty_array_joined.reference new file mode 100644 index 00000000000..e69de29bb2d diff --git a/dbms/tests/queries/1_stateful/00059_merge_sorting_empty_array_joined.sql b/dbms/tests/queries/1_stateful/00059_merge_sorting_empty_array_joined.sql new file mode 100644 index 00000000000..9ff482e4b46 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00059_merge_sorting_empty_array_joined.sql @@ -0,0 +1 @@ +SELECT CounterID FROM test.visits ARRAY JOIN Goals.ID WHERE CounterID = 731962 ORDER BY CounterID diff --git a/dbms/tests/queries/1_stateful/00060_move_to_prewhere_and_sets.reference b/dbms/tests/queries/1_stateful/00060_move_to_prewhere_and_sets.reference new file mode 100644 index 00000000000..60a2c1d1bb7 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00060_move_to_prewhere_and_sets.reference @@ -0,0 +1 @@ +4487 diff --git a/dbms/tests/queries/1_stateful/00060_move_to_prewhere_and_sets.sql b/dbms/tests/queries/1_stateful/00060_move_to_prewhere_and_sets.sql new file mode 100644 index 00000000000..f9691503385 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00060_move_to_prewhere_and_sets.sql @@ -0,0 +1,2 @@ +SET optimize_move_to_prewhere = 1; +SELECT uniq(URL) FROM test.hits WHERE TraficSourceID IN (7); diff --git a/dbms/tests/queries/1_stateful/00061_storage_buffer.reference b/dbms/tests/queries/1_stateful/00061_storage_buffer.reference new file mode 100644 index 00000000000..50a5f6923ea --- /dev/null +++ b/dbms/tests/queries/1_stateful/00061_storage_buffer.reference @@ -0,0 +1,4 @@ +2417 +0 +2417 +2417 diff --git a/dbms/tests/queries/1_stateful/00061_storage_buffer.sql b/dbms/tests/queries/1_stateful/00061_storage_buffer.sql new file mode 100644 index 00000000000..4e3f4b81394 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00061_storage_buffer.sql @@ -0,0 +1,16 @@ +DROP TABLE IF EXISTS test.hits_dst; +DROP TABLE IF EXISTS test.hits_buffer; + +CREATE TABLE test.hits_dst AS test.hits; +CREATE TABLE test.hits_buffer AS test.hits_dst ENGINE = Buffer(test, hits_dst, 8, 1, 10, 10000, 100000, 10000000, 100000000); + +INSERT INTO test.hits_buffer SELECT * FROM test.hits WHERE CounterID = 101500; +SELECT count() FROM test.hits_buffer; +SELECT count() FROM test.hits_dst; + +OPTIMIZE TABLE test.hits_buffer; +SELECT count() FROM test.hits_buffer; +SELECT count() FROM test.hits_dst; + +DROP TABLE test.hits_dst; +DROP TABLE test.hits_buffer; diff --git a/dbms/tests/queries/1_stateful/00062_loyalty.reference b/dbms/tests/queries/1_stateful/00062_loyalty.reference new file mode 100644 index 00000000000..266295d996d --- /dev/null +++ b/dbms/tests/queries/1_stateful/00062_loyalty.reference @@ -0,0 +1,12 @@ +-10 4291 ████████████████████████████████████████████████████████████████████████████▊ +-9 222 █████████████████████████████████████████████████▋ +-8 156 ██████████████████████████████████████████████▍ +-7 102 ██████████████████████████████████████████▌ +-6 91 █████████████████████████████████████████▌ +-5 100 ██████████████████████████████████████████▍ +5 87 █████████████████████████████████████████▏ +6 123 ████████████████████████████████████████████▎ +7 133 █████████████████████████████████████████████ +8 236 ██████████████████████████████████████████████████▎ +9 603 ██████████████████████████████████████████████████████████▊ +10 5604 ███████████████████████████████████████████████████████████████████████████████▎ diff --git a/dbms/tests/queries/1_stateful/00062_loyalty.sql b/dbms/tests/queries/1_stateful/00062_loyalty.sql new file mode 100644 index 00000000000..f57a303a15a --- /dev/null +++ b/dbms/tests/queries/1_stateful/00062_loyalty.sql @@ -0,0 +1 @@ +SELECT loyalty, count() AS c, bar(log(c + 1) * 1000, 0, log(6000) * 1000, 80) FROM (SELECT UserID, toInt8((yandex > google ? yandex / (yandex + google) : -google / (yandex + google)) * 10) AS loyalty FROM (SELECT UserID, sum(SearchEngineID = 2) AS yandex, sum(SearchEngineID = 3) AS google FROM test.hits WHERE SearchEngineID = 2 OR SearchEngineID = 3 GROUP BY UserID HAVING yandex + google > 10)) GROUP BY loyalty ORDER BY loyalty \ No newline at end of file diff --git a/dbms/tests/queries/1_stateful/00063_loyalty_joins.reference b/dbms/tests/queries/1_stateful/00063_loyalty_joins.reference new file mode 100644 index 00000000000..f43569bbd7a --- /dev/null +++ b/dbms/tests/queries/1_stateful/00063_loyalty_joins.reference @@ -0,0 +1,51 @@ +-10 1244506 +-9 145771 +-8 74083 +-7 52819 +-6 32860 +-5 54350 +0 3550514 +5 48423 +6 56766 +7 73688 +8 136048 +9 472052 +10 2932018 +-10 1244506 +-9 145771 +-8 74083 +-7 52819 +-6 32860 +-5 54350 +0 3550514 +5 48423 +6 56766 +7 73688 +8 136048 +9 472052 +10 2932018 +-10 1244506 +-9 145771 +-8 74083 +-7 52819 +-6 32860 +-5 54350 +0 3550514 +5 48423 +6 56766 +7 73688 +8 136048 +9 472052 +10 2932018 +-10 1244506 ███████████████████████████████████████████████████████████████████████████▎ +-9 145771 ███████████████████████████████████████████████████████████████▋ +-8 74083 ████████████████████████████████████████████████████████████▏ +-7 52819 ██████████████████████████████████████████████████████████▎ +-6 32860 ███████████████████████████████████████████████████████▋ +-5 54350 ██████████████████████████████████████████████████████████▍ +5 48423 █████████████████████████████████████████████████████████▋ +6 56766 ██████████████████████████████████████████████████████████▋ +7 73688 ████████████████████████████████████████████████████████████ +8 136048 ███████████████████████████████████████████████████████████████▍ +9 472052 ██████████████████████████████████████████████████████████████████████ +10 2932018 ███████████████████████████████████████████████████████████████████████████████▊ diff --git a/dbms/tests/queries/1_stateful/00063_loyalty_joins.sql b/dbms/tests/queries/1_stateful/00063_loyalty_joins.sql new file mode 100644 index 00000000000..f24a4221779 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00063_loyalty_joins.sql @@ -0,0 +1,94 @@ +SELECT + loyalty, + count() +FROM test.hits ANY LEFT JOIN +( + SELECT + UserID, + sum(SearchEngineID = 2) AS yandex, + sum(SearchEngineID = 3) AS google, + toInt8(if(yandex > google, yandex / (yandex + google), -google / (yandex + google)) * 10) AS loyalty + FROM test.hits + WHERE (SearchEngineID = 2) OR (SearchEngineID = 3) + GROUP BY UserID + HAVING (yandex + google) > 10 +) USING UserID +GROUP BY loyalty +ORDER BY loyalty ASC; + + +SELECT + loyalty, + count() +FROM +( + SELECT UserID + FROM test.hits +) ANY LEFT JOIN +( + SELECT + UserID, + sum(SearchEngineID = 2) AS yandex, + sum(SearchEngineID = 3) AS google, + toInt8(if(yandex > google, yandex / (yandex + google), -google / (yandex + google)) * 10) AS loyalty + FROM test.hits + WHERE (SearchEngineID = 2) OR (SearchEngineID = 3) + GROUP BY UserID + HAVING (yandex + google) > 10 +) USING UserID +GROUP BY loyalty +ORDER BY loyalty ASC; + + +SELECT + loyalty, + count() +FROM +( + SELECT + loyalty, + UserID + FROM + ( + SELECT UserID + FROM test.hits + ) ANY LEFT JOIN + ( + SELECT + UserID, + sum(SearchEngineID = 2) AS yandex, + sum(SearchEngineID = 3) AS google, + toInt8(if(yandex > google, yandex / (yandex + google), -google / (yandex + google)) * 10) AS loyalty + FROM test.hits + WHERE (SearchEngineID = 2) OR (SearchEngineID = 3) + GROUP BY UserID + HAVING (yandex + google) > 10 + ) USING UserID +) +GROUP BY loyalty +ORDER BY loyalty ASC; + + +SELECT + loyalty, + count() AS c, + bar(log(c + 1) * 1000, 0, log(3000000) * 1000, 80) +FROM test.hits ANY INNER JOIN +( + SELECT + UserID, + toInt8(if(yandex > google, yandex / (yandex + google), -google / (yandex + google)) * 10) AS loyalty + FROM + ( + SELECT + UserID, + sum(SearchEngineID = 2) AS yandex, + sum(SearchEngineID = 3) AS google + FROM test.hits + WHERE (SearchEngineID = 2) OR (SearchEngineID = 3) + GROUP BY UserID + HAVING (yandex + google) > 10 + ) +) USING UserID +GROUP BY loyalty +ORDER BY loyalty ASC; diff --git a/dbms/tests/queries/1_stateful/00065_loyalty_with_storage_join.reference b/dbms/tests/queries/1_stateful/00065_loyalty_with_storage_join.reference new file mode 100644 index 00000000000..6ce4ca04eea --- /dev/null +++ b/dbms/tests/queries/1_stateful/00065_loyalty_with_storage_join.reference @@ -0,0 +1,24 @@ +-10 1244506 +-9 145771 +-8 74083 +-7 52819 +-6 32860 +-5 54350 +5 48423 +6 56766 +7 73688 +8 136048 +9 472052 +10 2932018 +-10 1244506 +-9 145771 +-8 74083 +-7 52819 +-6 32860 +-5 54350 +5 48423 +6 56766 +7 73688 +8 136048 +9 472052 +10 2932018 diff --git a/dbms/tests/queries/1_stateful/00065_loyalty_with_storage_join.sql b/dbms/tests/queries/1_stateful/00065_loyalty_with_storage_join.sql new file mode 100644 index 00000000000..f009a856ba9 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00065_loyalty_with_storage_join.sql @@ -0,0 +1,34 @@ +USE test; + +DROP TABLE IF EXISTS join; +CREATE TABLE join (UserID UInt64, loyalty Int8) ENGINE = Join(ANY, INNER, UserID); + +INSERT INTO join +SELECT + UserID, + toInt8(if((sum(SearchEngineID = 2) AS yandex) > (sum(SearchEngineID = 3) AS google), + yandex / (yandex + google), + -google / (yandex + google)) * 10) AS loyalty +FROM hits +WHERE (SearchEngineID = 2) OR (SearchEngineID = 3) +GROUP BY UserID +HAVING (yandex + google) > 10; + +SELECT + loyalty, + count() +FROM hits ANY INNER JOIN join USING UserID +GROUP BY loyalty +ORDER BY loyalty ASC; + +DETACH TABLE join; +ATTACH TABLE join (UserID UInt64, loyalty Int8) ENGINE = Join(ANY, INNER, UserID); + +SELECT + loyalty, + count() +FROM hits ANY INNER JOIN join USING UserID +GROUP BY loyalty +ORDER BY loyalty ASC; + +DROP TABLE join; diff --git a/dbms/tests/queries/1_stateful/00066_sorting_distributed_many_replicas.reference b/dbms/tests/queries/1_stateful/00066_sorting_distributed_many_replicas.reference new file mode 100644 index 00000000000..138e8df8fe4 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00066_sorting_distributed_many_replicas.reference @@ -0,0 +1,10 @@ +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 +2014-03-23 23:59:59 diff --git a/dbms/tests/queries/1_stateful/00066_sorting_distributed_many_replicas.sql b/dbms/tests/queries/1_stateful/00066_sorting_distributed_many_replicas.sql new file mode 100644 index 00000000000..d0636133186 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00066_sorting_distributed_many_replicas.sql @@ -0,0 +1,2 @@ +SET max_parallel_replicas = 2; +SELECT EventTime FROM remote('127.0.0.{1|2}', test, hits) ORDER BY EventTime DESC LIMIT 10 diff --git a/dbms/tests/queries/1_stateful/00067_union_all.reference b/dbms/tests/queries/1_stateful/00067_union_all.reference new file mode 100644 index 00000000000..0a5bc0f84e0 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00067_union_all.reference @@ -0,0 +1,20 @@ +5994089094820940230 2 +5994089094820940230 2 +5994090037056589214 2 +5994090037056589214 2 +5994090037056589214 2 +5994090037056589214 2 +5994090037056589214 2 +5994090037056589214 2 +5994090526165207301 2 +5994090526165207301 2 +18442957653752051221 1 +18442957653752051221 1 +18442957653752051221 1 +18442957653752051221 1 +18443101109984791817 1 +18443101109984791817 1 +18443101109984791817 1 +18443101109984791817 1 +18443935406854847385 1 +18443935406854847385 1 diff --git a/dbms/tests/queries/1_stateful/00067_union_all.sql b/dbms/tests/queries/1_stateful/00067_union_all.sql new file mode 100644 index 00000000000..2a1d00e975d --- /dev/null +++ b/dbms/tests/queries/1_stateful/00067_union_all.sql @@ -0,0 +1,13 @@ +SELECT * FROM +( + SELECT UserID AS id, 1 AS event + FROM remote('127.0.0.{1,2}', test, hits) + ORDER BY id DESC + LIMIT 10 +UNION ALL + SELECT FUniqID AS id, 2 AS event + FROM remote('127.0.0.{1,2}', test, hits) + ORDER BY id DESC + LIMIT 10 +) +ORDER BY id, event; diff --git a/dbms/tests/queries/1_stateful/00068_subquery_in_prewhere.reference b/dbms/tests/queries/1_stateful/00068_subquery_in_prewhere.reference new file mode 100644 index 00000000000..90f1ab13794 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00068_subquery_in_prewhere.reference @@ -0,0 +1 @@ +66498 diff --git a/dbms/tests/queries/1_stateful/00068_subquery_in_prewhere.sql b/dbms/tests/queries/1_stateful/00068_subquery_in_prewhere.sql new file mode 100644 index 00000000000..d84bacbf692 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00068_subquery_in_prewhere.sql @@ -0,0 +1 @@ +SELECT count() FROM test.hits PREWHERE UserID IN (SELECT UserID FROM test.hits WHERE CounterID = 101500); diff --git a/dbms/tests/queries/1_stateful/00069_duplicate_aggregation_keys.reference b/dbms/tests/queries/1_stateful/00069_duplicate_aggregation_keys.reference new file mode 100644 index 00000000000..4fee49b4716 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00069_duplicate_aggregation_keys.reference @@ -0,0 +1,52 @@ +http://images.yandex.ru/yandsearch?text=картинки ракеты в космосе&stype=image&lr=35&noreask=1&source=wiz 2014-03-18 http://images.yandex.ru/yandsearch?text=картинки ракеты в космосе&stype=image&lr=35&noreask=1&source=wiz +http://images.yandex.ru/yandsearch?text=планеты картинки&img_url=http:%2F%2Fcomments.ua%2Fimg%2F20110328143805.jpg&pos=7&rpt=simage&lr=35&noreask=1&source=wiz 2014-03-18 http://images.yandex.ru/yandsearch?text=планеты картинки&img_url=http:%2F%2Fcomments.ua%2Fimg%2F20110328143805.jpg&pos=7&rpt=simage&lr=35&noreask=1&source=wiz +http://images.yandex.ru/yandsearch?text=планеты картинки&stype=image&lr=35&noreask=1&source=wiz 2014-03-18 http://images.yandex.ru/yandsearch?text=планеты картинки&stype=image&lr=35&noreask=1&source=wiz +http://images.yandex.ru/yandsearch?text=раскраски для мальчиков&stype=image&lr=35&noreask=1&source=wiz 2014-03-20 http://images.yandex.ru/yandsearch?text=раскраски для мальчиков&stype=image&lr=35&noreask=1&source=wiz +http://images.yandex.ru/yandsearch?text=русская народная ярмарка картинки&img_url=http:%2F%2Fcs405226.userapi.com%2Fv405226882%2F2629%2Fr7DF4nIozfo.jpg&pos=1&rpt=simage&lr=35&noreask=1&source=wiz 2014-03-18 http://images.yandex.ru/yandsearch?text=русская народная ярмарка картинки&img_url=http:%2F%2Fcs405226.userapi.com%2Fv405226882%2F2629%2Fr7DF4nIozfo.jpg&pos=1&rpt=simage&lr=35&noreask=1&source=wiz +http://images.yandex.ru/yandsearch?text=русская народная ярмарка картинки&stype=image&lr=35&noreask=1&source=wiz 2014-03-18 http://images.yandex.ru/yandsearch?text=русская народная ярмарка картинки&stype=image&lr=35&noreask=1&source=wiz +http://images.yandex.ru/yandsearch?text=русская народная ярмарка рисунки&stype=image&lr=35&noreask=1&source=wiz 2014-03-18 http://images.yandex.ru/yandsearch?text=русская народная ярмарка рисунки&stype=image&lr=35&noreask=1&source=wiz +http://images.yandex.ru/yandsearch?text=ярмарка картинки рисунки&stype=image&lr=35&noreask=1&source=wiz 2014-03-18 http://images.yandex.ru/yandsearch?text=ярмарка картинки рисунки&stype=image&lr=35&noreask=1&source=wiz +http://images.yandex.ru/yandsearch?text=ярмарка картинки&stype=image&lr=35&noreask=1&source=wiz 2014-03-18 http://images.yandex.ru/yandsearch?text=ярмарка картинки&stype=image&lr=35&noreask=1&source=wiz +http://yabs.yandex.ru/count/9Fi4y9pf9Uu40000ZhiZrp85KfK1cm9kGxS198Yrp0QG1Oco2fLM0PYCAPshshu6fbYAfsmLrBs-gZmA0Qe1fQoMomAD0P6tm7fG0O-vvR6F0f-yMKpz2fCZcGL2Z90r3A2Gc3gla3KCb9229AUUNYoee5W86AIm0000WQx-3nB9IZGmzGIn0RA04Bchshu6k_cm1WlFsxvC0duH 2014-03-22 http://yabs.yandex.ru/count/9Fi4y9pf9Uu40000ZhiZrp85KfK1cm9kGxS198Yrp0QG1Oco2fLM0PYCAPshshu6fbYAfsmLrBs-gZmA0Qe1fQoMomAD0P6tm7fG0O-vvR6F0f-yMKpz2fCZcGL2Z90r3A2Gc3gla3KCb9229AUUNYoee5W86AIm0000WQx-3nB9IZGmzGIn0RA04Bchshu6k_cm1WlFsxvC0duH +http://yandex.ru/sitesearch?searchid=1887792&100n=ru&reqenc=&text=&Submit=Поиск 2014-03-22 http://yandex.ru/sitesearch?searchid=1887792&100n=ru&reqenc=&text=&Submit=Поиск +http://yandex.ru/yandsearch?lr=35&msid=20933.19395.1395338687.75786&text=гдз 2014-03-20 http://yandex.ru/yandsearch?lr=35&msid=20933.19395.1395338687.75786&text=гдз +http://yandex.ru/yandsearch?lr=35&msid=20943.9035.1395477291.50774&text=шуточная клятва пенсионера женщины 2014-03-22 http://yandex.ru/yandsearch?lr=35&msid=20943.9035.1395477291.50774&text=шуточная клятва пенсионера женщины +http://yandex.ru/yandsearch?lr=35&msid=20953.3223.1395159223.1527&text=смайлики вк скрытые 2014-03-18 http://yandex.ru/yandsearch?lr=35&msid=20953.3223.1395159223.1527&text=смайлики вк скрытые +http://yandex.ru/yandsearch?lr=35&msid=22871.10212.1395165538.52533&text=русская народная ярмарка картинки 2014-03-18 http://yandex.ru/yandsearch?lr=35&msid=22871.10212.1395165538.52533&text=русская народная ярмарка картинки +http://yandex.ru/yandsearch?lr=35&msid=22876.29908.1395165501.19017&text=русская народная ярмарка картинки 2014-03-18 http://yandex.ru/yandsearch?lr=35&msid=22876.29908.1395165501.19017&text=русская народная ярмарка картинки +http://yandex.ru/yandsearch?lr=35&msid=22878.24291.1395333478.42148&text=7лепестков 2014-03-20 http://yandex.ru/yandsearch?lr=35&msid=22878.24291.1395333478.42148&text=7лепестков +http://yandex.ru/yandsearch?lr=35&msid=22885.24948.1395159598.71259&text=пессимист 2014-03-18 http://yandex.ru/yandsearch?lr=35&msid=22885.24948.1395159598.71259&text=пессимист +http://yandex.ru/yandsearch?lr=35&msid=22889.4244.1395162598.65317&text=планеты картинки 2014-03-18 http://yandex.ru/yandsearch?lr=35&msid=22889.4244.1395162598.65317&text=планеты картинки +http://yandex.ru/yandsearch?lr=35&msid=22889.4252.1395165264.65698&text=ярмарка картинки 2014-03-18 http://yandex.ru/yandsearch?lr=35&msid=22889.4252.1395165264.65698&text=ярмарка картинки +http://yandex.ru/yandsearch?lr=35&msid=22894.2811.1395171040.46029&text=планеты картинки 2014-03-18 http://yandex.ru/yandsearch?lr=35&msid=22894.2811.1395171040.46029&text=планеты картинки +http://yandex.ru/yandsearch?lr=35&msid=22895.12503.1395323042.95018&text=раскраски для мальчиков 2014-03-20 http://yandex.ru/yandsearch?lr=35&msid=22895.12503.1395323042.95018&text=раскраски для мальчиков +http://yandex.ru/yandsearch?p=1&text=прикольные тосты с выходом на пенсию женщине в прозе&lr=35 2014-03-22 http://yandex.ru/yandsearch?p=1&text=прикольные тосты с выходом на пенсию женщине в прозе&lr=35 +http://yandex.ru/yandsearch?p=1&text=сценарий проводов на пенсию женщины&lr=35 2014-03-22 http://yandex.ru/yandsearch?p=1&text=сценарий проводов на пенсию женщины&lr=35 +http://yandex.ru/yandsearch?p=1&text=шуточные вопросы и ответы для гостей&lr=35 2014-03-22 http://yandex.ru/yandsearch?p=1&text=шуточные вопросы и ответы для гостей&lr=35 +http://yandex.ru/yandsearch?p=1&text=шуточные песни к выходу на пенсию&lr=35 2014-03-22 http://yandex.ru/yandsearch?p=1&text=шуточные песни к выходу на пенсию&lr=35 +http://yandex.ru/yandsearch?p=1&text=шуточные песни-переделки к выходу на пенсию женщине скачать&lr=35 2014-03-22 http://yandex.ru/yandsearch?p=1&text=шуточные песни-переделки к выходу на пенсию женщине скачать&lr=35 +http://yandex.ru/yandsearch?p=1&text=шуточные тосты с выходом на пенсию женщине&lr=35 2014-03-22 http://yandex.ru/yandsearch?p=1&text=шуточные тосты с выходом на пенсию женщине&lr=35 +http://yandex.ru/yandsearch?p=2&text=прикольные тосты с выходом на пенсию женщине в прозе&lr=35 2014-03-22 http://yandex.ru/yandsearch?p=2&text=прикольные тосты с выходом на пенсию женщине в прозе&lr=35 +http://yandex.ru/yandsearch?p=2&text=сценарий проводов на пенсию женщины&lr=35 2014-03-22 http://yandex.ru/yandsearch?p=2&text=сценарий проводов на пенсию женщины&lr=35 +http://yandex.ru/yandsearch?text=Seemon – Играли нервы, летели ножи текст песни&lr=35 2014-03-18 http://yandex.ru/yandsearch?text=Seemon – Играли нервы, летели ножи текст песни&lr=35 +http://yandex.ru/yandsearch?text=Seemon – Играли нервы, летели ножи&lr=35 2014-03-18 http://yandex.ru/yandsearch?text=Seemon – Играли нервы, летели ножи&lr=35 +http://yandex.ru/yandsearch?text=картинки ракеты в космосе&lr=35 2014-03-18 http://yandex.ru/yandsearch?text=картинки ракеты в космосе&lr=35 +http://yandex.ru/yandsearch?text=картинки ракеты для детей&lr=35 2014-03-18 http://yandex.ru/yandsearch?text=картинки ракеты для детей&lr=35 +http://yandex.ru/yandsearch?text=пессимизм это&lr=35 2014-03-18 http://yandex.ru/yandsearch?text=пессимизм это&lr=35 +http://yandex.ru/yandsearch?text=пессимист и оптимист&lr=35 2014-03-18 http://yandex.ru/yandsearch?text=пессимист и оптимист&lr=35 +http://yandex.ru/yandsearch?text=прикольные тосты с выходом на пенсию женщине в прозе&lr=35 2014-03-22 http://yandex.ru/yandsearch?text=прикольные тосты с выходом на пенсию женщине в прозе&lr=35 +http://yandex.ru/yandsearch?text=прикольные тосты с выходом на пенсию женщине&lr=35 2014-03-22 http://yandex.ru/yandsearch?text=прикольные тосты с выходом на пенсию женщине&lr=35 +http://yandex.ru/yandsearch?text=русская народная ярмарка картинки&lr=35 2014-03-18 http://yandex.ru/yandsearch?text=русская народная ярмарка картинки&lr=35 +http://yandex.ru/yandsearch?text=русская народная ярмарка рисунки &lr=35 2014-03-18 http://yandex.ru/yandsearch?text=русская народная ярмарка рисунки &lr=35 +http://yandex.ru/yandsearch?text=смайлики вк скрытые&lr=35 2014-03-18 http://yandex.ru/yandsearch?text=смайлики вк скрытые&lr=35 +http://yandex.ru/yandsearch?text=сценарий проводов на пенсию женщины от подруг дома&lr=35 2014-03-22 http://yandex.ru/yandsearch?text=сценарий проводов на пенсию женщины от подруг дома&lr=35 +http://yandex.ru/yandsearch?text=сценарий проводов на пенсию женщины&lr=35 2014-03-22 http://yandex.ru/yandsearch?text=сценарий проводов на пенсию женщины&lr=35 +http://yandex.ru/yandsearch?text=шуточные вопросы и ответы для гостей&lr=35 2014-03-22 http://yandex.ru/yandsearch?text=шуточные вопросы и ответы для гостей&lr=35 +http://yandex.ru/yandsearch?text=шуточные дипломы к выходу на пенсию женщине&lr=35 2014-03-22 http://yandex.ru/yandsearch?text=шуточные дипломы к выходу на пенсию женщине&lr=35 +http://yandex.ru/yandsearch?text=шуточные дипломы к выходу на пенсию&lr=35 2014-03-22 http://yandex.ru/yandsearch?text=шуточные дипломы к выходу на пенсию&lr=35 +http://yandex.ru/yandsearch?text=шуточные песни к выходу на пенсию женщине скачать&lr=35 2014-03-22 http://yandex.ru/yandsearch?text=шуточные песни к выходу на пенсию женщине скачать&lr=35 +http://yandex.ru/yandsearch?text=шуточные песни к выходу на пенсию&lr=35 2014-03-22 http://yandex.ru/yandsearch?text=шуточные песни к выходу на пенсию&lr=35 +http://yandex.ru/yandsearch?text=шуточные песни-переделки к выходу на пенсию женщине скачать&lr=35 2014-03-22 http://yandex.ru/yandsearch?text=шуточные песни-переделки к выходу на пенсию женщине скачать&lr=35 +http://yandex.ru/yandsearch?text=шуточные поздравления с выходом на пенсию женщине&lr=35 2014-03-22 http://yandex.ru/yandsearch?text=шуточные поздравления с выходом на пенсию женщине&lr=35 +http://yandex.ru/yandsearch?text=шуточные тосты с выходом на пенсию женщине&lr=35 2014-03-22 http://yandex.ru/yandsearch?text=шуточные тосты с выходом на пенсию женщине&lr=35 +http://yandex.ru/yandsearch?text=ярмарка картинки рисунки&lr=35 2014-03-18 http://yandex.ru/yandsearch?text=ярмарка картинки рисунки&lr=35 diff --git a/dbms/tests/queries/1_stateful/00069_duplicate_aggregation_keys.sql b/dbms/tests/queries/1_stateful/00069_duplicate_aggregation_keys.sql new file mode 100644 index 00000000000..ec92d4a8ace --- /dev/null +++ b/dbms/tests/queries/1_stateful/00069_duplicate_aggregation_keys.sql @@ -0,0 +1 @@ +SELECT URL, EventDate, max(URL) FROM test.hits WHERE CounterID = 731962 AND UserID = 2651474201385397001 GROUP BY URL, EventDate, EventDate ORDER BY URL, EventDate; diff --git a/dbms/tests/queries/1_stateful/00071_merge_tree_optimize_aio.reference b/dbms/tests/queries/1_stateful/00071_merge_tree_optimize_aio.reference new file mode 100644 index 00000000000..d366a28c867 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00071_merge_tree_optimize_aio.reference @@ -0,0 +1,100 @@ +2014-03-18 00:00:00 2014-03-18 152905 1149766421370435682 http://podrobnosti.ua/kaleidoscope/2014/03/17/965156.html http://podrobnosti.ua/society/2014/02/19/959834.html +2014-03-18 00:00:00 2014-03-18 303268 5927163351345602343 http://5-shagov.ru/grippe/ http://5-shagov.ru/parents/hospitalization.php +2014-03-18 00:00:00 2014-03-18 722884 8841128461379701592 http://youtube.com/watch?v=JeOfJi4ZPXw http://yandex.ru/video/search?text=Girlicious - Stupid Shit танцы&filmId=JrZrradeUXI +2014-03-18 00:00:00 2014-03-18 722889 712457281393857753 http://images.yandex.ua/yandsearch?text=тату для мужчин&img_url=http:%2F%2Fi1031.photobucket.com%2Falbums%2Fy379%2Fviki_loves_me%2Fpic_355.jpg&pos=5&rpt=simage&lr=10363&noreask=1&source=wiz http://yandex.ua/yandsearch?text=тату для мужщин&lr=10363 +2014-03-18 00:00:00 2014-03-18 731962 6127057901301120896 http://yandex.ru/yandsearch?text=как правильно посадить лилию в грунт&lr=213 http://yandex.ru/yandsearch?lr=213&oprnd=5603136039&text=как правильно посадить лилию в горшок +2014-03-18 00:00:00 2014-03-18 4308403 260966421390077298 http://lenta.ru/rubrics/ussr/ +2014-03-18 00:00:00 2014-03-18 10095472 3034723561394017307 http://kolesa.kz/a/show/15015981 http://auto.yandex.ru/volkswagen/passat/6391673?state=USED +2014-03-18 00:00:00 2014-03-18 11229106 799814451394901442 http://prntscr.com/31iiin +2014-03-18 00:00:00 2014-03-18 21263557 1158837751395057041 http://hugesex.tv/ar/newest.html http://hugesex.tv/ar/خولات.html +2014-03-18 00:00:00 2014-03-18 23785906 47041921395093581 http://mcums.com/videos/licking-and-fucking-shaved-pussy-of-brunette-gf/ http://mcums.com/tags/pussy-licking/ +2014-03-18 00:00:01 2014-03-18 132528 7556707501378763475 http://eva.ru/jsf/forum/frame-content-post-message.jsp?topicId=3236928&boardId=131&messageId=84758330 http://eva.ru/jsf/forum/frame-content-tree-topic-messages.jsp?topicId=3236928&reload=&showAll=false&reloadTo= +2014-03-18 00:00:01 2014-03-18 722889 1211651541357579377 http://images.yandex.ru/yandsearch?source=wiz&fp=0&text=хайрюнниса гюль&noreask=1&pos=18&lr=101084&rpt=simage&uinfo=ww-980-wh-598-fw-938-fh-448-pd-2&img_url=http:%2F%2Fimgnews.hurriyet.com.tr%2FLiveImages\\photonews\\Today\'s News in Pictures - Feb. 13, 2009\\5.jpg http://yandex.ru/yandsearch?lr=101084&text=хайрюнниса гюль +2014-03-18 00:00:01 2014-03-18 731962 1996577731349080058 http://yandex.by/yandsearch?text=каскад&clid=9582&lr=157 http://yandex.by/yandsearch?rdrnd=764250&text=01100011&clid=9582&lr=157&redircnt=1395086250.1 +2014-03-18 00:00:01 2014-03-18 922978 2402137561319480416 http://segodnya.ua/allnews/p3.html http://segodnya.ua/allnews/p2.html +2014-03-18 00:00:01 2014-03-18 1143050 2007287821344978095 https://mail.yandex.ru/for/webprofiters.ru/neo2/#folder/2090000160054569829 https://mail.yandex.ru/for/webprofiters.ru/neo2/#inbox/thread/2090000004677772251 +2014-03-18 00:00:01 2014-03-18 5503465 3099908391394899634 http://lamoda.ru/c/563/bags-sumki-chehli/?genders=women&sitelink=topmenu http://lamoda.ru/?ef_id=UyYS-wAABWroAQsl:20140317195941:s +2014-03-18 00:00:01 2014-03-18 9927757 1886498191394574261 http://yandex.com.tr/ +2014-03-18 00:00:01 2014-03-18 10193245 5187318751332874613 https://parimatch.by/ https://parimatch.by/?login=1 +2014-03-18 00:00:01 2014-03-18 10849243 712457281393857753 http://images.yandex.ua/yandsearch?text=тату для мужчин&img_url=http:%2F%2Fi1031.photobucket.com%2Falbums%2Fy379%2Fviki_loves_me%2Fpic_355.jpg&pos=5&rpt=simage&lr=10363&noreask=1&source=wiz http://yandex.ua/yandsearch?text=тату для мужщин&lr=10363 +2014-03-18 00:00:01 2014-03-18 12725416 6312826621394013737 goal://megogo.net/playtime http://megogo.net/ru/view/44131-zakrytaya-shkola-sezon-2-seriya-24.html +2014-03-18 00:00:01 2014-03-18 16436437 9135489181394970660 http://naitimp3.com/search/?query=Сектор Газа Роковой год 1999 http://go.mail.ru/search?q=сектор газа в роковой год можете мне не верить 1999 слушать +2014-03-18 00:00:01 2014-03-18 23414332 303872061330707283 http://blognews.am/arm/press/141257/ https://facebook.com/ +2014-03-18 00:00:01 2014-03-18 23544181 303872061330707283 http://blognews.am/arm/press/141257/ https://facebook.com/ +2014-03-18 00:00:01 2014-03-18 24129763 2090186401395086374 http://flvto.com/es/ +2014-03-18 00:00:02 2014-03-18 731962 2415724631390139276 http://yandex.ru/yandsearch?text=смотреть аниме очень приятно, бог&lr=213 http://yandex.ru/yandsearch?lr=213&text=смотреть аниме удар крови +2014-03-18 00:00:02 2014-03-18 1143050 2007287821344978095 https://mail.yandex.ru/for/webprofiters.ru/neo2/#folder/2090000160054569829/thread/2090000001841781953 +2014-03-18 00:00:02 2014-03-18 1143050 2007287821344978095 https://mail.yandex.ru/for/webprofiters.ru/neo2/#folder/2090000160054569829/thread/2090000001841781953 https://mail.yandex.ru/for/webprofiters.ru/neo2/#folder/2090000160054569829 +2014-03-18 00:00:02 2014-03-18 10041976 4249766291378661688 http://magazin-gobelenov.ru/catalog/elizabet/ http://magazin-gobelenov.ru/catalog/angelina/ +2014-03-18 00:00:02 2014-03-18 10740559 5234980771391796639 http://ludivteme.com/user/contacts/ http://ludivteme.com/user/post/?uId=2617253&postId=2713054&ref=fav +2014-03-18 00:00:02 2014-03-18 11492179 690778681385387852 http://ru.tsn.ua/politika +2014-03-18 00:00:02 2014-03-18 12539611 1949138091341424951 http://pup-sik.ru/main/8-tanki-onlajn.html +2014-03-18 00:00:02 2014-03-18 13814323 48915321355515668 http://lentaporno.com/minet/page/2/ +2014-03-18 00:00:02 2014-03-18 15044245 4249766291378661688 http://magazin-gobelenov.ru/catalog/elizabet/ http://magazin-gobelenov.ru/catalog/angelina/ +2014-03-18 00:00:02 2014-03-18 16137184 1595224551373963471 http://seria-online.ru/100579-v-lesah-i-na-gorah-1-sezon-20-serija.html#pInfoData http://seria-online.ru/100578-v-lesah-i-na-gorah-1-sezon-19-serija.html +2014-03-18 00:00:02 2014-03-18 19957570 355266201395086276 http://photos.wowgirls.com/aa73789d/MTY1MjY6NDQ6MzI/ http://milkmanbook.com/ +2014-03-18 00:00:02 2014-03-18 23194813 2630182581386173797 http://posta.com.tr/magazin/GaleriHaber/Cicekciyi-gorunce---.htm?ArticleID=220836&PageIndex=3 http://posta.com.tr/magazin/GaleriHaber/Cicekciyi-gorunce---.htm?ArticleID=220836&PageIndex=2 +2014-03-18 00:00:02 2014-03-18 23414332 1949138091341424951 http://pup-sik.ru/main/8-tanki-onlajn.html +2014-03-18 00:00:02 2014-03-18 23427556 1167178261394699416 goal://debilizator.tv/Online http://debilizator.tv/tnt/ +2014-03-18 00:00:02 2014-03-18 24322408 531864411394811824 http://sefan.mobi/yo.php?id=6&place=main http://sefan.ru/ +2014-03-18 00:00:03 2014-03-18 115931 62014561357385318 http://aukro.ua/videoregistratory-111986?a_enum[695][1]=1&change_view=Найти >&listing_interval=7&listing_sel=2&order=qd&offerTypeBuyNow=1&ap=1&aid=17390505 +2014-03-18 00:00:03 2014-03-18 731962 4598420951330592755 http://yandex.ru/yandsearch?lr=43&msid=22881.14658.1395086392.12925&oprnd=9814174567&text=авито http://yandex.ru/ +2014-03-18 00:00:03 2014-03-18 942065 728339451390597173 http://utkonos.ru/cat/catalogue/41/page/3?property[]=480:230849 http://utkonos.ru/cat/catalogue/41/page/3?property[]=56:409&property[]=480:230849 +2014-03-18 00:00:03 2014-03-18 1143050 2007287821344978095 https://mail.yandex.ru/for/webprofiters.ru/neo2/#folder/2090000160054569829/thread/2090000001841781953 +2014-03-18 00:00:03 2014-03-18 6599752 1618423011295641161 http://pornoload.com/video/gestkoe http://pornoload.com/video/orgii +2014-03-18 00:00:03 2014-03-18 23609092 303872061330707283 http://blognews.am/arm/press/141257/ https://facebook.com/ +2014-03-18 00:00:03 2014-03-18 24142063 1833987961394132913 http://searcher.takataka.coccoc.com/searcher/frame/default?abid=fdbb8847fde149930234e02fc55dc6f0 http://tinngoisao.vn/tin-tuc/lo-dien-thi-sinh-cua-hoa-hau-phu-nhan-tai-my-2014 +2014-03-18 00:00:04 2014-03-18 62180 773991171388847630 http://rutube.ru/video/9049a252a077b229303b4cbe3fd08cd1/ http://rutube.ru/popup_http://rutube.ru/video/9049a252a077b229303b4cbe3fd08cd1/ +2014-03-18 00:00:04 2014-03-18 62180 773991171388847630 http://rutube.ru/video/9049a252a077b229303b4cbe3fd08cd1/ http://rutube.ru/popup_http://rutube.ru/video/9049a252a077b229303b4cbe3fd08cd1/ +2014-03-18 00:00:04 2014-03-18 722545 913874051395084276 http://yandex.ru/ +2014-03-18 00:00:04 2014-03-18 722889 824625261393690464 http://images.yandex.ua/yandsearch?tld=ua&p=5&text=ржачные картинки&fp=5&pos=167&uinfo=ww-1905-wh-936-fw-1680-fh-598-pd-1&rpt=simage&img_url=http:%2F%2Fcs7002.userapi.com%2Fv7002416%2F30%2FyjhueCmnUIc.jpg http://yandex.ua/ +2014-03-19 00:00:00 2014-03-19 722545 695702261356209942 http://yandex.by/ +2014-03-19 00:00:00 2014-03-19 722545 7181768941378219775 http://yandex.ru/ +2014-03-19 00:00:00 2014-03-19 722545 9484883841392744913 http://yandex.ru/ +2014-03-19 00:00:00 2014-03-19 731962 7190331241393769781 http://yandex.ua/yandsearch?text=.Народная Солянка + Поиски чернобыльского Шахматиста прохождение.контейнер калмыка&clid=2070746&lr=143 +2014-03-19 00:00:00 2014-03-19 2237260 4222828211330284262 http://avito.ru/kamensk-shahtinskiy?p=2 http://avito.ru/kamensk-shahtinskiy +2014-03-19 00:00:00 2014-03-19 12901042 2297304011387025366 http://radario.ru/vk/app?appKey=685c02962351452f9dc5497cad23fa9d&api_url=http://api.vk.com/api.php&api_id=3786618&api_settings=0&viewer_id=1528921&viewer_type=0&sid=4527ab66148ec89be4b6f51b9b8236e8caec812dcf6aded81d0908ed794b8ec513824a549e7bbad3bd2ef&secret=d54dbc6532&access_token=e619ee54a2d5687ac4147c0d6b35adbd36827847a05983c5e7f407288f02281b0708e1be5dc4f1da03c5c&user_id=0&group_id=0&is_app_user=0&auth_key=0bc4451e889647c1d615673e5fe39422&language=0&parent_language=0&ad_info=ElsdCQBZQ11tBwVNRARQBHR/FAsmMQxVUUZGNgBQbwYfQyQrWQA=&is_secure=0&ads_app_id=3786618_47e214d0ab09e5d822&api_result={"response":[{"uid":1528921,"first_name":"Doctor","last_name":"Banan","sex":2,"nickname":"","bdate":"18.2.1990","photo_big":"http:\\%2F\\%2Fcs425527.vk.me\\%2Fv425527921\\%2F879f\\%2F0Ka3g6CM2a0.jpg"}]}&referrer=unknown&lc_name=ae2044e2&hash= http://vk.com/msessions +2014-03-19 00:00:00 2014-03-19 15003622 61132721390316282 http://acunn.com/survivor#anket http://acunn.com/survivor +2014-03-19 00:00:01 2014-03-19 109993 1578933551394054044 http://molotok.ru/myaccount/smanager.php?page=auctions&type=not_sold&p=87 http://molotok.ru/myaccount/smanager.php?page=auctions&type=not_sold +2014-03-19 00:00:01 2014-03-19 722545 2436598271392110542 http://yandex.ru/ +2014-03-19 00:00:01 2014-03-19 11514781 2111148871395066201 http://intellect-video.com/5345/BBC--Horizon--Prizrak-v-moikh-genakh-online/ http://intellect-video.com/natural-sciences-biology/ +2014-03-19 00:00:01 2014-03-19 12040240 2040458821375390840 http://gazetaby.com/cont/list.php?sn_arx=1&sn_cat=32 +2014-03-19 00:00:01 2014-03-19 15003622 61132721390316282 http://acunn.com/survivor +2014-03-19 00:00:01 2014-03-19 21270109 781274971395130639 http://fotostrana.ru/user/71384319/ http://e.mail.ru/cgi-bin/link?check=1&refresh=1&cnf=3506c8&url=http:%2F%2Ffotostrana.ru%2Fuser%2Fautologin%2F%3Fu%3D71384319%26h%3Ddb59c4c43dfb7f3%26eRf%3D1301%26t%3D1301%26v%3D2%26time%3D1395130362%26to_url%3D%2Fuser%2F74646240%2F%26utm_campaign%3Demail_notify%26utm_content%3Dlink%26utm_medium%3Demail_1301%26utm_source%3Devent_0&msgid=13951308140000000339;0,1&x-email=anderson_66@mail.ru&js=1&redir=1 +2014-03-19 00:00:01 2014-03-19 21279787 7255079541391233211 http://diary.ru/~Tahgira/p196293215.htm?oam#more1 http://mylostharem.diary.ru/?favorite&from=40 +2014-03-19 00:00:01 2014-03-19 21879736 2581102761372914766 http://cocok.mobi/video/listing/3/3 http://cocok.mobi/video/listing/3/2 +2014-03-19 00:00:01 2014-03-19 22063525 2634772471395187200 http://porniac.de/free-porn-teen-german-deutsch-creampie-inpussy http://google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CEAQFjAC&url=http:%2F%2Fwww.porniac.de%2Ffree-porn-teen-german-deutsch-creampie-inpussy&ei=utwoU9OBOcig4gTt0IH4Bg&usg=AFQjCNG__41cA_2JKqf2AOYlxK8Vg5-hHA&bvm=bv.62922401,d.bGE +2014-03-19 00:00:01 2014-03-19 22273222 7971532421394017800 http://video.nur.kz/serial/14-velikolepnyy-vek/sezon-4-seria-19&ref=search_redirect&autoplay=1 +2014-03-19 00:00:02 2014-03-19 73874 5271033891286095023 http://livetv.sx/eventinfo/218436_chelsea_galatasaray/ http://livetv.sx/allupcomingsports/1/ +2014-03-19 00:00:02 2014-03-19 187695 6517393831394014299 http://malls.ru/upload/resize_cache/iblock/ea6/800_800_1bb65d3589fb69dd4a17961e4a75772f4/ea6b77961089460feaf0260d7d28345f.jpg http://malls.ru/rus/rent/demand/id45961.shtml +2014-03-19 00:00:02 2014-03-19 9927988 1968640351383680744 http://yandex.com.tr/yandsearch?lr=11503&text=anne yeşil örgü modelleri http://yandex.com.tr/ +2014-03-19 00:00:02 2014-03-19 23075158 1856338591385061414 http://1.newtop1.ru/?tid=999364201 http://proligtb.com/news.php?tz=2873580 +2014-03-19 00:00:02 2014-03-19 23711410 683272311395171829 https://betcruise.com/signin/expire/ https://betcruise.com/signup/success/ +2014-03-19 00:00:03 2014-03-19 48221 939058481380477704 http://love.mail.ru/search.phtml?ia=F&lf=M&af=26&at=35&wp=1&wv=0&wvc=0&ni=1&wr=0&sz=b&s_c=1012_25547957_25552720_0&geo=0&s_tg=&geo=0&t=o http://love.mail.ru/search.phtml?t=&sz=b&ia=F&lf=M&af=26&at=35&s_c=1012_25547957_25552720_0&target=&wp=1 +2014-03-19 00:00:03 2014-03-19 106966 3556373091312196176 http://rosbalt.ru/tests/gibdd +2014-03-19 00:00:03 2014-03-19 722545 149923051366137669 http://yandex.ru/ +2014-03-19 00:00:03 2014-03-19 731962 7407418091393711524 http://hghltd.yandex.net/yandbtm?fmode=inject&url=http:%2F%2Fweb-ulitka.ru%2Fshowthread.php%3Ft%3D955&tld=ru&lang=ru&text=Advanced System Protector ключ&l10n=ru&mime=html&sign=cc8ef02d6794cf571f8e88f8c4e5db2b&keyno=0 http://yandex.ru/yandsearch?clid=1955452&lr=11116&text=Advanced System Protector ключ +2014-03-19 00:00:03 2014-03-19 7970125 1852607591356602753 http://casio.prommag.ru/watches/protrek/protrek.html http://casio.prommag.ru/watches/protrek/protrek.html +2014-03-19 00:00:03 2014-03-19 10935790 9734083581388238977 http://domexpo.ru/company_info.htm?id=520 +2014-03-19 00:00:03 2014-03-19 22273222 7971532421394017800 goal://video.nur.kz/UPPOD_PLAY http://video.nur.kz/serial/14-velikolepnyy-vek/sezon-4-seria-19&ref=search_redirect&autoplay=1 +2014-03-19 00:00:03 2014-03-19 22273222 7971532421394017800 http://video.nur.kz/serial/14-velikolepnyy-vek/sezon-4-seria-19&ref=search_redirect&autoplay=1#UPPOD_PLAY_HIT http://video.nur.kz/serial/14-velikolepnyy-vek/sezon-4-seria-19&ref=search_redirect&autoplay=1 +2014-03-19 00:00:03 2014-03-19 23723584 7524871931395144801 http://mamba.ru/my/messages.phtml http://mamba.ru/ +2014-03-19 00:00:04 2014-03-19 48221 1173254791395172208 http://love.mail.ru/search.phtml?ia=M&lf=F&af=18&at=80&wp=1&wv=0&wvc=0&ni=1&wr=0&gid=1395172789&t=o&sz=b&s_c=3159_4052_0_0&geo=0&s_tg=&target=Sex&offset=0&nchanged=1395092224&noid=1243669604 http://love.mail.ru/search.phtml?ia=M&lf=F&af=18&at=80&wp=1&wv=0&wvc=0&ni=1&wr=0&gid=1395172383&sz=b&s_c=3159_4052_0_0&geo=0&s_tg=&target=Sex&geo=0&t=o +2014-03-19 00:00:04 2014-03-19 48221 7524871931395144801 http://mamba.ru/my/messages.phtml http://mamba.ru/ +2014-03-19 00:00:04 2014-03-19 79376 781274971395130639 http://my.mail.ru/?from=email http://my.mail.ru/?from=email +2014-03-19 00:00:04 2014-03-19 731962 1265434081376817556 http://yandex.ru/yandsearch?text=dj paroff слушать онлайн бесплатно&lr=2 http://yandex.ru/yandsearch?lr=2&text=depeche mode +2014-03-19 00:00:04 2014-03-19 2199583 1471157941382120170 http://litres.ru/?td +2014-03-19 00:00:04 2014-03-19 2237260 5917401071394958225 http://avito.ru/sankt-peterburg/avtomobili_s_probegom/ford_transit_1992_270304651 http://avito.ru/sankt-peterburg/avtomobili_s_probegom/ford/transit?pmax=150000&pmin=0 +2014-03-19 00:00:04 2014-03-19 2344120 8729055551317074933 http://proelectro.ru/cabinet/notices/list http://proelectro.ru/cabinet/notices/view/id/46749 +2014-03-19 00:00:04 2014-03-19 6969847 8729055551317074933 http://proelectro.ru/cabinet/notices/list http://proelectro.ru/cabinet/notices/view/id/46749 +2014-03-19 00:00:04 2014-03-19 7234936 2683079681355752489 http://korrespondent.net/ http://korrespondent.net/ukraine/politics/3320139-yarosh-staranyiamy-putyna-myr-stoyt-na-porohe-tretei-myrovoi-voiny +2014-03-19 00:00:04 2014-03-19 7604263 948490331394925267 http://small-games.info/?go=game&c=12&i=3968 https://google.com.ua/ +2014-03-19 00:00:04 2014-03-19 9422815 22123591394214537 http://audiopoisk.com/?q=зара http://audiopoisk.com/?q=Соундтреки из кино филыма можно звать мама +2014-03-19 00:00:04 2014-03-19 12725416 963351201395165694 goal://megogo.net/playtime http://megogo.net/ru/view/14391-mamy.html +2014-03-19 00:00:04 2014-03-19 12725416 1837943761391284585 http://megogo.net/ru/view/152541-dumay-kak-zhenshchina-seriya-1.html +2014-03-19 00:00:04 2014-03-19 12725416 6312826621394013737 goal://megogo.net/pause http://megogo.net/ru/view/44021-zakrytaya-shkola-sezon-2-seriya-13.html +2014-03-19 00:00:04 2014-03-19 12787931 2355954411395172413 http://sumo.ua/ https://google.com.ua/ +2014-03-19 00:00:04 2014-03-19 12908773 1558109441368022235 http://adultmanga.ru/sadistic_boy/vol1/1?mature=1 http://adultmanga.ru/sadistic_boy/vol1/1 +2014-03-19 00:00:04 2014-03-19 13375903 2246101281391512061 http://dota2.starladder.tv/tournament/6360 +2014-03-19 00:00:04 2014-03-19 19762435 5917401071394958225 http://avito.ru/sankt-peterburg/avtomobili_s_probegom/ford_transit_1992_270304651 http://avito.ru/sankt-peterburg/avtomobili_s_probegom/ford/transit?pmax=150000&pmin=0 +2014-03-19 00:00:04 2014-03-19 19765189 2088033481395179889 http://amkspor.com/2014/03/18/derin-futbolda-buyuk-kavga-274576/ http://sozcu.com.tr/ diff --git a/dbms/tests/queries/1_stateful/00071_merge_tree_optimize_aio.sql b/dbms/tests/queries/1_stateful/00071_merge_tree_optimize_aio.sql new file mode 100644 index 00000000000..1891cd63555 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00071_merge_tree_optimize_aio.sql @@ -0,0 +1,17 @@ +DROP TABLE IF EXISTS test.hits_snippet; + +CREATE TABLE test.hits_snippet(EventTime DateTime, EventDate Date, CounterID UInt32, UserID UInt64, URL String, Referer String) ENGINE = MergeTree(EventDate, intHash32(UserID), (CounterID, EventDate, intHash32(UserID), EventTime), 8192); + +SET min_insert_block_size_rows = 0, min_insert_block_size_bytes = 0; +SET max_block_size = 4096; + +INSERT INTO test.hits_snippet(EventTime, EventDate, CounterID, UserID, URL, Referer) SELECT EventTime, EventDate, CounterID, UserID, URL, Referer FROM test.hits WHERE EventDate = toDate('2014-03-18') ORDER BY EventTime, EventDate, CounterID, UserID, URL, Referer ASC LIMIT 50; +INSERT INTO test.hits_snippet(EventTime, EventDate, CounterID, UserID, URL, Referer) SELECT EventTime, EventDate, CounterID, UserID, URL, Referer FROM test.hits WHERE EventDate = toDate('2014-03-19') ORDER BY EventTime, EventDate, CounterID, UserID, URL, Referer ASC LIMIT 50; + +SET min_bytes_to_use_direct_io = 8192; + +OPTIMIZE TABLE test.hits_snippet; + +SELECT EventTime, EventDate, CounterID, UserID, URL, Referer FROM test.hits_snippet ORDER BY EventTime, EventDate, CounterID, UserID, URL, Referer ASC; + +DROP TABLE test.hits_snippet; diff --git a/dbms/tests/queries/1_stateful/00072_compare_date_and_string_index.reference b/dbms/tests/queries/1_stateful/00072_compare_date_and_string_index.reference new file mode 100644 index 00000000000..97db25771ee --- /dev/null +++ b/dbms/tests/queries/1_stateful/00072_compare_date_and_string_index.reference @@ -0,0 +1,26 @@ +1383658 +1406958 +6083282 +2790616 +7466940 +2789455 +1383658 +1406958 +6083282 +2790616 +7466940 +2789455 +1383658 +9 +1448371 +7425518 +1448380 +7425527 +11 +9 +1448371 +7425518 +1448380 +7425527 +11 +9 diff --git a/dbms/tests/queries/1_stateful/00072_compare_date_and_string_index.sql b/dbms/tests/queries/1_stateful/00072_compare_date_and_string_index.sql new file mode 100644 index 00000000000..90f1c875acd --- /dev/null +++ b/dbms/tests/queries/1_stateful/00072_compare_date_and_string_index.sql @@ -0,0 +1,37 @@ +SELECT count() FROM test.hits WHERE EventDate = '2014-03-18'; +SELECT count() FROM test.hits WHERE EventDate < '2014-03-18'; +SELECT count() FROM test.hits WHERE EventDate > '2014-03-18'; +SELECT count() FROM test.hits WHERE EventDate <= '2014-03-18'; +SELECT count() FROM test.hits WHERE EventDate >= '2014-03-18'; +SELECT count() FROM test.hits WHERE EventDate IN ('2014-03-18', '2014-03-19'); + +SELECT count() FROM test.hits WHERE EventDate = toDate('2014-03-18'); +SELECT count() FROM test.hits WHERE EventDate < toDate('2014-03-18'); +SELECT count() FROM test.hits WHERE EventDate > toDate('2014-03-18'); +SELECT count() FROM test.hits WHERE EventDate <= toDate('2014-03-18'); +SELECT count() FROM test.hits WHERE EventDate >= toDate('2014-03-18'); +SELECT count() FROM test.hits WHERE EventDate IN (toDate('2014-03-18'), toDate('2014-03-19')); + +SELECT count() FROM test.hits WHERE EventDate = concat('2014-0', '3-18'); + +DROP TABLE IF EXISTS test.hits_indexed_by_time; +CREATE TABLE test.hits_indexed_by_time (EventDate Date, EventTime DateTime) ENGINE = MergeTree(EventDate, EventTime, 8192); +INSERT INTO test.hits_indexed_by_time SELECT EventDate, EventTime FROM test.hits; + +SELECT count() FROM test.hits_indexed_by_time WHERE EventTime = '2014-03-18 01:02:03'; +SELECT count() FROM test.hits_indexed_by_time WHERE EventTime < '2014-03-18 01:02:03'; +SELECT count() FROM test.hits_indexed_by_time WHERE EventTime > '2014-03-18 01:02:03'; +SELECT count() FROM test.hits_indexed_by_time WHERE EventTime <= '2014-03-18 01:02:03'; +SELECT count() FROM test.hits_indexed_by_time WHERE EventTime >= '2014-03-18 01:02:03'; +SELECT count() FROM test.hits_indexed_by_time WHERE EventTime IN ('2014-03-18 01:02:03', '2014-03-19 04:05:06'); + +SELECT count() FROM test.hits_indexed_by_time WHERE EventTime = toDateTime('2014-03-18 01:02:03'); +SELECT count() FROM test.hits_indexed_by_time WHERE EventTime < toDateTime('2014-03-18 01:02:03'); +SELECT count() FROM test.hits_indexed_by_time WHERE EventTime > toDateTime('2014-03-18 01:02:03'); +SELECT count() FROM test.hits_indexed_by_time WHERE EventTime <= toDateTime('2014-03-18 01:02:03'); +SELECT count() FROM test.hits_indexed_by_time WHERE EventTime >= toDateTime('2014-03-18 01:02:03'); +SELECT count() FROM test.hits_indexed_by_time WHERE EventTime IN (toDateTime('2014-03-18 01:02:03'), toDateTime('2014-03-19 04:05:06')); + +SELECT count() FROM test.hits_indexed_by_time WHERE EventTime = concat('2014-03-18 ', '01:02:03'); + +DROP TABLE test.hits_indexed_by_time; diff --git a/dbms/tests/queries/1_stateful/00073_uniq_array.reference b/dbms/tests/queries/1_stateful/00073_uniq_array.reference new file mode 100644 index 00000000000..d40e6f39073 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00073_uniq_array.reference @@ -0,0 +1,7 @@ +2014-03-17 7158 7158 7158 +2014-03-18 7122 7122 7122 +2014-03-19 7109 7109 7109 +2014-03-20 6997 6997 6997 +2014-03-21 6718 6718 6718 +2014-03-22 5716 5716 5716 +2014-03-23 5799 5799 5799 diff --git a/dbms/tests/queries/1_stateful/00073_uniq_array.sql b/dbms/tests/queries/1_stateful/00073_uniq_array.sql new file mode 100644 index 00000000000..74c031ee7a6 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00073_uniq_array.sql @@ -0,0 +1 @@ +SELECT EventDate, uniqExact(UserID), length(groupUniqArray(UserID)), arrayUniq(groupArray(UserID)) FROM test.hits WHERE CounterID = 731962 GROUP BY EventDate ORDER BY EventDate; diff --git a/dbms/tests/queries/1_stateful/00074_full_join.reference b/dbms/tests/queries/1_stateful/00074_full_join.reference new file mode 100644 index 00000000000..0a4ec891a33 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00074_full_join.reference @@ -0,0 +1,60 @@ +22564972 1331 0 +21423112 357 0 +99165 72 0 +9409582 37 0 +93428 33 0 +50615 21 0 +21191842 21 0 +10274467 11 0 +14013802 0 1 +14013940 0 1 +15049483 0 1 +15834589 0 1 +16635889 0 1 +16837024 0 1 +16971091 0 1 +17757130 0 1 +18428878 0 1 +19738795 0 1 +20137870 0 1 +20338870 0 1 +22564972 1331 0 +21423112 357 0 +99165 72 0 +9409582 37 0 +93428 33 0 +50615 21 0 +21191842 21 0 +10274467 11 0 +54047 9 0 +24327391 9 0 +12133420 8 0 +22382245 8 0 +23498743 7 0 +23498989 7 0 +23799985 7 0 +84367 6 0 +1811350 5 0 +7490101 5 0 +22157924 5 0 +22334527 5 0 +14013802 0 1 +14013940 0 1 +15049483 0 1 +15834589 0 1 +16635889 0 1 +16837024 0 1 +16971091 0 1 +17757130 0 1 +18428878 0 1 +19738795 0 1 +20137870 0 1 +20338870 0 1 +20897719 0 1 +21165355 0 1 +21764326 0 1 +22101154 0 1 +22669492 0 1 +23218363 0 1 +23578141 0 1 +23712970 0 1 diff --git a/dbms/tests/queries/1_stateful/00074_full_join.sql b/dbms/tests/queries/1_stateful/00074_full_join.sql new file mode 100644 index 00000000000..19550006baa --- /dev/null +++ b/dbms/tests/queries/1_stateful/00074_full_join.sql @@ -0,0 +1,106 @@ +SELECT + CounterID, + hits, + visits +FROM +( + SELECT + CounterID, + count() AS hits + FROM test.hits + GROUP BY CounterID +) ANY FULL OUTER JOIN +( + SELECT + CounterID, + sum(Sign) AS visits + FROM test.visits + GROUP BY CounterID + HAVING visits > 0 +) USING CounterID +WHERE hits = 0 OR visits = 0 +ORDER BY + hits + visits * 10 DESC, + CounterID ASC +LIMIT 20; + + +SELECT + CounterID, + hits, + visits +FROM +( + SELECT + CounterID, + count() AS hits + FROM test.hits + GROUP BY CounterID +) ANY LEFT JOIN +( + SELECT + CounterID, + sum(Sign) AS visits + FROM test.visits + GROUP BY CounterID + HAVING visits > 0 +) USING CounterID +WHERE hits = 0 OR visits = 0 +ORDER BY + hits + visits * 10 DESC, + CounterID ASC +LIMIT 20; + + +SELECT + CounterID, + hits, + visits +FROM +( + SELECT + CounterID, + count() AS hits + FROM test.hits + GROUP BY CounterID +) ANY RIGHT JOIN +( + SELECT + CounterID, + sum(Sign) AS visits + FROM test.visits + GROUP BY CounterID + HAVING visits > 0 +) USING CounterID +WHERE hits = 0 OR visits = 0 +ORDER BY + hits + visits * 10 DESC, + CounterID ASC +LIMIT 20; + + +SELECT + CounterID, + hits, + visits +FROM +( + SELECT + CounterID, + count() AS hits + FROM test.hits + GROUP BY CounterID +) ANY INNER JOIN +( + SELECT + CounterID, + sum(Sign) AS visits + FROM test.visits + GROUP BY CounterID + HAVING visits > 0 +) USING CounterID +WHERE hits = 0 OR visits = 0 +ORDER BY + hits + visits * 10 DESC, + CounterID ASC +LIMIT 20; diff --git a/dbms/tests/queries/1_stateful/00075_left_array_join.reference b/dbms/tests/queries/1_stateful/00075_left_array_join.reference new file mode 100644 index 00000000000..52579b4a5ea --- /dev/null +++ b/dbms/tests/queries/1_stateful/00075_left_array_join.reference @@ -0,0 +1,200 @@ +4187429269810 2014-03-19 10:02:28 theme ['theme'] +4187429269810 2014-03-19 10:02:28 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +4187429269810 2014-03-19 10:02:28 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +4187429269810 2014-03-19 10:02:28 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +4187429269810 2014-03-19 10:02:28 Цифровой логин ['Цифровой логин'] +4187429269810 2014-03-19 10:02:28 Эксперимент про отрыв счетчика у папки СПАМ Счетчик есть ['Эксперимент про отрыв счетчика у папки СПАМ'] +4187429269810 2014-03-19 10:02:29 attach ['attach'] +4187429269810 2014-03-19 10:02:29 attach onefile ['attach'] +4187429269810 2014-03-19 10:02:29 Просмотр письма ['Просмотр письма'] +4187429269810 2014-03-19 10:02:30 Правая колонка Вкладка «Треды» ['Правая колонка'] +4187429269810 2014-03-19 10:02:30 Эксперимент про отрыв счетчика у папки СПАМ Счетчик есть ['Эксперимент про отрыв счетчика у папки СПАМ'] +4187429269810 2014-03-19 10:02:35 attach body ['attach'] +4187429269810 2014-03-19 10:03:47 Toolbar Входящие ['Toolbar'] +4187429269810 2014-03-19 10:03:48 Эксперимент про отрыв счетчика у папки СПАМ Счетчик есть ['Эксперимент про отрыв счетчика у папки СПАМ'] +4187429269810 2014-03-19 10:04:21 attach onefile ['attach'] +4187429269810 2014-03-19 10:04:22 attach ['attach'] +4187429269810 2014-03-19 10:04:22 Правая колонка Вкладка «Треды» ['Правая колонка'] +4187429269810 2014-03-19 10:04:22 Просмотр письма ['Просмотр письма'] +4187429269810 2014-03-19 10:04:28 attach body ['attach'] +4187429269810 2014-03-19 10:08:03 Залогиновая шапка. Правая часть Меню за логином ['Залогиновая шапка. Правая часть'] +4187429269810 2014-03-19 10:08:04 Залогиновая шапка. Правая часть Меню за логином ['Залогиновая шапка. Правая часть'] +142097207152117 2014-03-22 08:10:15 theme blue ['theme'] +142097207152117 2014-03-22 08:10:15 Залогиновая шапка. Правая часть Уголок ['Залогиновая шапка. Правая часть'] +142097207152117 2014-03-22 08:10:15 Промо сборщиков На всех ['Промо сборщиков'] +142097207152117 2014-03-22 08:10:17 registerProtocolHandler https: ['registerProtocolHandler'] +142097207152117 2014-03-22 08:10:30 Промо сборщиков На всех ['Промо сборщиков'] +142097207152117 2014-03-22 08:10:32 Правая колонка Вкладка «Треды» ['Правая колонка'] +142097207152117 2014-03-22 08:10:33 Просмотр письма показ ['Просмотр письма'] +340670786804313 2014-03-18 01:52:20 theme ['theme'] +340670786804313 2014-03-18 01:52:21 Цифровой логин ['Цифровой логин'] +340670786804313 2014-03-18 01:52:25 Правая колонка Вкладка «Треды» ['Правая колонка'] +340670786804313 2014-03-18 01:52:25 Просмотр письма ['Просмотр письма'] +340670786804313 2014-03-19 16:01:13 lcn ['lcn'] +340670786804313 2014-03-19 16:01:13 theme ['theme'] +340670786804313 2014-03-19 16:01:13 Погодная тема Показ города ['Погодная тема'] +340670786804313 2014-03-19 16:01:15 Правая колонка Вкладка «Треды» ['Правая колонка'] +340670786804313 2014-03-19 16:01:15 Просмотр письма ['Просмотр письма'] +523951316868678 2014-03-18 15:03:08 theme ['theme'] +523951316868678 2014-03-18 15:03:09 Цифровой логин ['Цифровой логин'] +523951316868678 2014-03-18 15:03:13 Просмотр письма ['Просмотр письма'] +523951316868678 2014-03-18 15:03:14 attach ['attach'] +523951316868678 2014-03-18 15:03:14 attach onefile ['attach'] +523951316868678 2014-03-18 15:03:14 Правая колонка Вкладка «Треды» ['Правая колонка'] +523951316868678 2014-03-18 17:19:31 theme ['theme'] +523951316868678 2014-03-18 17:19:31 Цифровой логин ['Цифровой логин'] +523951316868678 2014-03-18 17:19:32 lcn ['lcn'] +680431331227081 2014-03-18 08:15:14 lcn ['lcn'] +680431331227081 2014-03-18 08:15:14 theme ['theme'] +680431331227081 2014-03-18 08:15:15 Цифровой логин ['Цифровой логин'] +680431331227081 2014-03-18 08:15:17 Правая колонка Вкладка «Треды» ['Правая колонка'] +680431331227081 2014-03-18 08:15:17 Просмотр письма ['Просмотр письма'] +680431331227081 2014-03-18 08:16:10 Залогиновая шапка. Правая часть Меню за логином ['Залогиновая шапка. Правая часть'] +680431331227081 2014-03-18 08:16:13 Залогиновая шапка. Правая часть Меню за логином ['Залогиновая шапка. Правая часть'] +711535488569826 2014-03-17 09:07:22 theme ['theme'] +711535488569826 2014-03-17 09:07:22 Залогиновая шапка. Правая часть Уголок ['Залогиновая шапка. Правая часть'] +1385143435049415 2014-03-17 16:32:19 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 16:32:19 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 16:39:06 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 16:39:07 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 16:39:07 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 20:30:25 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 20:39:19 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 20:39:21 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 20:39:21 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 20:43:50 Toolbar Письмо ['Toolbar'] +1385143435049415 2014-03-17 20:43:50 lcn ['lcn'] +1385143435049415 2014-03-17 20:43:50 theme ['theme'] +1385143435049415 2014-03-17 20:43:50 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 20:43:50 Просмотр письма ['Просмотр письма'] +1385143435049415 2014-03-17 20:43:51 Toolbar Письмо ['Toolbar'] +1385143435049415 2014-03-17 20:43:51 Toolbar Письмо ['Toolbar'] +1385143435049415 2014-03-17 20:43:51 Toolbar Письмо ['Toolbar'] +1385143435049415 2014-03-17 20:43:51 Toolbar Письмо ['Toolbar'] +1385143435049415 2014-03-17 20:43:51 Toolbar Письмо ['Toolbar'] +1385143435049415 2014-03-17 20:43:51 Toolbar Письмо ['Toolbar'] +1385143435049415 2014-03-17 20:43:51 Правая колонка Вкладка «Треды» ['Правая колонка'] +1385143435049415 2014-03-17 20:43:51 Правая колонка Вкладка «Треды» ['Правая колонка'] +1385143435049415 2014-03-17 20:43:51 События в письмах ПДД ['События в письмах'] +1385143435049415 2014-03-17 20:44:07 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 20:44:12 Toolbar Входящие ['Toolbar'] +1385143435049415 2014-03-17 20:44:12 Toolbar Входящие ['Toolbar'] +1385143435049415 2014-03-17 20:44:12 Toolbar Входящие ['Toolbar'] +1385143435049415 2014-03-17 20:44:12 Toolbar Входящие ['Toolbar'] +1385143435049415 2014-03-17 20:44:12 Toolbar Входящие ['Toolbar'] +1385143435049415 2014-03-17 20:44:17 Toolbar Входящие ['Toolbar'] +1385143435049415 2014-03-17 20:44:18 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-18 11:36:47 Toolbar Входящие ['Toolbar'] +1385143435049415 2014-03-18 11:36:47 lcn ['lcn'] +1385143435049415 2014-03-18 11:36:47 theme ['theme'] +1385143435049415 2014-03-18 11:36:47 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-18 11:36:47 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-18 11:36:47 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-18 11:36:47 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-18 11:36:47 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-18 11:36:47 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-18 11:36:47 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-18 11:36:47 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-18 11:36:47 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-18 11:45:10 Toolbar Входящие ['Toolbar'] +1385143435049415 2014-03-18 11:45:10 lcn ['lcn'] +4187429269810 2014-03-19 10:02:28 [] +4187429269810 2014-03-19 10:02:28 theme ['theme'] +4187429269810 2014-03-19 10:02:28 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +4187429269810 2014-03-19 10:02:28 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +4187429269810 2014-03-19 10:02:28 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +4187429269810 2014-03-19 10:02:28 Цифровой логин ['Цифровой логин'] +4187429269810 2014-03-19 10:02:28 Эксперимент про отрыв счетчика у папки СПАМ Счетчик есть ['Эксперимент про отрыв счетчика у папки СПАМ'] +4187429269810 2014-03-19 10:02:29 attach ['attach'] +4187429269810 2014-03-19 10:02:29 attach onefile ['attach'] +4187429269810 2014-03-19 10:02:29 Просмотр письма ['Просмотр письма'] +4187429269810 2014-03-19 10:02:30 [] +4187429269810 2014-03-19 10:02:30 Правая колонка Вкладка «Треды» ['Правая колонка'] +4187429269810 2014-03-19 10:02:30 Эксперимент про отрыв счетчика у папки СПАМ Счетчик есть ['Эксперимент про отрыв счетчика у папки СПАМ'] +4187429269810 2014-03-19 10:02:35 [] +4187429269810 2014-03-19 10:02:35 attach body ['attach'] +4187429269810 2014-03-19 10:03:07 [] +4187429269810 2014-03-19 10:03:47 Toolbar Входящие ['Toolbar'] +4187429269810 2014-03-19 10:03:48 Эксперимент про отрыв счетчика у папки СПАМ Счетчик есть ['Эксперимент про отрыв счетчика у папки СПАМ'] +4187429269810 2014-03-19 10:04:21 attach onefile ['attach'] +4187429269810 2014-03-19 10:04:22 [] +4187429269810 2014-03-19 10:04:22 attach ['attach'] +4187429269810 2014-03-19 10:04:22 Правая колонка Вкладка «Треды» ['Правая колонка'] +4187429269810 2014-03-19 10:04:22 Просмотр письма ['Просмотр письма'] +4187429269810 2014-03-19 10:04:28 [] +4187429269810 2014-03-19 10:04:28 attach body ['attach'] +4187429269810 2014-03-19 10:08:03 Залогиновая шапка. Правая часть Меню за логином ['Залогиновая шапка. Правая часть'] +4187429269810 2014-03-19 10:08:04 Залогиновая шапка. Правая часть Меню за логином ['Залогиновая шапка. Правая часть'] +142097207152117 2014-03-22 08:10:15 [] +142097207152117 2014-03-22 08:10:15 [] +142097207152117 2014-03-22 08:10:15 theme blue ['theme'] +142097207152117 2014-03-22 08:10:15 Залогиновая шапка. Правая часть Уголок ['Залогиновая шапка. Правая часть'] +142097207152117 2014-03-22 08:10:15 Промо сборщиков На всех ['Промо сборщиков'] +142097207152117 2014-03-22 08:10:17 registerProtocolHandler https: ['registerProtocolHandler'] +142097207152117 2014-03-22 08:10:30 Промо сборщиков На всех ['Промо сборщиков'] +142097207152117 2014-03-22 08:10:32 Правая колонка Вкладка «Треды» ['Правая колонка'] +142097207152117 2014-03-22 08:10:33 [] +142097207152117 2014-03-22 08:10:33 Просмотр письма показ ['Просмотр письма'] +340670786804313 2014-03-18 01:52:20 [] +340670786804313 2014-03-18 01:52:20 theme ['theme'] +340670786804313 2014-03-18 01:52:21 Цифровой логин ['Цифровой логин'] +340670786804313 2014-03-18 01:52:25 Правая колонка Вкладка «Треды» ['Правая колонка'] +340670786804313 2014-03-18 01:52:25 Просмотр письма ['Просмотр письма'] +340670786804313 2014-03-18 01:52:26 [] +340670786804313 2014-03-19 16:01:13 [] +340670786804313 2014-03-19 16:01:13 lcn ['lcn'] +340670786804313 2014-03-19 16:01:13 theme ['theme'] +340670786804313 2014-03-19 16:01:13 Погодная тема Показ города ['Погодная тема'] +340670786804313 2014-03-19 16:01:15 [] +340670786804313 2014-03-19 16:01:15 Правая колонка Вкладка «Треды» ['Правая колонка'] +340670786804313 2014-03-19 16:01:15 Просмотр письма ['Просмотр письма'] +523951316868678 2014-03-18 15:03:08 [] +523951316868678 2014-03-18 15:03:08 theme ['theme'] +523951316868678 2014-03-18 15:03:09 Цифровой логин ['Цифровой логин'] +523951316868678 2014-03-18 15:03:13 Просмотр письма ['Просмотр письма'] +523951316868678 2014-03-18 15:03:14 [] +523951316868678 2014-03-18 15:03:14 attach ['attach'] +523951316868678 2014-03-18 15:03:14 attach onefile ['attach'] +523951316868678 2014-03-18 15:03:14 Правая колонка Вкладка «Треды» ['Правая колонка'] +523951316868678 2014-03-18 15:03:20 [] +523951316868678 2014-03-18 15:03:20 [] +523951316868678 2014-03-18 17:19:31 [] +523951316868678 2014-03-18 17:19:31 theme ['theme'] +523951316868678 2014-03-18 17:19:31 Цифровой логин ['Цифровой логин'] +523951316868678 2014-03-18 17:19:32 lcn ['lcn'] +610121304480129 2014-03-17 05:35:14 [] +610121304480129 2014-03-18 10:22:47 [] +610121304480129 2014-03-19 05:26:31 [] +610121304480129 2014-03-20 05:32:35 [] +610121304480129 2014-03-20 05:41:56 [] +610121304480129 2014-03-20 10:17:05 [] +610121304480129 2014-03-21 08:46:30 [] +610121304480129 2014-03-22 06:06:53 [] +610121304480129 2014-03-22 09:54:27 [] +680431331227081 2014-03-18 08:15:14 [] +680431331227081 2014-03-18 08:15:14 lcn ['lcn'] +680431331227081 2014-03-18 08:15:14 theme ['theme'] +680431331227081 2014-03-18 08:15:15 Цифровой логин ['Цифровой логин'] +680431331227081 2014-03-18 08:15:17 Правая колонка Вкладка «Треды» ['Правая колонка'] +680431331227081 2014-03-18 08:15:17 Просмотр письма ['Просмотр письма'] +680431331227081 2014-03-18 08:15:18 [] +680431331227081 2014-03-18 08:16:10 Залогиновая шапка. Правая часть Меню за логином ['Залогиновая шапка. Правая часть'] +680431331227081 2014-03-18 08:16:13 [] +680431331227081 2014-03-18 08:16:13 Залогиновая шапка. Правая часть Меню за логином ['Залогиновая шапка. Правая часть'] +711535488569826 2014-03-17 09:07:22 [] +711535488569826 2014-03-17 09:07:22 [] +711535488569826 2014-03-17 09:07:22 theme ['theme'] +711535488569826 2014-03-17 09:07:22 Залогиновая шапка. Правая часть Уголок ['Залогиновая шапка. Правая часть'] +711535488569826 2014-03-17 09:07:23 [] +711535488569826 2014-03-17 09:07:24 [] +1385143435049415 2014-03-17 16:32:19 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 16:32:19 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 16:39:06 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 16:39:07 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 16:39:07 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 20:30:25 [] +1385143435049415 2014-03-17 20:30:25 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 20:39:19 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 20:39:21 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 20:39:21 Аттачи в списке писем Превьюшки ['Аттачи в списке писем'] +1385143435049415 2014-03-17 20:43:50 [] diff --git a/dbms/tests/queries/1_stateful/00075_left_array_join.sql b/dbms/tests/queries/1_stateful/00075_left_array_join.sql new file mode 100644 index 00000000000..0de215ceb36 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00075_left_array_join.sql @@ -0,0 +1,2 @@ +SELECT UserID, EventTime, pp.Key1, pp.Key2, ParsedParams.Key1 FROM test.hits ARRAY JOIN ParsedParams AS pp WHERE CounterID = 1143050 ORDER BY UserID, EventTime, pp.Key1, pp.Key2 LIMIT 100; +SELECT UserID, EventTime, pp.Key1, pp.Key2, ParsedParams.Key1 FROM test.hits LEFT ARRAY JOIN ParsedParams AS pp WHERE CounterID = 1143050 ORDER BY UserID, EventTime, pp.Key1, pp.Key2 LIMIT 100; diff --git a/dbms/tests/queries/1_stateful/00076_system_columns_bytes.reference b/dbms/tests/queries/1_stateful/00076_system_columns_bytes.reference new file mode 100644 index 00000000000..72749c905a3 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00076_system_columns_bytes.reference @@ -0,0 +1 @@ +1 1 1 diff --git a/dbms/tests/queries/1_stateful/00076_system_columns_bytes.sql b/dbms/tests/queries/1_stateful/00076_system_columns_bytes.sql new file mode 100644 index 00000000000..434054b6980 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00076_system_columns_bytes.sql @@ -0,0 +1 @@ +SELECT sum(data_compressed_bytes) > 0, sum(data_uncompressed_bytes) > 0, sum(marks_bytes) > 0 FROM system.columns; diff --git a/dbms/tests/queries/1_stateful/00077_log_tinylog_stripelog.reference b/dbms/tests/queries/1_stateful/00077_log_tinylog_stripelog.reference new file mode 100644 index 00000000000..1dcb023e190 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00077_log_tinylog_stripelog.reference @@ -0,0 +1,10 @@ +1 +1 +1 +8873898 5148628775290158164 +8873898 5148628775290158164 +8873898 5148628775290158164 +8873898 5148628775290158164 +1 +1 +1 diff --git a/dbms/tests/queries/1_stateful/00077_log_tinylog_stripelog.sql b/dbms/tests/queries/1_stateful/00077_log_tinylog_stripelog.sql new file mode 100644 index 00000000000..d745203ea6b --- /dev/null +++ b/dbms/tests/queries/1_stateful/00077_log_tinylog_stripelog.sql @@ -0,0 +1,28 @@ +DROP TABLE IF EXISTS test.hits_log; +DROP TABLE IF EXISTS test.hits_tinylog; +DROP TABLE IF EXISTS test.hits_stripelog; + +CREATE TABLE test.hits_log (CounterID UInt32, AdvEngineID UInt8, RegionID UInt32, SearchPhrase String, UserID UInt64) ENGINE = Log; +CREATE TABLE test.hits_tinylog (CounterID UInt32, AdvEngineID UInt8, RegionID UInt32, SearchPhrase String, UserID UInt64) ENGINE = TinyLog; +CREATE TABLE test.hits_stripelog (CounterID UInt32, AdvEngineID UInt8, RegionID UInt32, SearchPhrase String, UserID UInt64) ENGINE = StripeLog; + +CHECK TABLE test.hits_log; +CHECK TABLE test.hits_tinylog; +CHECK TABLE test.hits_stripelog; + +INSERT INTO test.hits_log SELECT CounterID, AdvEngineID, RegionID, SearchPhrase, UserID FROM test.hits; +INSERT INTO test.hits_tinylog SELECT CounterID, AdvEngineID, RegionID, SearchPhrase, UserID FROM test.hits; +INSERT INTO test.hits_stripelog SELECT CounterID, AdvEngineID, RegionID, SearchPhrase, UserID FROM test.hits; + +SELECT count(), sum(cityHash64(CounterID, AdvEngineID, RegionID, SearchPhrase, UserID)) FROM test.hits; +SELECT count(), sum(cityHash64(*)) FROM test.hits_log; +SELECT count(), sum(cityHash64(*)) FROM test.hits_tinylog; +SELECT count(), sum(cityHash64(*)) FROM test.hits_stripelog; + +CHECK TABLE test.hits_log; +CHECK TABLE test.hits_tinylog; +CHECK TABLE test.hits_stripelog; + +DROP TABLE test.hits_log; +DROP TABLE test.hits_tinylog; +DROP TABLE test.hits_stripelog; diff --git a/dbms/tests/queries/1_stateful/00078_group_by_arrays.reference b/dbms/tests/queries/1_stateful/00078_group_by_arrays.reference new file mode 100644 index 00000000000..5f932f4649f --- /dev/null +++ b/dbms/tests/queries/1_stateful/00078_group_by_arrays.reference @@ -0,0 +1,40 @@ +[] 8001320 +[1698655] 218383 +[3288004] 26325 +[2793757] 26259 +[3308677,2622979,2532754,2532649,2532640,2532631,2532622,2532613,2623111,2532604,2532448,2532439,2532430,2532718,2532568,2532421,2532709,2532412,2532403,2532520,2532727,2532577,2532658,2532367,2532736,2532586,2532376,2532745,2532595,2532385,2532394,2532457,2532763,2532475,2532772,2532484,2532781,2532493,2532502,2532511,2532529] 24078 +[2459053] 15706 +[3658087] 14326 +[3288145] 11558 +[3875836] 9599 +[4208059] 8938 +[] [] 3929946 +[] [1698655] 88062 +[9] [] 21709 +[6] [] 18019 +[90] [] 13936 +[1] [] 12855 +[99] [] 12368 +[20,1] [] 11949 +[4,5] [] 11550 +[4] [] 11530 +[] [] 3970023 +['gen_time'] [] 74637 +[] [9] 22059 +['Эксперимент про отрыв счетчика у папки СПАМ'] [] 18814 +['Toolbar'] [] 18168 +['Правая колонка'] [] 18132 +['Аттачи в списке писем'] [] 16735 +['Драгндроп папок'] [] 14652 +[] [6] 14350 +[] [90] 14183 +['Banner'] [5,4,3,118,11,1,37,38,3281,3201,3579,15,2] 1472 +['Аттачи в списке писем'] [7,6,82,9,3135,1,105,96,333,437,95,19,76] 1226 +['Аттачи в списке писем'] [2873,2866,9,96,635,3,39,26,12,2,8,11,37] 1173 +['registration_month','user_login','is_registred'] [4,90,5,601,2894,2893,6,68,399,11,88,117] 937 +['gen_time'] [9] 881 +['Аттачи в списке писем'] [7,6,82,9,3135,1,105,333,96,437,95,19,76] 859 +['Аттачи в списке писем'] [2873,2866,9,96,635,39,3,26,12,8,2,11,118] 837 +['Banner'] [635,1,9,90,96,19,2,3281,3349,8,5,3579] 777 +['Banner'] [90,1,635,19,9,96,2,3579,8] 766 +['gallery'] [7,76,636,460,6,99,4] 750 diff --git a/dbms/tests/queries/1_stateful/00078_group_by_arrays.sql b/dbms/tests/queries/1_stateful/00078_group_by_arrays.sql new file mode 100644 index 00000000000..eb47be0ec22 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00078_group_by_arrays.sql @@ -0,0 +1,4 @@ +SELECT GoalsReached AS k, count() AS c FROM test.hits GROUP BY k ORDER BY c DESC LIMIT 10; +SELECT GeneralInterests AS k1, GoalsReached AS k2, count() AS c FROM test.hits GROUP BY k1, k2 ORDER BY c DESC LIMIT 10; +SELECT ParsedParams.Key1 AS k1, GeneralInterests AS k2, count() AS c FROM test.hits GROUP BY k1, k2 ORDER BY c DESC LIMIT 10; +SELECT ParsedParams.Key1 AS k1, GeneralInterests AS k2, count() AS c FROM test.hits WHERE notEmpty(k1) AND notEmpty(k2) GROUP BY k1, k2 ORDER BY c DESC LIMIT 10; diff --git a/dbms/tests/queries/1_stateful/00079_array_join_not_used_joined_column.reference b/dbms/tests/queries/1_stateful/00079_array_join_not_used_joined_column.reference new file mode 100644 index 00000000000..1b1d514856f --- /dev/null +++ b/dbms/tests/queries/1_stateful/00079_array_join_not_used_joined_column.reference @@ -0,0 +1,104 @@ +"Пригласи друга" в inbox — Беларусь 1 +"Пригласи друга" на done 0 +Click in compose 0 +Compose-Translate 4699 +Done 4032 +Done-Promo 2 +Hotels 0 +Money 0 +Search 0 +TinyMCE 15 +Todo 4 +Toolbar 0 +User Button 0 +attach 8010 +aviaeticket 0 +hot-keys 0 +lcn 14387 +popular_suggest 1855 +registerProtocolHandler 76 +theme 15777 +Аттачи в списке писем 0 +Аттачи из Диска 3401 +Баббл 0 +Башкортостан 2 +Виджет валидации (внутри письма) 0 +Визард (эксперимент) 0 +ГБ за ДР 0 +Директ над письмами 1 +Драгндроп папок 24211 +Живые письма в почте 1 +Залогиновая шапка. Правая часть 0 +Как делалась пластилиновая тема 2 +Карточка контакта 71 +Кнопка Прикрепить 7149 +МЯП->Валидация 0 +Марка 2389 +Настроение 5 +Настройки 0 +Неработающий сборщик 695 +Нижегородская 2 +Новосибирская 2 +Новый поп-ап фильтров 0 +Ответить всем 0 +Пейджер по датам 2986 +Переход к недоступному письму 23 +Плашка про старый браузер 840 +Погодная тема 0 +Подписи 0 +Поиск 5264 +Поменять пароль-2 11 +Поп-ап создания папки 26 +Попап для цифровых логинов 0 +Правая колонка 1418 +Предложение фильтровать групоны 0 +Промо Языков 0 +Промо меток 0 +Промо полоска элементов 0 +Промо сборщиков 0 +Просмотр письма 25023 +Просмотрщик картинок 10920 +Ревалидация 90 +Самарская 4 +События в письмах 0 +Сообщение о непоказе картинок и ссылок в спаме 456 +Сообщение о пересылке 2 +Статуслайн для фильтров 0 +Статуслайн игнорирования треда 1 +Татарстан 0 +Тема КХЛ 4 +Тема мишки 425 +Тема: region_primorie 1 +Тизер социальных новостей 6 +Томск 0 +Установка браузера 12 +Фильтр по типам писем 0 +Цифровой логин 3878 +Что нового 1 +Шаблоны 0 +Эксперимент про отрыв счетчика у папки СПАМ 0 +отправить адресату SMS-уведомление после отправки письма 0 +промо SMS 0 +промо-полоска Волгограда 1 +промо-полоска Торпедо 0 +промо-полоска Трактора 2 +"Пригласи друга" в inbox — Беларусь [''] +"Пригласи друга" на done ['Новая простая'] +"Пригласи друга" на done ['Новая простая'] +"Пригласи друга" на done ['Новая простая'] +"Пригласи друга" на done ['Новая простая'] +"Пригласи друга" на done ['Новая простая'] +"Пригласи друга" на done ['Новая простая'] +"Пригласи друга" на done ['Новая простая'] +"Пригласи друга" на done ['Новая простая'] +"Пригласи друга" на done ['Новая простая'] +['черный'] +['черный'] +['черн'] +['черн'] +['черн'] +['черн'] +['черн'] +['фото автора и из архива редакции'] +['фото Георгий Садков'] +['фото Александр Кульнев'] diff --git a/dbms/tests/queries/1_stateful/00079_array_join_not_used_joined_column.sql b/dbms/tests/queries/1_stateful/00079_array_join_not_used_joined_column.sql new file mode 100644 index 00000000000..6474c44c0b6 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00079_array_join_not_used_joined_column.sql @@ -0,0 +1,3 @@ +SELECT PP.Key1 AS `ym:s:paramsLevel1`, sum(arrayAll(`x_1` -> `x_1`= '', ParsedParams.Key2)) AS `ym:s:visits` FROM test.hits ARRAY JOIN ParsedParams AS `PP` WHERE CounterID = 1143050 GROUP BY `ym:s:paramsLevel1` ORDER BY PP.Key1, `ym:s:visits` LIMIT 0, 100; +SELECT PP.Key1 AS x1, ParsedParams.Key2 AS x2 FROM test.hits ARRAY JOIN ParsedParams AS PP WHERE CounterID = 1143050 ORDER BY x1, x2 LIMIT 10; +SELECT ParsedParams.Key2 AS x FROM test.hits ARRAY JOIN ParsedParams AS PP ORDER BY x DESC LIMIT 10; diff --git a/dbms/tests/queries/1_stateful/00080_array_join_and_union.reference b/dbms/tests/queries/1_stateful/00080_array_join_and_union.reference new file mode 100644 index 00000000000..209e3ef4b62 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00080_array_join_and_union.reference @@ -0,0 +1 @@ +20 diff --git a/dbms/tests/queries/1_stateful/00080_array_join_and_union.sql b/dbms/tests/queries/1_stateful/00080_array_join_and_union.sql new file mode 100644 index 00000000000..eab92ad99ed --- /dev/null +++ b/dbms/tests/queries/1_stateful/00080_array_join_and_union.sql @@ -0,0 +1 @@ +SELECT count() FROM (SELECT Goals.ID FROM test.visits ARRAY JOIN Goals WHERE CounterID = 101500 LIMIT 10 UNION ALL SELECT Goals.ID FROM test.visits ARRAY JOIN Goals WHERE CounterID = 101500 LIMIT 10); diff --git a/dbms/tests/queries/1_stateful/00081_group_by_without_key_and_totals.reference b/dbms/tests/queries/1_stateful/00081_group_by_without_key_and_totals.reference new file mode 100644 index 00000000000..a29f53e89c6 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00081_group_by_without_key_and_totals.reference @@ -0,0 +1,60 @@ +475698 + +475698 +475698 + +475698 +475698 + +475698 +475698 + +475698 +1 475698 + +1 475698 +1 475698 + +1 475698 +1 475698 + +1 475698 +1 475698 + +1 475698 +-1 237160 +0 182238 +1 3594 +2 704 +5 2357 +6 49622 +8 23 + +0 475698 +-1 237160 +0 182238 +1 3594 +2 704 +5 2357 +6 49622 +8 23 + +0 475698 +-1 237160 +0 182238 +1 3594 +2 704 +5 2357 +6 49622 +8 23 + +0 475698 +-1 237160 +0 182238 +1 3594 +2 704 +5 2357 +6 49622 +8 23 + +0 475698 diff --git a/dbms/tests/queries/1_stateful/00081_group_by_without_key_and_totals.sql b/dbms/tests/queries/1_stateful/00081_group_by_without_key_and_totals.sql new file mode 100644 index 00000000000..ec5bdca5d85 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00081_group_by_without_key_and_totals.sql @@ -0,0 +1,15 @@ +SELECT count() AS c FROM test.hits WHERE CounterID = 731962 WITH TOTALS SETTINGS totals_mode = 'before_having', max_rows_to_group_by = 100000, group_by_overflow_mode = 'any'; +SELECT count() AS c FROM test.hits WHERE CounterID = 731962 WITH TOTALS SETTINGS totals_mode = 'after_having_inclusive', max_rows_to_group_by = 100000, group_by_overflow_mode = 'any'; +SELECT count() AS c FROM test.hits WHERE CounterID = 731962 WITH TOTALS SETTINGS totals_mode = 'after_having_exclusive', max_rows_to_group_by = 100000, group_by_overflow_mode = 'any'; +SELECT count() AS c FROM test.hits WHERE CounterID = 731962 WITH TOTALS SETTINGS totals_mode = 'after_having_auto', max_rows_to_group_by = 100000, group_by_overflow_mode = 'any'; + +SELECT 1 AS k, count() AS c FROM test.hits WHERE CounterID = 731962 GROUP BY k WITH TOTALS SETTINGS totals_mode = 'before_having', max_rows_to_group_by = 100000, group_by_overflow_mode = 'any'; +SELECT 1 AS k, count() AS c FROM test.hits WHERE CounterID = 731962 GROUP BY k WITH TOTALS SETTINGS totals_mode = 'after_having_inclusive', max_rows_to_group_by = 100000, group_by_overflow_mode = 'any'; +SELECT 1 AS k, count() AS c FROM test.hits WHERE CounterID = 731962 GROUP BY k WITH TOTALS SETTINGS totals_mode = 'after_having_exclusive', max_rows_to_group_by = 100000, group_by_overflow_mode = 'any'; +SELECT 1 AS k, count() AS c FROM test.hits WHERE CounterID = 731962 GROUP BY k WITH TOTALS SETTINGS totals_mode = 'after_having_auto', max_rows_to_group_by = 100000, group_by_overflow_mode = 'any'; + +SELECT TraficSourceID AS k, count() AS c FROM test.hits WHERE CounterID = 731962 GROUP BY k WITH TOTALS ORDER BY k SETTINGS totals_mode = 'before_having', max_rows_to_group_by = 100000, group_by_overflow_mode = 'any'; +SELECT TraficSourceID AS k, count() AS c FROM test.hits WHERE CounterID = 731962 GROUP BY k WITH TOTALS ORDER BY k SETTINGS totals_mode = 'after_having_inclusive', max_rows_to_group_by = 100000, group_by_overflow_mode = 'any'; +SELECT TraficSourceID AS k, count() AS c FROM test.hits WHERE CounterID = 731962 GROUP BY k WITH TOTALS ORDER BY k SETTINGS totals_mode = 'after_having_exclusive', max_rows_to_group_by = 100000, group_by_overflow_mode = 'any'; +SELECT TraficSourceID AS k, count() AS c FROM test.hits WHERE CounterID = 731962 GROUP BY k WITH TOTALS ORDER BY k SETTINGS totals_mode = 'after_having_auto', max_rows_to_group_by = 100000, group_by_overflow_mode = 'any'; + diff --git a/dbms/tests/queries/1_stateful/00082_quantiles.reference b/dbms/tests/queries/1_stateful/00082_quantiles.reference new file mode 100644 index 00000000000..5a841b948ea --- /dev/null +++ b/dbms/tests/queries/1_stateful/00082_quantiles.reference @@ -0,0 +1,80 @@ +1143050 1366 +731962 1366 +722545 1366 +722889 1366 +2237260 1366 +23057320 1366 +722818 1366 +48221 1280 +19762435 1366 +722884 1366 +1143050 [1024,1366,1920,1920,2560] +731962 [1024,1366,1920,1920,2560] +722545 [1024,1366,1920,1920,2259] +722889 [1152,1366,1920,1920,2560] +2237260 [1024,1366,1680,1920,1920] +23057320 [914,1366,1680,1920,2560] +722818 [1024,1366,1920,1920,2560] +48221 [320,1280,1600,1920,2000] +19762435 [1024,1366,1680,1920,1920] +722884 [1024,1366,1920,1920,1920] +1143050 1353 +731962 1353 +722545 1353 +722889 1353 +2237260 1353 +23057320 1353 +722818 1353 +48221 1283 +19762435 1353 +722884 1353 +1143050 [1016,1353,1916,1916,2559] +731962 [1016,1353,1916,1916,2559] +722545 [1016,1353,1916,1916,2258] +722889 [1149,1353,1916,1916,2559] +2237260 [1016,1353,1687,1916,1916] +23057320 [914,1353,1687,1916,2559] +722818 [1016,1353,1916,1916,2559] +48221 [320,1283,1606,1916,2006] +19762435 [1016,1353,1687,1916,1916] +722884 [1016,1353,1916,1916,1916] +1143050 1366 +731962 1366 +722545 1366 +722889 1366 +2237260 1366 +23057320 1366 +722818 1366 +48221 1280 +19762435 1366 +722884 1366 +1143050 [1024,1366,1920,1920,2560] +731962 [1024,1366,1920,1920,2560] +722545 [1024,1366,1920,1920,2259] +722889 [1152,1366,1920,1920,2560] +2237260 [1024,1366,1680,1920,1920] +23057320 [914,1366,1680,1920,2560] +722818 [1024,1366,1920,1920,2560] +48221 [320,1280,1600,1920,2000] +19762435 [1024,1366,1680,1920,1920] +722884 [1024,1366,1920,1920,1920] +1143050 1353 +731962 1353 +722545 1353 +722889 1353 +2237260 1353 +23057320 1353 +722818 1353 +48221 1283 +19762435 1353 +722884 1353 +1143050 [1016,1353,1916,1916,2559] +731962 [1016,1353,1916,1916,2559] +722545 [1016,1353,1916,1916,2258] +722889 [1149,1353,1916,1916,2559] +2237260 [1016,1353,1687,1916,1916] +23057320 [914,1353,1687,1916,2559] +722818 [1016,1353,1916,1916,2559] +48221 [320,1283,1606,1916,2006] +19762435 [1016,1353,1687,1916,1916] +722884 [1016,1353,1916,1916,1916] diff --git a/dbms/tests/queries/1_stateful/00082_quantiles.sql b/dbms/tests/queries/1_stateful/00082_quantiles.sql new file mode 100644 index 00000000000..3c42b43f3f9 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00082_quantiles.sql @@ -0,0 +1,12 @@ +SELECT CounterID AS k, quantileExact(0.5)(ResolutionWidth) FROM test.hits GROUP BY k ORDER BY count() DESC, CounterID LIMIT 10; +SELECT CounterID AS k, quantilesExact(0.1, 0.5, 0.9, 0.99, 0.999)(ResolutionWidth) FROM test.hits GROUP BY k ORDER BY count() DESC, CounterID LIMIT 10; + +SELECT CounterID AS k, quantileTiming(0.5)(ResolutionWidth) FROM test.hits GROUP BY k ORDER BY count() DESC, CounterID LIMIT 10; +SELECT CounterID AS k, quantilesTiming(0.1, 0.5, 0.9, 0.99, 0.999)(ResolutionWidth) FROM test.hits GROUP BY k ORDER BY count() DESC, CounterID LIMIT 10; + + +SELECT CounterID AS k, quantileExact(0.5)(ResolutionWidth) FROM remote('127.0.0.{1,2}', test.hits) GROUP BY k ORDER BY count() DESC, CounterID LIMIT 10; +SELECT CounterID AS k, quantilesExact(0.1, 0.5, 0.9, 0.99, 0.999)(ResolutionWidth) FROM remote('127.0.0.{1,2}', test.hits) GROUP BY k ORDER BY count() DESC, CounterID LIMIT 10; + +SELECT CounterID AS k, quantileTiming(0.5)(ResolutionWidth) FROM remote('127.0.0.{1,2}', test.hits) GROUP BY k ORDER BY count() DESC, CounterID LIMIT 10; +SELECT CounterID AS k, quantilesTiming(0.1, 0.5, 0.9, 0.99, 0.999)(ResolutionWidth) FROM remote('127.0.0.{1,2}', test.hits) GROUP BY k ORDER BY count() DESC, CounterID LIMIT 10; diff --git a/dbms/tests/queries/1_stateful/00083_array_filter.reference b/dbms/tests/queries/1_stateful/00083_array_filter.reference new file mode 100644 index 00000000000..388e32b8920 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00083_array_filter.reference @@ -0,0 +1,2 @@ +1025826 +1025826 diff --git a/dbms/tests/queries/1_stateful/00083_array_filter.sql b/dbms/tests/queries/1_stateful/00083_array_filter.sql new file mode 100644 index 00000000000..07793846713 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00083_array_filter.sql @@ -0,0 +1,2 @@ +SELECT sum(length(ParsedParams.Key1)) FROM test.hits WHERE notEmpty(ParsedParams.Key1); +SELECT sum(length(ParsedParams.ValueDouble)) FROM test.hits WHERE notEmpty(ParsedParams.ValueDouble); diff --git a/dbms/tests/queries/1_stateful/00084_external_aggregation.reference b/dbms/tests/queries/1_stateful/00084_external_aggregation.reference new file mode 100644 index 00000000000..89c454decf6 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00084_external_aggregation.reference @@ -0,0 +1,20 @@ +https://mail.yandex.ru/neo2/#inbox 594 +http://yandex.ru/ 318 +http://onlain-film.com/ym.php 235 +https://mail.yandex.ru/neo2/ 220 +http://pluginplus.net/plugins/statistic/statistic_all.html 186 +http://m.kporno.com/ 163 +http://err.hc.ru/cgierr/26/ 160 +http://pluginplus.net/plugins/statistic/statistic_im.html 160 +http://znanija.com/ 141 +https://e.mail.ru/messages/inbox/ 135 +https://mail.yandex.ru/neo2/#inbox 594 +http://yandex.ru/ 318 +http://onlain-film.com/ym.php 235 +https://mail.yandex.ru/neo2/ 220 +http://pluginplus.net/plugins/statistic/statistic_all.html 186 +http://m.kporno.com/ 163 +http://err.hc.ru/cgierr/26/ 160 +http://pluginplus.net/plugins/statistic/statistic_im.html 160 +http://znanija.com/ 141 +https://e.mail.ru/messages/inbox/ 135 diff --git a/dbms/tests/queries/1_stateful/00084_external_aggregation.sql b/dbms/tests/queries/1_stateful/00084_external_aggregation.sql new file mode 100644 index 00000000000..1423f026bbb --- /dev/null +++ b/dbms/tests/queries/1_stateful/00084_external_aggregation.sql @@ -0,0 +1,10 @@ +SET max_bytes_before_external_group_by = 200000000; + +SET max_memory_usage = 1000000000; +SET max_threads = 12; +SELECT URL, uniq(SearchPhrase) AS u FROM test.hits GROUP BY URL ORDER BY u DESC, URL LIMIT 10; + +SET max_memory_usage = 300000000; +SET max_threads = 2; +SET aggregation_memory_efficient_merge_threads = 1; +SELECT URL, uniq(SearchPhrase) AS u FROM test.hits GROUP BY URL ORDER BY u DESC, URL LIMIT 10; diff --git a/dbms/tests/queries/1_stateful/00085_monotonic_evaluation_segfault.reference b/dbms/tests/queries/1_stateful/00085_monotonic_evaluation_segfault.reference new file mode 100644 index 00000000000..573541ac970 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00085_monotonic_evaluation_segfault.reference @@ -0,0 +1 @@ +0 diff --git a/dbms/tests/queries/1_stateful/00085_monotonic_evaluation_segfault.sql b/dbms/tests/queries/1_stateful/00085_monotonic_evaluation_segfault.sql new file mode 100644 index 00000000000..db6c24b8b81 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00085_monotonic_evaluation_segfault.sql @@ -0,0 +1 @@ +SELECT any(0) FROM test.visits WHERE (toInt32(toDateTime(StartDate))) > 1000000000; diff --git a/dbms/tests/queries/1_stateful/00086_array_reduce.reference b/dbms/tests/queries/1_stateful/00086_array_reduce.reference new file mode 100644 index 00000000000..e69de29bb2d diff --git a/dbms/tests/queries/1_stateful/00086_array_reduce.sql b/dbms/tests/queries/1_stateful/00086_array_reduce.sql new file mode 100644 index 00000000000..dfe2e63aa1e --- /dev/null +++ b/dbms/tests/queries/1_stateful/00086_array_reduce.sql @@ -0,0 +1 @@ +SELECT arrayFilter(x -> x != 1, arrayMap((a, b) -> a = b, GeneralInterests, arrayReduce('groupArray', GeneralInterests))) AS res FROM test.hits WHERE length(res) != 0; diff --git a/dbms/tests/queries/1_stateful/00087_where_0.reference b/dbms/tests/queries/1_stateful/00087_where_0.reference new file mode 100644 index 00000000000..e69de29bb2d diff --git a/dbms/tests/queries/1_stateful/00087_where_0.sql b/dbms/tests/queries/1_stateful/00087_where_0.sql new file mode 100644 index 00000000000..c8fe05225fa --- /dev/null +++ b/dbms/tests/queries/1_stateful/00087_where_0.sql @@ -0,0 +1,3 @@ +SET max_rows_to_read = 1000; +SELECT CounterID, uniq(UserID) FROM test.hits WHERE 0 != 0 GROUP BY CounterID; +SELECT CounterID, uniq(UserID) FROM test.hits WHERE 0 AND CounterID = 34 GROUP BY CounterID; diff --git a/dbms/tests/queries/1_stateful/00088_global_in_one_shard_and_rows_before_limit.reference b/dbms/tests/queries/1_stateful/00088_global_in_one_shard_and_rows_before_limit.reference new file mode 100644 index 00000000000..deafee64641 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00088_global_in_one_shard_and_rows_before_limit.reference @@ -0,0 +1,26 @@ +{ + "meta": + [ + { + "name": "EventDate", + "type": "Date" + }, + { + "name": "count()", + "type": "UInt64" + } + ], + + "data": + [ + ["2014-03-17", "1406958"], + ["2014-03-18", "1383658"], + ["2014-03-19", "1405797"], + ["2014-03-20", "1353623"], + ["2014-03-21", "1245779"] + ], + + "rows": 5, + + "rows_before_limit_at_least": 7 +} diff --git a/dbms/tests/queries/1_stateful/00088_global_in_one_shard_and_rows_before_limit.sql b/dbms/tests/queries/1_stateful/00088_global_in_one_shard_and_rows_before_limit.sql new file mode 100644 index 00000000000..60dbec2e9bc --- /dev/null +++ b/dbms/tests/queries/1_stateful/00088_global_in_one_shard_and_rows_before_limit.sql @@ -0,0 +1,2 @@ +SET output_format_write_statistics = 0; +SELECT EventDate, count() FROM remote('127.0.0.1', test.hits) WHERE UserID GLOBAL IN (SELECT UserID FROM test.hits) GROUP BY EventDate ORDER BY EventDate LIMIT 5 FORMAT JSONCompact; diff --git a/dbms/tests/queries/1_stateful/00089_position_functions_with_non_constant_arg.reference b/dbms/tests/queries/1_stateful/00089_position_functions_with_non_constant_arg.reference new file mode 100644 index 00000000000..f0db728c5e7 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00089_position_functions_with_non_constant_arg.reference @@ -0,0 +1,9 @@ +0 +0 +0 +0 +samsungapps://productdetail/com.umojo.irr.android +ts3server://31.135.72.55?nickname=kridQl +http://ru/rus/index.php ru 15 +http://ex.ru/ ex.ru 12 +http://dex.ru/ dex.ru 11 diff --git a/dbms/tests/queries/1_stateful/00089_position_functions_with_non_constant_arg.sql b/dbms/tests/queries/1_stateful/00089_position_functions_with_non_constant_arg.sql new file mode 100644 index 00000000000..ecfd500ae6a --- /dev/null +++ b/dbms/tests/queries/1_stateful/00089_position_functions_with_non_constant_arg.sql @@ -0,0 +1,8 @@ +SELECT count() FROM test.hits WHERE position(URL, 'metrika') != position(URL, materialize('metrika')); +SELECT count() FROM test.hits WHERE positionCaseInsensitive(URL, 'metrika') != positionCaseInsensitive(URL, materialize('metrika')); +SELECT count() FROM test.hits WHERE positionUTF8(Title, 'новости') != positionUTF8(Title, materialize('новости')); +SELECT count() FROM test.hits WHERE positionCaseInsensitiveUTF8(Title, 'новости') != positionCaseInsensitiveUTF8(Title, materialize('новости')); + +SELECT position(URL, URLDomain) AS x FROM test.hits WHERE x = 0 AND URL NOT LIKE '%yandex.ru%' LIMIT 100; +SELECT URL FROM test.hits WHERE x > 10 ORDER BY position(URL, URLDomain) AS x DESC, URL LIMIT 2; +SELECT DISTINCT URL, URLDomain, position('http://yandex.ru/', URLDomain) AS x FROM test.hits WHERE x > 8 ORDER BY position('http://yandex.ru/', URLDomain) DESC, URL LIMIT 3; diff --git a/dbms/tests/queries/1_stateful/00090_thread_pool_deadlock.reference b/dbms/tests/queries/1_stateful/00090_thread_pool_deadlock.reference new file mode 100644 index 00000000000..f00c965d830 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00090_thread_pool_deadlock.reference @@ -0,0 +1,10 @@ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 diff --git a/dbms/tests/queries/1_stateful/00090_thread_pool_deadlock.sh b/dbms/tests/queries/1_stateful/00090_thread_pool_deadlock.sh new file mode 100755 index 00000000000..c30f137e8a6 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00090_thread_pool_deadlock.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +echo '1'; +clickhouse-client --distributed_aggregation_memory_efficient=1 --group_by_two_level_threshold=1 --max_execution_time=1 --query="SELECT SearchPhrase AS k, count() AS c FROM remote('127.0.0.{1,2}', test.hits) GROUP BY k ORDER BY c DESC LIMIT 10" --format=Null 2>/dev/null; +echo '2'; +clickhouse-client --distributed_aggregation_memory_efficient=1 --group_by_two_level_threshold=1 --max_execution_time=1 --query="SELECT SearchPhrase AS k, count() AS c FROM remote('127.0.0.{1,2,3}', test.hits) GROUP BY k ORDER BY c DESC LIMIT 10" --format=Null 2>/dev/null; +echo '3'; +clickhouse-client --distributed_aggregation_memory_efficient=1 --group_by_two_level_threshold=1 --max_execution_time=1 --query="SELECT SearchPhrase AS k, count() AS c FROM remote('127.0.0.{1,2,3,4}', test.hits) GROUP BY k ORDER BY c DESC LIMIT 10" --format=Null 2>/dev/null; +echo '4'; +clickhouse-client --distributed_aggregation_memory_efficient=1 --group_by_two_level_threshold=1 --max_execution_time=1 --query="SELECT SearchPhrase AS k, count() AS c FROM remote('127.0.0.{1,2,3,4,5}', test.hits) GROUP BY k ORDER BY c DESC LIMIT 10" --format=Null 2>/dev/null; +echo '5'; +clickhouse-client --distributed_aggregation_memory_efficient=1 --group_by_two_level_threshold=1 --max_execution_time=1 --query="SELECT SearchPhrase AS k, count() AS c FROM remote('127.0.0.{1,2,3,4,5,6}', test.hits) GROUP BY k ORDER BY c DESC LIMIT 10" --format=Null 2>/dev/null; +echo '6'; +clickhouse-client --distributed_aggregation_memory_efficient=1 --group_by_two_level_threshold=1 --max_execution_time=1 --query="SELECT SearchPhrase AS k, count() AS c FROM remote('127.0.0.{1,2,3,4,5,6,7}', test.hits) GROUP BY k ORDER BY c DESC LIMIT 10" --format=Null 2>/dev/null; +echo '7'; +clickhouse-client --distributed_aggregation_memory_efficient=1 --group_by_two_level_threshold=1 --max_execution_time=1 --query="SELECT SearchPhrase AS k, count() AS c FROM remote('127.0.0.{1,2,3,4,5,6,7,8}', test.hits) GROUP BY k ORDER BY c DESC LIMIT 10" --format=Null 2>/dev/null; +echo '8'; +clickhouse-client --distributed_aggregation_memory_efficient=1 --group_by_two_level_threshold=1 --max_execution_time=1 --query="SELECT SearchPhrase AS k, count() AS c FROM remote('127.0.0.{1,2,3,4,5,6,7,8,9}', test.hits) GROUP BY k ORDER BY c DESC LIMIT 10" --format=Null 2>/dev/null; +echo '9'; +clickhouse-client --distributed_aggregation_memory_efficient=1 --group_by_two_level_threshold=1 --max_execution_time=1 --query="SELECT SearchPhrase AS k, count() AS c FROM remote('127.0.0.{1,2,3,4,5,6,7,8,9,10}', test.hits) GROUP BY k ORDER BY c DESC LIMIT 10" --format=Null 2>/dev/null; +echo '10'; diff --git a/dbms/tests/queries/1_stateful/00139_like.reference b/dbms/tests/queries/1_stateful/00139_like.reference new file mode 100644 index 00000000000..2cfe3231ff6 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00139_like.reference @@ -0,0 +1,4 @@ +79628 +0 +79628 +102851 diff --git a/dbms/tests/queries/1_stateful/00139_like.sql b/dbms/tests/queries/1_stateful/00139_like.sql new file mode 100644 index 00000000000..ccc195bc81d --- /dev/null +++ b/dbms/tests/queries/1_stateful/00139_like.sql @@ -0,0 +1,5 @@ +/* Заметим, что запросы написаны так, как будто пользователь не понимает смысл символа _ в LIKE выражении. */ +SELECT count() FROM test.hits WHERE URL LIKE '%/avtomobili_s_probegom/_%__%__%__%'; +SELECT count() FROM test.hits WHERE URL LIKE '/avtomobili_s_probegom/_%__%__%__%'; +SELECT count() FROM test.hits WHERE URL LIKE '%_/avtomobili_s_probegom/_%__%__%__%'; +SELECT count() FROM test.hits WHERE URL LIKE '%avtomobili%'; diff --git a/dbms/tests/queries/1_stateful/00140_rename.reference b/dbms/tests/queries/1_stateful/00140_rename.reference new file mode 100644 index 00000000000..80776d85438 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00140_rename.reference @@ -0,0 +1,12 @@ +286 +1962 +286 +1962 +1962 +286 +1962 +1962 +286 +1962 +1962 +286 diff --git a/dbms/tests/queries/1_stateful/00140_rename.sql b/dbms/tests/queries/1_stateful/00140_rename.sql new file mode 100644 index 00000000000..33b7b1ad720 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00140_rename.sql @@ -0,0 +1,32 @@ +RENAME TABLE test.hits TO test.visits_tmp, test.visits TO test.hits, test.visits_tmp TO test.visits; + +SELECT sum(Sign) FROM test.hits WHERE CounterID = 34; +SELECT count() FROM test.visits WHERE CounterID = 34; + +RENAME TABLE test.hits TO test.hits_tmp, test.hits_tmp TO test.hits; + +SELECT sum(Sign) FROM test.hits WHERE CounterID = 34; +SELECT count() FROM test.visits WHERE CounterID = 34; + +RENAME TABLE test.hits TO test.visits_tmp, test.visits TO test.hits, test.visits_tmp TO test.visits; + +SELECT count() FROM test.hits WHERE CounterID = 34; +SELECT sum(Sign) FROM test.visits WHERE CounterID = 34; + +RENAME TABLE test.hits TO test.hits2, test.hits2 TO test.hits3, test.hits3 TO test.hits4, test.hits4 TO test.hits5, test.hits5 TO test.hits6, test.hits6 TO test.hits7, test.hits7 TO test.hits8, test.hits8 TO test.hits9, test.hits9 TO test.hits10; + +SELECT count() FROM test.hits10 WHERE CounterID = 34; + +RENAME TABLE test.hits10 TO test.hits; + +SELECT count() FROM test.hits WHERE CounterID = 34; + +RENAME TABLE test.hits TO hits, test.visits TO test.hits; + +SELECT sum(Sign) FROM test.hits WHERE CounterID = 34; +SELECT count() FROM hits WHERE CounterID = 34; + +RENAME TABLE test.hits TO test.visits, hits TO test.hits; + +SELECT count() FROM test.hits WHERE CounterID = 34; +SELECT sum(Sign) FROM test.visits WHERE CounterID = 34; diff --git a/dbms/tests/queries/1_stateful/00141_transform.reference b/dbms/tests/queries/1_stateful/00141_transform.reference new file mode 100644 index 00000000000..9cd12dac687 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00141_transform.reference @@ -0,0 +1,3 @@ +Яндекс 498635 +Google 229872 +Остальные 104472 diff --git a/dbms/tests/queries/1_stateful/00141_transform.sql b/dbms/tests/queries/1_stateful/00141_transform.sql new file mode 100644 index 00000000000..0ec27826747 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00141_transform.sql @@ -0,0 +1 @@ +SELECT transform(SearchEngineID, [2, 3], ['Яндекс', 'Google'], 'Остальные') AS title, count() AS c FROM test.hits WHERE SearchEngineID != 0 GROUP BY title HAVING c > 0 ORDER BY c DESC LIMIT 10; diff --git a/dbms/tests/queries/1_stateful/00142_system_columns.reference b/dbms/tests/queries/1_stateful/00142_system_columns.reference new file mode 100644 index 00000000000..2cc224dccaf --- /dev/null +++ b/dbms/tests/queries/1_stateful/00142_system_columns.reference @@ -0,0 +1,133 @@ +hits WatchID UInt64 +hits JavaEnable UInt8 +hits Title String +hits GoodEvent Int16 +hits EventTime DateTime +hits EventDate Date +hits CounterID UInt32 +hits ClientIP UInt32 +hits ClientIP6 FixedString(16) +hits RegionID UInt32 +hits UserID UInt64 +hits CounterClass Int8 +hits OS UInt8 +hits UserAgent UInt8 +hits URL String +hits Referer String +hits URLDomain String +hits RefererDomain String +hits Refresh UInt8 +hits IsRobot UInt8 +hits RefererCategories Array(UInt16) +hits URLCategories Array(UInt16) +hits URLRegions Array(UInt32) +hits RefererRegions Array(UInt32) +hits ResolutionWidth UInt16 +hits ResolutionHeight UInt16 +hits ResolutionDepth UInt8 +hits FlashMajor UInt8 +hits FlashMinor UInt8 +hits FlashMinor2 String +hits NetMajor UInt8 +hits NetMinor UInt8 +hits UserAgentMajor UInt16 +hits UserAgentMinor FixedString(2) +hits CookieEnable UInt8 +hits JavascriptEnable UInt8 +hits IsMobile UInt8 +hits MobilePhone UInt8 +hits MobilePhoneModel String +hits Params String +hits IPNetworkID UInt32 +hits TraficSourceID Int8 +hits SearchEngineID UInt16 +hits SearchPhrase String +hits AdvEngineID UInt8 +hits IsArtifical UInt8 +hits WindowClientWidth UInt16 +hits WindowClientHeight UInt16 +hits ClientTimeZone Int16 +hits ClientEventTime DateTime +hits SilverlightVersion1 UInt8 +hits SilverlightVersion2 UInt8 +hits SilverlightVersion3 UInt32 +hits SilverlightVersion4 UInt16 +hits PageCharset String +hits CodeVersion UInt32 +hits IsLink UInt8 +hits IsDownload UInt8 +hits IsNotBounce UInt8 +hits FUniqID UInt64 +hits HID UInt32 +hits IsOldCounter UInt8 +hits IsEvent UInt8 +hits IsParameter UInt8 +hits DontCountHits UInt8 +hits WithHash UInt8 +hits HitColor FixedString(1) +hits UTCEventTime DateTime +hits Age UInt8 +hits Sex UInt8 +hits Income UInt8 +hits Interests UInt16 +hits Robotness UInt8 +hits GeneralInterests Array(UInt16) +hits RemoteIP UInt32 +hits RemoteIP6 FixedString(16) +hits WindowName Int32 +hits OpenerName Int32 +hits HistoryLength Int16 +hits BrowserLanguage FixedString(2) +hits BrowserCountry FixedString(2) +hits SocialNetwork String +hits SocialAction String +hits HTTPError UInt16 +hits SendTiming Int32 +hits DNSTiming Int32 +hits ConnectTiming Int32 +hits ResponseStartTiming Int32 +hits ResponseEndTiming Int32 +hits FetchTiming Int32 +hits RedirectTiming Int32 +hits DOMInteractiveTiming Int32 +hits DOMContentLoadedTiming Int32 +hits DOMCompleteTiming Int32 +hits LoadEventStartTiming Int32 +hits LoadEventEndTiming Int32 +hits NSToDOMContentLoadedTiming Int32 +hits FirstPaintTiming Int32 +hits RedirectCount Int8 +hits SocialSourceNetworkID UInt8 +hits SocialSourcePage String +hits ParamPrice Int64 +hits ParamOrderID String +hits ParamCurrency FixedString(3) +hits ParamCurrencyID UInt16 +hits GoalsReached Array(UInt32) +hits OpenstatServiceName String +hits OpenstatCampaignID String +hits OpenstatAdID String +hits OpenstatSourceID String +hits UTMSource String +hits UTMMedium String +hits UTMCampaign String +hits UTMContent String +hits UTMTerm String +hits FromTag String +hits HasGCLID UInt8 +hits RefererHash UInt64 +hits URLHash UInt64 +hits CLID UInt32 +hits YCLID UInt64 +hits ShareService String +hits ShareURL String +hits ShareTitle String +hits ParsedParams.Key1 Array(String) +hits ParsedParams.Key2 Array(String) +hits ParsedParams.Key3 Array(String) +hits ParsedParams.Key4 Array(String) +hits ParsedParams.Key5 Array(String) +hits ParsedParams.ValueDouble Array(Float64) +hits IslandID FixedString(16) +hits RequestNum UInt32 +hits RequestTry UInt8 diff --git a/dbms/tests/queries/1_stateful/00142_system_columns.sql b/dbms/tests/queries/1_stateful/00142_system_columns.sql new file mode 100644 index 00000000000..f6b5e7ed89f --- /dev/null +++ b/dbms/tests/queries/1_stateful/00142_system_columns.sql @@ -0,0 +1 @@ +SELECT table, name, type, default_kind, default_expression FROM system.columns WHERE database = 'test' AND table = 'hits' diff --git a/dbms/tests/queries/1_stateful/00143_transform_non_const_default.reference b/dbms/tests/queries/1_stateful/00143_transform_non_const_default.reference new file mode 100644 index 00000000000..b9772df780b --- /dev/null +++ b/dbms/tests/queries/1_stateful/00143_transform_non_const_default.reference @@ -0,0 +1,10 @@ +Яндекс 498635 +Google 229872 +utf-8 73842 +windows-1251 28664 + 1284 +koi8-r 165 +windows-1252 148 +windows-1254 126 +iso-8859-1 102 +iso-8859-9 86 diff --git a/dbms/tests/queries/1_stateful/00143_transform_non_const_default.sql b/dbms/tests/queries/1_stateful/00143_transform_non_const_default.sql new file mode 100644 index 00000000000..68d2bc52ab0 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00143_transform_non_const_default.sql @@ -0,0 +1 @@ +SELECT transform(SearchEngineID, [2, 3], ['Яндекс', 'Google'], PageCharset) AS title, count() AS c FROM test.hits WHERE SearchEngineID != 0 GROUP BY title HAVING c > 0 ORDER BY c DESC LIMIT 10; diff --git a/dbms/tests/queries/1_stateful/00144_functions_of_aggregation_states.reference b/dbms/tests/queries/1_stateful/00144_functions_of_aggregation_states.reference new file mode 100644 index 00000000000..72b11764a12 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00144_functions_of_aggregation_states.reference @@ -0,0 +1,7 @@ +2014-03-17 36613 36613 +2014-03-18 36531 54710 +2014-03-19 36940 69954 +2014-03-20 36462 83923 +2014-03-21 35447 96824 +2014-03-22 31555 108565 +2014-03-23 31200 119497 diff --git a/dbms/tests/queries/1_stateful/00144_functions_of_aggregation_states.sql b/dbms/tests/queries/1_stateful/00144_functions_of_aggregation_states.sql new file mode 100644 index 00000000000..ff05ff86799 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00144_functions_of_aggregation_states.sql @@ -0,0 +1 @@ +SELECT EventDate, finalizeAggregation(state), runningAccumulate(state) FROM (SELECT EventDate, uniqState(UserID) AS state FROM test.hits GROUP BY EventDate ORDER BY EventDate); diff --git a/dbms/tests/queries/1_stateful/00145_aggregate_functions_statistics.reference b/dbms/tests/queries/1_stateful/00145_aggregate_functions_statistics.reference new file mode 100644 index 00000000000..39980910bfc --- /dev/null +++ b/dbms/tests/queries/1_stateful/00145_aggregate_functions_statistics.reference @@ -0,0 +1,21 @@ +nan +nan +159323.735527 +nan +nan +399.153774 +nan +0 +159323.717573 +nan +0 +399.153752 +nan +nan +48783.944394 +nan +0 +48783.938897 +nan +nan +0.451491 diff --git a/dbms/tests/queries/1_stateful/00145_aggregate_functions_statistics.sql b/dbms/tests/queries/1_stateful/00145_aggregate_functions_statistics.sql new file mode 100644 index 00000000000..07dd63d723d --- /dev/null +++ b/dbms/tests/queries/1_stateful/00145_aggregate_functions_statistics.sql @@ -0,0 +1,28 @@ +SELECT varSamp(ResolutionWidth) FROM (SELECT ResolutionWidth FROM test.hits LIMIT 0); +SELECT varSamp(ResolutionWidth) FROM (SELECT ResolutionWidth FROM test.hits LIMIT 1); +SELECT round(varSamp(ResolutionWidth), 6) FROM test.hits; + +SELECT stddevSamp(ResolutionWidth) FROM (SELECT ResolutionWidth FROM test.hits LIMIT 0); +SELECT stddevSamp(ResolutionWidth) FROM (SELECT ResolutionWidth FROM test.hits LIMIT 1); +SELECT round(stddevSamp(ResolutionWidth), 6) FROM test.hits; + +SELECT varPop(ResolutionWidth) FROM (SELECT ResolutionWidth FROM test.hits LIMIT 0); +SELECT varPop(ResolutionWidth) FROM (SELECT ResolutionWidth FROM test.hits LIMIT 1); +SELECT round(varPop(ResolutionWidth), 6) FROM test.hits; + +SELECT stddevPop(ResolutionWidth) FROM (SELECT ResolutionWidth FROM test.hits LIMIT 0); +SELECT stddevPop(ResolutionWidth) FROM (SELECT ResolutionWidth FROM test.hits LIMIT 1); +SELECT round(stddevPop(ResolutionWidth), 6) FROM test.hits; + +SELECT covarSamp(ResolutionWidth, ResolutionHeight) FROM (SELECT ResolutionWidth, ResolutionHeight FROM test.hits LIMIT 0); +SELECT covarSamp(ResolutionWidth, ResolutionHeight) FROM (SELECT ResolutionWidth, ResolutionHeight FROM test.hits LIMIT 1); +SELECT round(covarSamp(ResolutionWidth, ResolutionHeight), 6) FROM test.hits; + +SELECT covarPop(ResolutionWidth, ResolutionHeight) FROM (SELECT ResolutionWidth, ResolutionHeight FROM test.hits LIMIT 0); +SELECT covarPop(ResolutionWidth, ResolutionHeight) FROM (SELECT ResolutionWidth, ResolutionHeight FROM test.hits LIMIT 1); +SELECT round(covarPop(ResolutionWidth, ResolutionHeight), 6) FROM test.hits; + +SELECT corr(ResolutionWidth, ResolutionHeight) FROM (SELECT ResolutionWidth, ResolutionHeight FROM test.hits LIMIT 0); +SELECT corr(ResolutionWidth, ResolutionHeight) FROM (SELECT ResolutionWidth, ResolutionHeight FROM test.hits LIMIT 1); +SELECT round(corr(ResolutionWidth, ResolutionHeight), 6) FROM test.hits; + diff --git a/dbms/tests/queries/1_stateful/00146_aggregate_function_uniq.reference b/dbms/tests/queries/1_stateful/00146_aggregate_function_uniq.reference new file mode 100644 index 00000000000..3e5f4b9e260 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00146_aggregate_function_uniq.reference @@ -0,0 +1,19 @@ +2 428064 +54 105908 +143 190223 +157 161971 +187 288270 +213 1324424 +225 318611 +11503 194698 +11508 199656 +2 428333 +54 106848 +143 187608 +157 164665 +187 284689 +213 1315011 +225 319575 +11503 197005 +11508 196642 +12247 diff --git a/dbms/tests/queries/1_stateful/00146_aggregate_function_uniq.sql b/dbms/tests/queries/1_stateful/00146_aggregate_function_uniq.sql new file mode 100644 index 00000000000..fd3fde7636d --- /dev/null +++ b/dbms/tests/queries/1_stateful/00146_aggregate_function_uniq.sql @@ -0,0 +1,3 @@ +SELECT RegionID, uniqHLL12(WatchID) AS X FROM remote('127.0.0.{1,2}', test, hits) GROUP BY RegionID HAVING X > 100000 ORDER BY RegionID ASC; +SELECT RegionID, uniqCombined(WatchID) AS X FROM remote('127.0.0.{1,2}', test, hits) GROUP BY RegionID HAVING X > 100000 ORDER BY RegionID ASC; +SELECT abs(uniq(WatchID) - uniqExact(WatchID)) FROM test.hits; diff --git a/dbms/tests/queries/1_stateful/00147_global_in_aggregate_function.reference b/dbms/tests/queries/1_stateful/00147_global_in_aggregate_function.reference new file mode 100644 index 00000000000..9c49da1ab8a --- /dev/null +++ b/dbms/tests/queries/1_stateful/00147_global_in_aggregate_function.reference @@ -0,0 +1,2 @@ +17747796 +17747796 diff --git a/dbms/tests/queries/1_stateful/00147_global_in_aggregate_function.sql b/dbms/tests/queries/1_stateful/00147_global_in_aggregate_function.sql new file mode 100644 index 00000000000..8276f4c1b16 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00147_global_in_aggregate_function.sql @@ -0,0 +1,2 @@ +SELECT sum(UserID GLOBAL IN (SELECT UserID FROM remote('127.0.0.{1,2}', test.hits))) FROM remote('127.0.0.{1,2}', test.hits); +SELECT sum(UserID GLOBAL IN (SELECT UserID FROM test.hits)) FROM remote('127.0.0.{1,2}', test.hits); diff --git a/dbms/tests/queries/1_stateful/00148_monotonic_functions_and_index.reference b/dbms/tests/queries/1_stateful/00148_monotonic_functions_and_index.reference new file mode 100644 index 00000000000..3f8f6c523ed --- /dev/null +++ b/dbms/tests/queries/1_stateful/00148_monotonic_functions_and_index.reference @@ -0,0 +1,39 @@ +1962 +1962 +1962 +1962 +1962 +1962 +1999 +17669 +1999 +409 1 17669 +409 1 17669 +3 1 1999 +3 1 1999 +1 1962 +479124 +481541 +475681 +476843 +478098 +479260 +479124 +481541 +475681 +476843 +478098 +479260 +475681 +476843 +478098 +479260 +1353623 +1353623 +1353623 +1353623 +1353623 +1353623 +0 +0 +0 diff --git a/dbms/tests/queries/1_stateful/00148_monotonic_functions_and_index.sql b/dbms/tests/queries/1_stateful/00148_monotonic_functions_and_index.sql new file mode 100644 index 00000000000..84faa6e059a --- /dev/null +++ b/dbms/tests/queries/1_stateful/00148_monotonic_functions_and_index.sql @@ -0,0 +1,59 @@ +SET max_rows_to_read = 50000; + +SELECT count() FROM test.hits WHERE -CounterID = -34; +SELECT count() FROM test.hits WHERE abs(-CounterID) = 34; +SELECT count() FROM test.hits WHERE -abs(CounterID) = -34; +SELECT count() FROM test.hits WHERE toUInt32(CounterID) = 34; +SELECT count() FROM test.hits WHERE toInt32(CounterID) = 34; +SELECT count() FROM test.hits WHERE toFloat32(CounterID) = 34; + +SET max_rows_to_read = 0; + +SELECT count() FROM test.hits WHERE toInt16(CounterID) = 34; +SELECT count() FROM test.hits WHERE toInt8(CounterID) = 34; + +SELECT count() FROM test.hits WHERE toDate(toUInt16(CounterID)) = toDate(34); + +SELECT uniq(CounterID), uniqUpTo(5)(toInt8(CounterID)), count() FROM test.hits WHERE toInt8(CounterID + 1 - 1) = 34; +SELECT uniq(CounterID), uniqUpTo(5)(toInt8(CounterID)), count() FROM test.hits WHERE toInt8(CounterID) = 34; + +SELECT uniq(CounterID), uniqUpTo(5)(toInt16(CounterID)), count() FROM test.hits WHERE toInt16(CounterID + 1 - 1) = 34; +SELECT uniq(CounterID), uniqUpTo(5)(toInt16(CounterID)), count() FROM test.hits WHERE toInt16(CounterID) = 34; + +SET max_rows_to_read = 500000; + +SELECT uniq(CounterID), count() FROM test.hits WHERE toString(CounterID) = '34'; + +SET max_rows_to_read = 2000000; + +SELECT count() FROM test.hits WHERE CounterID < 101500; +SELECT count() FROM test.hits WHERE CounterID <= 101500; +SELECT count() FROM test.hits WHERE CounterID < 101500 AND CounterID > 42; +SELECT count() FROM test.hits WHERE CounterID < 101500 AND CounterID >= 42; +SELECT count() FROM test.hits WHERE CounterID <= 101500 AND CounterID > 42; +SELECT count() FROM test.hits WHERE CounterID <= 101500 AND CounterID >= 42; +SELECT count() FROM test.hits WHERE -CounterID > -101500; +SELECT count() FROM test.hits WHERE -CounterID >= -101500; +SELECT count() FROM test.hits WHERE -CounterID > -101500 AND CounterID > 42; +SELECT count() FROM test.hits WHERE -CounterID > -101500 AND CounterID >= 42; +SELECT count() FROM test.hits WHERE -CounterID >= -101500 AND CounterID > 42; +SELECT count() FROM test.hits WHERE -CounterID >= -101500 AND CounterID >= 42; +SELECT count() FROM test.hits WHERE CounterID < 101500 AND -CounterID < -42; +SELECT count() FROM test.hits WHERE CounterID < 101500 AND -CounterID <= -42; +SELECT count() FROM test.hits WHERE CounterID <= 101500 AND -CounterID < -42; +SELECT count() FROM test.hits WHERE CounterID <= 101500 AND -CounterID <= -42; + +SET max_rows_to_read = 0; + +SELECT count() FROM test.hits WHERE EventDate = '2014-03-20'; +SELECT count() FROM test.hits WHERE toDayOfMonth(EventDate) = 20; +SELECT count() FROM test.hits WHERE toDayOfWeek(EventDate) = 4; +SELECT count() FROM test.hits WHERE toUInt16(EventDate) = toUInt16(toDate('2014-03-20')); +SELECT count() FROM test.hits WHERE toInt64(EventDate) = toInt64(toDate('2014-03-20')); +SELECT count() FROM test.hits WHERE toDateTime(EventDate) = '2014-03-20 00:00:00'; + +SET max_rows_to_read = 50000; + +SELECT count() FROM test.hits WHERE toMonth(EventDate) != 3; +SELECT count() FROM test.hits WHERE toYear(EventDate) != 2014; +SELECT count() FROM test.hits WHERE toDayOfMonth(EventDate) > 23 OR toDayOfMonth(EventDate) < 17; diff --git a/dbms/tests/queries/1_stateful/00149_quantiles_timing_distributed.reference b/dbms/tests/queries/1_stateful/00149_quantiles_timing_distributed.reference new file mode 100644 index 00000000000..3183819b008 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00149_quantiles_timing_distributed.reference @@ -0,0 +1 @@ +4306270979949069156 diff --git a/dbms/tests/queries/1_stateful/00149_quantiles_timing_distributed.sql b/dbms/tests/queries/1_stateful/00149_quantiles_timing_distributed.sql new file mode 100644 index 00000000000..b195518e1e7 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00149_quantiles_timing_distributed.sql @@ -0,0 +1 @@ +SELECT sum(cityHash64(*)) FROM (SELECT CounterID, quantileTiming(0.5)(SendTiming), count() FROM remote('127.0.0.{1,2,3,4,5,6,7,8,9,10}', test.hits) WHERE SendTiming != -1 GROUP BY CounterID); diff --git a/dbms/tests/queries/1_stateful/00150_quantiles_timing_precision.reference b/dbms/tests/queries/1_stateful/00150_quantiles_timing_precision.reference new file mode 100644 index 00000000000..5c047df92c4 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00150_quantiles_timing_precision.reference @@ -0,0 +1 @@ +7234936 1824 1829 5755 0.003 diff --git a/dbms/tests/queries/1_stateful/00150_quantiles_timing_precision.sql b/dbms/tests/queries/1_stateful/00150_quantiles_timing_precision.sql new file mode 100644 index 00000000000..7d5b27fafd3 --- /dev/null +++ b/dbms/tests/queries/1_stateful/00150_quantiles_timing_precision.sql @@ -0,0 +1 @@ +SELECT CounterID, quantileTiming(0.5)(SendTiming) AS qt, least(30000, quantileExact(0.5)(SendTiming)) AS qe, count() AS c, round(abs(qt - qe) / greatest(qt, qe) AS diff, 3) AS rounded_diff FROM test.hits WHERE SendTiming != -1 GROUP BY CounterID HAVING diff != 0 ORDER BY diff DESC; diff --git a/docs/ru/introduction/distinctive_features.md b/docs/ru/introduction/distinctive_features.md index c85d464222b..9657218cdef 100644 --- a/docs/ru/introduction/distinctive_features.md +++ b/docs/ru/introduction/distinctive_features.md @@ -14,7 +14,7 @@ ## Хранение данных на диске -Многие столбцовые СУБД (SAP HANA, Google PowerDrill) могут работать только в оперативной памяти. Такой подход стимулирует выделять больший бюджет на оборудование, чем фактически требуется для анализа в реальном времени. ClickHouse спроектирован для работы на обычных жестких дисках, что обеспечивает низкую стоимость хранения на гигабайт данных, но SSD b дополнительная оперативная память тоже полноценно используются, если доступны. +Многие столбцовые СУБД (SAP HANA, Google PowerDrill) могут работать только в оперативной памяти. Такой подход стимулирует выделять больший бюджет на оборудование, чем фактически требуется для анализа в реальном времени. ClickHouse спроектирован для работы на обычных жестких дисках, что обеспечивает низкую стоимость хранения на гигабайт данных, но SSD и дополнительная оперативная память тоже полноценно используются, если доступны. ## Параллельная обработка запроса на многих процессорных ядрах diff --git a/libs/libcommon/CMakeLists.txt b/libs/libcommon/CMakeLists.txt index 7ad6067410b..99b02ec1f26 100644 --- a/libs/libcommon/CMakeLists.txt +++ b/libs/libcommon/CMakeLists.txt @@ -75,6 +75,8 @@ elseif (USE_TCMALLOC) message (STATUS "Link libtcmalloc_minimal: ${GPERFTOOLS_TCMALLOC_MINIMAL}") set (MALLOC_LIBRARIES ${GPERFTOOLS_TCMALLOC_MINIMAL}) endif () +elseif (SANITIZE) + message (STATUS "Will use ${SANITIZE} sanitizer.") else () message (WARNING "Non default allocator is disabled. This is not recommended for production Linux builds.") endif () diff --git a/libs/libcommon/cmake/find_gperftools.cmake b/libs/libcommon/cmake/find_gperftools.cmake index f2a042a2cef..73e8182d390 100644 --- a/libs/libcommon/cmake/find_gperftools.cmake +++ b/libs/libcommon/cmake/find_gperftools.cmake @@ -23,5 +23,9 @@ if (ENABLE_TCMALLOC) set (USE_TCMALLOC 1) endif () + if (SANITIZE) + message (FATAL_ERROR "ENABLE_TCMALLOC is set to true, but it cannot be used with sanitizers") + endif () + message (STATUS "Using tcmalloc=${USE_TCMALLOC}: ${GPERFTOOLS_INCLUDE_DIR} : ${GPERFTOOLS_TCMALLOC_MINIMAL}") endif () diff --git a/libs/libcommon/cmake/find_jemalloc.cmake b/libs/libcommon/cmake/find_jemalloc.cmake index 79898425de6..eccebdce64f 100644 --- a/libs/libcommon/cmake/find_jemalloc.cmake +++ b/libs/libcommon/cmake/find_jemalloc.cmake @@ -1,4 +1,10 @@ -option (ENABLE_JEMALLOC "Set to TRUE to use jemalloc" ${OS_LINUX}) +if (OS_LINUX AND NOT SANITIZE) + set(ENABLE_JEMALLOC_DEFAULT 1) +else () + set(ENABLE_JEMALLOC_DEFAULT 0) +endif () + +option (ENABLE_JEMALLOC "Set to TRUE to use jemalloc" ${ENABLE_JEMALLOC_DEFAULT}) if (OS_LINUX) option (USE_INTERNAL_JEMALLOC_LIBRARY "Set to FALSE to use system jemalloc library instead of bundled" ${NOT_UNBUNDLED}) elseif () @@ -21,5 +27,9 @@ if (ENABLE_JEMALLOC) message (FATAL_ERROR "ENABLE_JEMALLOC is set to true, but library was not found") endif () + if (SANITIZE) + message (FATAL_ERROR "ENABLE_JEMALLOC is set to true, but it cannot be used with sanitizers") + endif () + message (STATUS "Using jemalloc=${USE_JEMALLOC}: ${JEMALLOC_LIBRARIES}") endif () diff --git a/release b/release index 989750057ea..941cbc5df59 100755 --- a/release +++ b/release @@ -1,5 +1,7 @@ #!/bin/bash +# If you have "no space left" error, you can change the location of temporary files with BUILDPLACE environment variable. + # Advanced usage: # Test gcc-8: # env DIST=bionic EXTRAPACKAGES="gcc-8 g++-8" DEB_CC=gcc-8 DEB_CXX=g++-8 CMAKE_FLAGS=" -DNO_WERROR=1 " ./release @@ -71,21 +73,19 @@ done # Build options if [ -n "$SANITIZER" ] then - CMAKE_BUILD_TYPE=$SANITIZER - VERSION_POSTFIX+=+${SANITIZER,,} + VERSION_POSTFIX+="+${SANITIZER,,}" export DEB_CC=${DEB_CC=clang-6.0} export DEB_CXX=${DEB_CXX=clang++-6.0} EXTRAPACKAGES="$EXTRAPACKAGES clang-6.0 lld-6.0" elif [[ $BUILD_TYPE == 'valgrind' ]]; then - LIBTCMALLOC_OPTS="-DENABLE_TCMALLOC=0" + MALLOC_OPTS="-DENABLE_TCMALLOC=0 -DENABLE_JEMALLOC=0" VERSION_POSTFIX+=+$BUILD_TYPE elif [[ $BUILD_TYPE == 'debug' ]]; then CMAKE_BUILD_TYPE=Debug - LIBTCMALLOC_OPTS="-DDEBUG_TCMALLOC=1" VERSION_POSTFIX+=+$BUILD_TYPE fi -CMAKE_FLAGS=" $LIBTCMALLOC_OPTS -DENABLE_EMBEDDED_COMPILER=1 $CMAKE_FLAGS" +CMAKE_FLAGS=" $MALLOC_OPTS -DSANITIZE=$SANITIZER -DENABLE_EMBEDDED_COMPILER=1 $CMAKE_FLAGS" [[ -n "$CMAKE_BUILD_TYPE" ]] && CMAKE_FLAGS=" -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE $CMAKE_FLAGS" #[[ "$CMAKE_FLAGS" =~ "USE_INTERNAL_LLVM_LIBRARY" ]] || CMAKE_FLAGS=" -DUSE_INTERNAL_LLVM_LIBRARY=1 $CMAKE_FLAGS"