Merge commit 'f2b386a7d00c6f03c65ac1d74a9d8670ceef8ade'

This commit is contained in:
Evgeniy Gatov 2016-06-11 00:58:20 +03:00
commit 6918d7dd52
20 changed files with 55 additions and 33 deletions

View File

@ -85,7 +85,7 @@ public:
~ColumnAggregateFunction()
{
if (!func->hasTrivialDestructor() && src)
if (!func->hasTrivialDestructor() && !src)
for (auto val : data)
func->destroy(val);
}

View File

@ -42,7 +42,7 @@ protected:
char * compressed_buffer = nullptr;
#ifdef USE_QUICKLZ
qlz_state_decompress * qlz_state = nullptr;
std::unique_ptr<qlz_state_decompress> qlz_state;
#else
void * fixed_size_padding = nullptr;
#endif
@ -122,7 +122,7 @@ protected:
{
#ifdef USE_QUICKLZ
if (!qlz_state)
qlz_state = new qlz_state_decompress;
qlz_state = std::make_unique<qlz_state_decompress>();
qlz_decompress(&compressed_buffer[0], to, qlz_state);
#else
@ -154,14 +154,6 @@ public:
{
}
~CompressedReadBufferBase()
{
#ifdef USE_QUICKLZ
if (qlz_state)
delete qlz_state;
#endif
}
/** Не проверять чексуммы.
* Может использоваться, например, в тех случаях, когда сжатые данные пишет клиент,
* который не умеет вычислять чексуммы, и вместо этого заполняет их нулями или чем угодно.

View File

@ -34,15 +34,14 @@ public: \
\
ASTPtr clone() const override \
{ \
Name * res = new Name(*this); \
ASTPtr ptr{res}; \
std::shared_ptr<Name> res = std::make_shared<Name>(*this); \
res->children.clear(); \
if (format) \
{ \
res->format = format->clone(); \
res->children.push_back(res->format); \
} \
return ptr; \
return res; \
} \
\
protected: \

View File

@ -46,15 +46,14 @@ protected:
\
ASTPtr clone() const override \
{ \
Name * res = new Name(*this); \
ASTPtr ptr{res}; \
std::shared_ptr<Name> res = std::make_shared<Name>(*this); \
res->children.clear(); \
if (format) \
{ \
res->format = format->clone(); \
res->children.push_back(res->format); \
} \
return ptr; \
return res; \
} \
\
protected: \

View File

@ -63,7 +63,7 @@ MultiplexedConnections::MultiplexedConnections(ConnectionPools & pools_, const S
for (auto & pool : pools_)
{
if (pool)
if (!pool)
throw Exception("Invalid pool specified", ErrorCodes::LOGICAL_ERROR);
initFromShard(pool.get());
}

View File

@ -40,9 +40,8 @@ ConfigProcessor::ConfigProcessor(bool throw_on_bad_incl_, bool log_to_console, c
{
if (log_to_console && Logger::has("ConfigProcessor") == nullptr)
{
Poco::Channel * channel = new Poco::ConsoleChannel;
channel_ptr = channel;
log = &Logger::create("ConfigProcessor", channel, Poco::Message::PRIO_TRACE);
channel_ptr = new Poco::ConsoleChannel;
log = &Logger::create("ConfigProcessor", channel_ptr.get(), Poco::Message::PRIO_TRACE);
}
else
{

View File

@ -212,8 +212,7 @@ void ExternalDictionaries::reloadFromFile(const std::string & config_path, const
/// definitions of dictionaries may have changed, recreate all of them
config_last_modified = last_modified;
const auto config = new Poco::Util::XMLConfiguration{config_path};
SCOPE_EXIT(config->release());
Poco::AutoPtr<Poco::Util::XMLConfiguration> config = new Poco::Util::XMLConfiguration(config_path);
/// get all dictionaries' definitions
Poco::Util::AbstractConfiguration::Keys keys;

View File

@ -14,7 +14,7 @@
(important for some administration scripts).
-->
<size>1000M</size>
<count>2</count>
<count>10</count>
</logger>

View File

@ -6,7 +6,7 @@
DST=${1:-.};
PATH="/usr/local/bin:/usr/local/sbin:/usr/bin:$PATH"
CLANG=$(command -v clang)
LD=$(command -v ld)
LD=$(command -v gold || command -v ld.gold || command -v ld)
if [ ! -x "$CLANG" ]; then
echo "Not found executable clang."
@ -14,12 +14,12 @@ if [ ! -x "$CLANG" ]; then
fi
if [ ! -x "$LD" ]; then
echo "Not found executable ld."
echo "Not found executable gold or ld."
exit 1
fi
cp "$CLANG" $DST
cp "$LD" $DST
cp "$LD" ${DST}/ld
STDCPP=$(ldd $(command -v clang) | grep -oE '/[^ ]+libstdc++[^ ]+')

2
debian/rules vendored
View File

@ -153,7 +153,7 @@ binary-arch: build install
dh_compress
dh_fixperms
dh_installdeb
dh_shlibdeps --exclude=clang --exclude=stdc
dh_shlibdeps --exclude=clang --exclude=stdc --exclude=ld
dh_gencontrol
dh_md5sums
dh_builddeb -- -z3

View File

@ -3,7 +3,12 @@
Build should work on Linux Ubuntu 12.04, 14.04 or newer.
With appropriate changes, build should work on any other Linux distribution.
Build is not intended to work on Mac OS X.
Only x86_64 is supported. Support for AArch64 is experimental.
Only x86_64 with SSE 4.2 is supported. Support for AArch64 is experimental.
To test for SSE 4.2, do
```
grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
```
## Install Git and CMake

View File

@ -0,0 +1 @@
google-site-verification: google419fbd824d7ff97d.html

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

View File

@ -386,7 +386,7 @@
<div class="download_instructions">
<h2>Download</h2>
<p>System requirements: Linux, x86_64.</p>
<p>System requirements: Linux, x86_64 with SSE 4.2.</p>
<p>Install packages for Ubuntu 14.04 (Trusty) or Ubuntu 12.04 (Precise):</p>

12
doc/logo.svg Normal file
View File

@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" width="54" height="48" viewBox="0 0 9 8">
<style>
.o{fill:#fc0}
.r{fill:#f00}
</style>
<path class="r" d="M0,7 h1 v1 h-1 z"/>
<path class="o" d="M0,0 h1 v7 h-1 z"/>
<path class="o" d="M2,0 h1 v8 h-1 z"/>
<path class="o" d="M4,0 h1 v8 h-1 z"/>
<path class="o" d="M6,0 h1 v8 h-1 z"/>
<path class="o" d="M8,3.25 h1 v1.5 h-1 z"/>
</svg>

After

Width:  |  Height:  |  Size: 421 B

View File

@ -361,7 +361,10 @@ At this time (May 2016), there aren&#39;t any available open-source and free sys
<h2>System requirements</h2>
<p>This is not a cross-platform system. It requires Linux Ubuntu Precise (12.04) or newer, with x86_64 architecture.
<p>This is not a cross-platform system. It requires Linux Ubuntu Precise (12.04) or newer, x86_64 architecture with SSE 4.2 instruction set.
To test for SSE 4.2 support, do
<span class="inline-example">grep -q sse4_2 /proc/cpuinfo &amp;&amp; echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"</span>
We recommend using Ubuntu Trusty or Ubuntu Precise.
The terminal must use UTF-8 encoding (the default in Ubuntu).</p>

View File

@ -386,7 +386,10 @@ OLAPServer хорошо подходил для неагрегированных
<h2>Системные требования</h2>
<p>Система некроссплатформенная. Требуется ОС Linux Ubuntu не более старая, чем Precise (12.04); архитектура x86_64.
<p>Система некроссплатформенная. Требуется ОС Linux Ubuntu не более старая, чем Precise (12.04); архитектура x86_64 с поддержкой набора инструкций SSE 4.2.
Для проверки наличия SSE 4.2, выполните:
<span class="inline-example">grep -q sse4_2 /proc/cpuinfo &amp;&amp; echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"</span>
Рекомендуется использовать Ubuntu Trusty или Ubuntu Precise.
Терминал должен работать в кодировке UTF-8 (как по умолчанию в Ubuntu).</p>

2
doc/robots.txt Normal file
View File

@ -0,0 +1,2 @@
User-agent: *
Allow: /

@ -1 +1 @@
Subproject commit a482f9ec80b4c10e92b3d647b3558978cc453d2e
Subproject commit bc91114b009ca3edde1a00dcf9d355388f6e9899

View File

@ -26,6 +26,14 @@ NUMBER_OF_PROCESSES=$DEFAULT_NUMBER_OF_PROCESSES
LOG_FILE=""
# On x86_64, check for required instruction set.
if uname -mpi | grep -q x86_64; then
if ! grep -q sse4_2 /proc/cpuinfo; then
echo 'SSE 4.2 instruction set is not supported'
exit 3
fi
fi
# С помощью xmlstarlet пытаемся взять некоторые параметры из конфига
if command -v xmlstarlet >/dev/null 2>&1; then
NUMBER_OF_PROCESSES=$(xmlstarlet sel -t -v "/yandex/number_of_processes" $CNFFILE || echo $DEFAULT_NUMBER_OF_PROCESSES)