/clickhouse-frontend

Clickhouse web frontend

Primary LanguageJavaScriptMIT LicenseMIT

Назначение

Данный проект представляет собой GUI для OLAP Yandex Clickhouse.

Последняя версия рабочего приложения: http://guiclickhouse.smi2.ru/

Требования

  • Версия сервера CH, старше v1.1.54019-stable
  • Пользователь с правами не readonly
  • Разрешенный IP адресс

Roadmap

Список фич:

  • Список полей в левом дереве
  • Список процессов, с логированием [SHOW PROCESSLIST FORMAT JSON]
  • Hotkey справочник и/или help
  • SHOW CREATE TABLE
  • Изменить Grid, выбрать из [ui-grid.info | ag-grid | paramquery.com | js-grid.com], сортировка на клиенте
  • Возможно выбрать pivotJs таблицы, c поддержкой D3/C3
  • Выбор разделителя ;; или ;

Changelog

2016-11-03

Полностью обновили GUI Вместо слов : https://monosnap.com/file/rIEnBkDoh0jMmhGDsu0umaqk5F0srt

2016-10-12

  • Запрос на create_table из select , если запрос содержит таблицу ответа
  • Сортировка словарей по name + удобное отображение
  • Выполнение запроса "под курсором"
  • Shift-Ctrl-Enter | Shift-Command-Enter - запустить все запросы разделенные ;; или выделенный
  • Ctrl-Enter | Command-Enter - запускает текущий или выделенный
  • Размер таблицы
  • Исправлена загрузка шрифтов.
  • Вынесен screenfull из html в зависимости
  • Изменения в шаблоне lumX

2016-10-11

  • Показ версии сборки
  • Автодополнение, поддержка словарей - отдельная кнопка вставить словать
  • Прогресс бар запросов
  • Правки подсветки IF EXISTS + IF NOT EXISTS
  • Отрисовка ответа после create/drop/insert + обновление автодополнения

2016-10-10

  • Добавили поддержку FORMAT CSV|FORMAT CSVWithNames в запросе + подсветка + дополнение
  • В редакторе добавленна возможность максимальное кол-во строк в ответа
  • Развернуть в полный экран редактор запросов
  • HotKey ⌘ + ⏎ для мак , выполнить запрос или выполнить выделенный запрос только
  • История запросов, показывает последний успешный запрос при открытии GUI
  • Анонимное подключение к базе без указания user+password
  • Корректная подсветка и автодополние, теперь автодополнение содержит колонки и названия таблиц
  • Последовательное выполнение нескольких запросов которые разделены ;;

Пример тестового запроса:

;;select 0 as ping;;
select 1 as ping;;select 2 as ping
;;select 3+sleep(0.1) as ping;;select 4+sleep(0.1) as ping;;
SELECT 5 As PING format JSON;;select 6 as ping
;;select 7 as ping FORMAT CSVWithNames
;;CREATE TABLE IF NOT EXISTS t (a UInt8,b String) ENGINE = Log;;
INSERT INTO t SELECT toUInt8(123) as a,';;' as b  
;;DROP TABLE IF EXISTS t;;DROP DATABASE IF EXISTS xzxz;;

Dev

Зависимости

Необходимо установить

  • NodeJS >= 5.x. ( лучше v6.7.0 )

Установить глобальные NPM пакеты Gulp и Bower, загрузить зависимости:

sudo npm install bower -g
sudo npm install gulp -g
npm install
bower install

Сборка

Для разработки:

gulp serve

На production:

gulp build

Документация

Для сборки документации:

gulp docs