mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-24 16:42:05 +00:00
Removed unrelated data.
This commit is contained in:
parent
02958c1c7f
commit
c3827a29eb
66
contrib/libpoco/Foundation/include/Poco/ScopedUnlock.h
Normal file
66
contrib/libpoco/Foundation/include/Poco/ScopedUnlock.h
Normal file
@ -0,0 +1,66 @@
|
||||
//
|
||||
// ScopedUnlock.h
|
||||
//
|
||||
// $Id: //poco/1.4/Foundation/include/Poco/ScopedUnlock.h#1 $
|
||||
//
|
||||
// Library: Foundation
|
||||
// Package: Threading
|
||||
// Module: Mutex
|
||||
//
|
||||
// Definition of the ScopedUnlock template class.
|
||||
//
|
||||
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Foundation_ScopedUnlock_INCLUDED
|
||||
#define Foundation_ScopedUnlock_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Foundation.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
|
||||
|
||||
template <class M>
|
||||
class ScopedUnlock
|
||||
/// A class that simplifies thread synchronization
|
||||
/// with a mutex.
|
||||
/// The constructor accepts a Mutex and unlocks it.
|
||||
/// The destructor locks the mutex.
|
||||
{
|
||||
public:
|
||||
inline ScopedUnlock(M& mutex, bool unlockNow = true): _mutex(mutex)
|
||||
{
|
||||
if (unlockNow)
|
||||
_mutex.unlock();
|
||||
}
|
||||
inline ~ScopedUnlock()
|
||||
{
|
||||
try
|
||||
{
|
||||
_mutex.lock();
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
poco_unexpected();
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
M& _mutex;
|
||||
|
||||
ScopedUnlock();
|
||||
ScopedUnlock(const ScopedUnlock&);
|
||||
ScopedUnlock& operator = (const ScopedUnlock&);
|
||||
};
|
||||
|
||||
|
||||
} // namespace Poco
|
||||
|
||||
|
||||
#endif // Foundation_ScopedUnlock_INCLUDED
|
25
dbms/src/Core/tests/exception.cpp
Normal file
25
dbms/src/Core/tests/exception.cpp
Normal file
@ -0,0 +1,25 @@
|
||||
#include <iostream>
|
||||
|
||||
#include <Poco/Net/NetException.h>
|
||||
|
||||
#include <DB/Common/Exception.h>
|
||||
|
||||
|
||||
int main(int argc, char ** argv)
|
||||
{
|
||||
try
|
||||
{
|
||||
//throw Poco::Net::ConnectionRefusedException();
|
||||
throw DB::Exception(Poco::Net::ConnectionRefusedException());
|
||||
}
|
||||
catch (const DB::Exception & e)
|
||||
{
|
||||
std::cerr << e.displayText() << std::endl;
|
||||
}
|
||||
catch (const Poco::Exception & e)
|
||||
{
|
||||
std::cerr << e.displayText() << std::endl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
1
debian/clickhouse-benchmark-metrika-yandex.install
vendored
Normal file
1
debian/clickhouse-benchmark-metrika-yandex.install
vendored
Normal file
@ -0,0 +1 @@
|
||||
/usr/bin/clickhouse-benchmark
|
2
debian/clickhouse-client.install
vendored
Normal file
2
debian/clickhouse-client.install
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/etc/clickhouse-client/config.xml
|
||||
/usr/bin/clickhouse-client
|
5
debian/clickhouse-server-base.install
vendored
Normal file
5
debian/clickhouse-server-base.install
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
/usr/bin/clickhouse-server
|
||||
/etc/logrotate.d/clickhouse-server.logrt
|
||||
/etc/cron.d/clickhouse-server
|
||||
/etc/security/limits.d/metrika.conf
|
||||
/usr/share/clickhouse/*
|
24
debian/clickhouse-server-base.postinst
vendored
Normal file
24
debian/clickhouse-server-base.postinst
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if [ -x "/etc/init.d/clickhouse-server" ]; then
|
||||
update-rc.d clickhouse-server defaults 19 19 >/dev/null || exit $?
|
||||
fi
|
||||
|
||||
useradd -p "" metrika ||:
|
||||
|
||||
if id metrika > /dev/null 2>&1; then
|
||||
mkdir -p /opt/clickhouse/data/default/
|
||||
mkdir -p /opt/clickhouse/metadata/default/
|
||||
mkdir -p /opt/cores/
|
||||
chown metrika: /opt/clickhouse /opt/cores /opt/clickhouse/data /opt/clickhouse/metadata /opt/clickhouse/data/default /opt/clickhouse/metadata/default
|
||||
# Очистка старых результатов динамической компиляции.
|
||||
if [ -d "/opt/clickhouse/build" ]; then
|
||||
rm -f /opt/clickhouse/build/*.cpp /opt/clickhouse/build/*.so ||:
|
||||
fi
|
||||
else
|
||||
echo "User metrika doesn't exist."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
2
debian/clickhouse-server-common.install
vendored
Normal file
2
debian/clickhouse-server-common.install
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
etc/clickhouse-server/config.xml etc/clickhouse-server
|
||||
etc/clickhouse-server/users.xml etc/clickhouse-server
|
2
debian/clickhouse-server-metrika.install
vendored
Normal file
2
debian/clickhouse-server-metrika.install
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
etc/clickhouse-server/metrika/config.xml etc/clickhouse-server
|
||||
etc/clickhouse-server/metrika/users.xml etc/clickhouse-server
|
1
debian/compat
vendored
Normal file
1
debian/compat
vendored
Normal file
@ -0,0 +1 @@
|
||||
5
|
1
debian/compressor-metrika-yandex.install
vendored
Normal file
1
debian/compressor-metrika-yandex.install
vendored
Normal file
@ -0,0 +1 @@
|
||||
/usr/bin/compressor
|
1
debian/config-processor-metrika-yandex.install
vendored
Normal file
1
debian/config-processor-metrika-yandex.install
vendored
Normal file
@ -0,0 +1 @@
|
||||
/usr/bin/config-processor
|
19
debian/copy_clang_binaries.sh
vendored
Executable file
19
debian/copy_clang_binaries.sh
vendored
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
# Копирует бинарник clang а также shared-библиотеку libstdc++ в указанную директорию.
|
||||
# Так повезло, что этого достаточно, чтобы затем собирать код на удалённом сервере с совпадающей версией Ubuntu, но без установленного компилятора.
|
||||
|
||||
DST=${1:-.};
|
||||
PATH="/usr/local/bin:/usr/local/sbin:/usr/bin:$PATH"
|
||||
CLANG=$(command -v clang)
|
||||
|
||||
if [ ! -x "$CLANG" ]; then
|
||||
echo "Not found executable clang."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cp "$CLANG" $DST
|
||||
|
||||
STDCPP=$(ldd $(command -v clang) | grep -oE '/[^ ]+libstdc++[^ ]+')
|
||||
|
||||
[ -f "$STDCPP" ] && cp "$STDCPP" $DST
|
8
debian/copyright
vendored
Normal file
8
debian/copyright
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
This package was debianized by Razuvaev Michael <razuvaev@yandex-team.ru> on
|
||||
Thu, 27 Nov 2008 18:28:05 +0300
|
||||
|
||||
It is Yandex property
|
||||
|
||||
Upstream Authors: Yandex Metrika Team
|
||||
|
||||
Copyright: Yandex
|
162
debian/rules
vendored
Executable file
162
debian/rules
vendored
Executable file
@ -0,0 +1,162 @@
|
||||
#!/usr/bin/make -f
|
||||
# -*- makefile -*-
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
ifndef THREADS_COUNT
|
||||
THREADS_COUNT=24
|
||||
endif
|
||||
|
||||
configure-stamp:
|
||||
dh_testdir
|
||||
rm -rf build
|
||||
make clean 1> /dev/null 2>&1 || echo "Nothing to clean"
|
||||
rm -f CMakeCache.txt
|
||||
mkdir -p build
|
||||
touch configure-stamp
|
||||
|
||||
build: build-stamp
|
||||
build-stamp: configure-stamp
|
||||
dh_testdir
|
||||
# если не задан тип сборки запускаем cmake без указания типа, если задан - передаём его
|
||||
# для сборки в Debug нужно запустить так: debuild -e CMAKE_BUILD_TYPE=Debug
|
||||
cd build && pwd && if [ -z CMAKE_BUILD_TYPE ]; then cmake ..; else cmake -DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE) ..; fi
|
||||
# TODO: возможно надо исправить
|
||||
# последовательно зкапускаем make для каждой из целей.
|
||||
# т.к. при параллельном запуске (make target1 target2) несколько раз одновременно создаются бинарники
|
||||
# и возникает raise с custom_command, использующие эти бинарники
|
||||
for daemon in ${DAEMONS}; do $(MAKE) -j$(THREADS_COUNT) -C build $$daemon; done
|
||||
touch $@
|
||||
|
||||
clean:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
rm -f configure-stamp
|
||||
rm -f build-stamp
|
||||
rm -rf build
|
||||
# Удалим созданные для dh_installinit файлы
|
||||
find ./debian/ -name "*.init" -type l -delete
|
||||
# Удалим созданные для dh_installcron файлы
|
||||
find ./debian/ -name "*.cron.d" -type f -delete
|
||||
# Удалим созданные для dh_installlogrotate файлы
|
||||
find ./debian/ -name "*.logrotate" -type f -delete
|
||||
# Удалим созданные *.install файлы
|
||||
for DAEMON_PKG in ${DAEMONS}; do AUTO=`grep "# automatically created" debian/$$DAEMON_PKG-metrika-yandex.install`; if [ "x$$AUTO" != "x" ]; then rm -f debian/$$DAEMON_PKG-metrika-yandex.install; fi; done
|
||||
dh_clean
|
||||
|
||||
install: build
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_prep
|
||||
cd build && \
|
||||
for daemon in ${DAEMONS}; do\
|
||||
DESTDIR=../debian/tmp cmake -DCOMPONENT=$$daemon -P cmake_install.cmake;\
|
||||
done
|
||||
|
||||
# Создаём нужные файлы для dh_installinit, т.к. он их понимает только внутри debian/
|
||||
for I in debian/tmp/etc/init.d/*; do echo $$I; ln -s tmp/etc/init.d/`basename $$I` debian/`basename $$I`.init; done
|
||||
# Хотим, чтобы для пакета clickhouse-server-base init file назывался clickhouse-server
|
||||
if [ -e debian/tmp/etc/init.d/clickhouse-server ]; then ln -s tmp/etc/init.d/clickhouse-server debian/clickhouse-server-base.clickhouse-server.init; fi
|
||||
|
||||
# создаем дефолтный cron, если нет крон-файла созданного пользователем
|
||||
# cron_name имеет вид daemonname-metrika-yandex
|
||||
# logrotate_name имеет вид daemonname
|
||||
# Для ClickHouse не должно быть лишних зависимостей.
|
||||
for I in debian/tmp/etc/init.d/*; \
|
||||
do \
|
||||
cron_name=`basename $$I`; \
|
||||
if [ ! -d debian/tmp/etc/cron.d ]; then \
|
||||
mkdir -p debian/tmp/etc/cron.d; \
|
||||
fi; \
|
||||
if [ ! -f debian/tmp/etc/cron.d/$$cron_name ]; then \
|
||||
echo "#*/10 * * * * root /etc/init.d/$$cron_name condstart 1>/dev/null 2>&1" > debian/tmp/etc/cron.d/$$cron_name; \
|
||||
logrotate_name=`basename $$I | sed 's/-metrika-yandex//'`; \
|
||||
if [ -f debian/tmp/etc/logrotate.d/$$logrotate_name.logrt ]; then \
|
||||
if [ -e debian/tmp/etc/init.d/clickhouse-server ]; then \
|
||||
echo "#23 * * * * root flock -w 200 /var/run/lock/metrika-logrotate -c '/usr/sbin/logrotate /etc/logrotate.d/$$logrotate_name.logrt'" >> debian/tmp/etc/cron.d/$$cron_name; \
|
||||
else \
|
||||
echo "#23 * * * * root /usr/local/bin/metrika-logrotate /etc/logrotate.d/$$logrotate_name.logrt" >> debian/tmp/etc/cron.d/$$cron_name; \
|
||||
fi; \
|
||||
fi; \
|
||||
fi; \
|
||||
done; \
|
||||
# Создаём нужные *.install файлы
|
||||
# Только для демонов, т.к. пакеты ClickHouse не имеют суффикса metrika-yandex
|
||||
for DAEMON_PKG in ${DAEMONS}; do \
|
||||
if [ ! -e "debian/$$DAEMON_PKG-metrika-yandex.install" ]; then \
|
||||
echo "# automatically created" > debian/$$DAEMON_PKG-metrika-yandex.install; \
|
||||
echo "/etc/$$DAEMON_PKG/config.xml" >> debian/$$DAEMON_PKG-metrika-yandex.install; \
|
||||
echo "/usr/bin/$$DAEMON_PKG" >> debian/$$DAEMON_PKG-metrika-yandex.install; \
|
||||
echo "/etc/logrotate.d/$$DAEMON_PKG.logrt" >> debian/$$DAEMON_PKG-metrika-yandex.install; \
|
||||
echo "/etc/cron.d/$$DAEMON_PKG-metrika-yandex" >> debian/$$DAEMON_PKG-metrika-yandex.install; \
|
||||
if [ -e "debian/tmp/etc/monrun/conf.d/$$DAEMON_PKG.conf" ]; then \
|
||||
echo "/etc/monrun/conf.d/$$DAEMON_PKG.conf" >> debian/$$DAEMON_PKG-metrika-yandex.install; \
|
||||
fi;\
|
||||
fi; \
|
||||
done
|
||||
|
||||
# Создаём нужные *.postinst файлы
|
||||
# Note: Только для демонов, т.к. пакеты ClickHouse не имеют суффикса metrika-yandex
|
||||
for DAEMON_PKG in ${DAEMONS}; do \
|
||||
if [ ! -e "debian/$$DAEMON_PKG-metrika-yandex.postinst" ]; then \
|
||||
echo "# automatically created" > debian/$$DAEMON_PKG-metrika-yandex.postinst; \
|
||||
echo "mkdir -p /etc/$$DAEMON_PKG/conf.d" >> debian/$$DAEMON_PKG-metrika-yandex.postinst; \
|
||||
echo "chown metrika: /etc/$$DAEMON_PKG/conf.d" >> debian/$$DAEMON_PKG-metrika-yandex.postinst; \
|
||||
if [ -e "debian/tmp/etc/init.d/$$DAEMON_PKG-metrika-yandex" ]; then \
|
||||
if echo $$DAEMON_PKG | grep server > /dev/null; then\
|
||||
echo "update-rc.d $$DAEMON_PKG-metrika-yandex defaults > /dev/null || exit \$?" >> debian/$$DAEMON_PKG-metrika-yandex.postinst; \
|
||||
else\
|
||||
echo "update-rc.d $$DAEMON_PKG-metrika-yandex start 30 2 3 4 5 . stop 70 0 1 6 . > /dev/null || exit \$?" >> debian/$$DAEMON_PKG-metrika-yandex.postinst; \
|
||||
fi\
|
||||
fi\
|
||||
\
|
||||
else \
|
||||
echo >> debian/$$DAEMON_PKG-metrika-yandex.postinst; \
|
||||
echo "mkdir -p /etc/$$DAEMON_PKG/conf.d; chown metrika: /etc/$$DAEMON_PKG/conf.d" >> debian/$$DAEMON_PKG-metrika-yandex.postinst; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
|
||||
# В случае сборки clickhouse-server, добавим в пакет бинарник clang-а и заголовочные файлы - для динамической компиляции.
|
||||
if [ -e debian/tmp/etc/init.d/clickhouse-server ]; then \
|
||||
mkdir -p debian/tmp/usr/share/clickhouse/bin debian/tmp/usr/share/clickhouse/headers; \
|
||||
debian/copy_clang_binaries.sh debian/tmp/usr/share/clickhouse/bin/; \
|
||||
./copy_headers.sh . debian/tmp/usr/share/clickhouse/headers; \
|
||||
fi;
|
||||
|
||||
|
||||
# Список бинариев, для которых делаем strip. Это делается из-за того, что на некоторых серверах мало места.
|
||||
$(eval STRIP_LIST=\
|
||||
clickhouse-client \
|
||||
)
|
||||
|
||||
for DAEMON in ${STRIP_LIST}; do \
|
||||
if [ -e debian/tmp/usr/bin/$$DAEMON ]; then strip debian/tmp/usr/bin/$$DAEMON; fi; \
|
||||
done
|
||||
|
||||
# Build architecture-independent files here.
|
||||
binary-indep: build install
|
||||
# We have nothing to do by default.
|
||||
|
||||
# Build architecture-dependent files here.
|
||||
binary-arch: build install
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_installdocs
|
||||
dh_installinit --no-start --no-package=clickhouse-server-base
|
||||
dh_installinit --no-start --package=clickhouse-server-base --name=clickhouse-server
|
||||
dh_installcron
|
||||
dh_installdirs
|
||||
dh_installchangelogs
|
||||
dh_install --sourcedir=debian/tmp
|
||||
dh_link
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
dh_installdeb
|
||||
dh_shlibdeps --exclude=clang --exclude=stdc
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb -- -z3
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
.PHONY: build clean binary-indep binary-arch binary install
|
5
detect_distributive.cmake
Normal file
5
detect_distributive.cmake
Normal file
@ -0,0 +1,5 @@
|
||||
IF(NOT DISTRIB_CODENAME)
|
||||
EXEC_PROGRAM(". /etc/lsb-release ; echo $DISTRIB_CODENAME"
|
||||
OUTPUT_VARIABLE DISTRIB_CODENAME)
|
||||
SET(DISTRIB_CODENAME "${DISTRIB_CODENAME}" CACHE STRING "Distributive Codename")
|
||||
ENDIF(NOT DISTRIB_CODENAME)
|
27
release
Executable file
27
release
Executable file
@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
source release_lib.sh
|
||||
|
||||
CONTROL=debian/control
|
||||
CHLOG=debian/changelog
|
||||
CHDATE=$(LC_ALL=C date -R | sed -e 's/,/\\,/g') # Заменим запятую на '\,'
|
||||
|
||||
# Список демонов для сборки может быть указан в аргументах командной строки.
|
||||
if [ $# -gt 0 ]
|
||||
then
|
||||
DAEMONS="$@"
|
||||
else
|
||||
DAEMONS="$(echo `cat debian/daemons`)"
|
||||
fi
|
||||
|
||||
gen_revision_author
|
||||
echo -e "\nCurrent revision is $REVISION"
|
||||
|
||||
make_control "$CONTROL" "$DAEMONS"
|
||||
|
||||
gen_changelog "$REVISION" "$CHDATE" "$AUTHOR" "$CHLOG" "$DAEMONS"
|
||||
|
||||
# Сборка (только бинарных пакетов).
|
||||
debuild -e DAEMONS="${DAEMONS}" -b
|
||||
|
||||
upload_debs "$REVISION" "$DAEMONS"
|
25
release_test
Executable file
25
release_test
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
source release_lib.sh
|
||||
|
||||
CONTROL=debian/control
|
||||
CHLOG=debian/changelog
|
||||
CHDATE=$(LC_ALL=C date -R | sed -e 's/,/\\,/g') # Заменим запятую на '\,'
|
||||
|
||||
# Список демонов для сборки может быть указан в аргументах командной строки.
|
||||
if [ $# -gt 0 ]
|
||||
then
|
||||
DAEMONS="$@"
|
||||
else
|
||||
DAEMONS="$(echo `cat debian/daemons`)"
|
||||
fi
|
||||
|
||||
REVISION="99999"
|
||||
echo -e "\nCurrent revision is $REVISION"
|
||||
|
||||
make_control "$CONTROL" "$DAEMONS"
|
||||
|
||||
gen_changelog "$REVISION" "$CHDATE" "$AUTHOR" "$CHLOG" "$DAEMONS"
|
||||
|
||||
# Сборка (только бинарных пакетов).
|
||||
debuild -e THREADS_COUNT=7 -e DAEMONS="${DAEMONS}" -b -uc -us
|
Loading…
Reference in New Issue
Block a user