pax_global_header00006660000000000000000000000064132226533650014521gustar00rootroot0000000000000052 comment=53c7039c394afee6c68d71317d24e35013e72427 siridb-server-2.0.26/000077500000000000000000000000001322265336500143705ustar00rootroot00000000000000siridb-server-2.0.26/.gitignore000066400000000000000000000011551322265336500163620ustar00rootroot00000000000000# Object files *.o *.ko *.obj *.elf # Precompiled Headers *.gch *.pch # Libraries *.lib *.a *.la *.lo # Shared objects (inc. Windows DLLs) *.dll *.so *.so.* *.dylib # Executables *.exe *.out *.app *.i*86 *.x86_64 *.hex # Debug files *.dSYM/ /Debug/siridb-server /Release/siridb-server *.d *.d /testdir # Eclipse /.settings .cproject .project # Code:blocks bin/ siridbc.cbp siridbc.depend siridbc.layout # Python */__pycache__/* *.pyc # Build build/ # Grammar grammar/cgrammar/ grammar/jsgrammar/ grammar/pygrammar/ # Sublime Text *.sublime-project *.sublime-workspace # VS Code .vscode/ # Test test/testdir siridb-server-2.0.26/ChangeLog000066400000000000000000000400721322265336500161450ustar00rootroot00000000000000siridb-server (2.0.26) xenial; urgency=medium * Added bind_server_address and bind_client_address as configuration options. The default configuration binds to localhost only. (issue #89) * Added -rf to makefiles. (fixes make clean) (#86, @paulgevers) * Replaces pcre with pcre2. (issue #90) * Make sure PATH_MAX is defined. * Added optional shard compression. * Use unsigned instead of signed char for QPack buffer. * Initialize structs to null by using memset. -- Jeroen van der Heijden Tue, 02 Jan 2018 09:37:43 +0000 siridb-server (2.0.25) xenial; urgency=medium * Removed obsolete strlen() call when creating a new series. * Fixed bug in ctree when looping over items. (issue #84) * Removed signal raising from all collection classes. * Removed ct_get_sure() function and improved the ct_get(), ct_getn() and ct_getaddr() functions. * Improved imap_get() function. -- Jeroen van der Heijden Thu, 05 Oct 2017 07:09:19 +0000 siridb-server (2.0.24) xenial; urgency=medium * Implemented time-precision for select statements. We can later extend the query language with support for querying with another time-precision. * When queue-full status is set, leave it set even when a new status update is received. * Mark a server as unavailable when a time-out on a flags package is received. The unavailable status prevents sending select queries and insert new data to this server. This status flag will never be applied to the 'last' server in a pool and will be removed when a new status update from the flagged server is received. * Cleanup optimize task in case a memory allocation error has occurred. * Fixed QPack length check for strings. Corrupt or invalid qpack data can contain a string length which is not actually available within the data. This fix corrects the check for such invalid string length. * Replaced int with int64_t where required in expr.c. -- Jeroen van der Heijden Wed, 13 Sep 2017 06:46:21 +0000 siridb-server (2.0.23) xenial; urgency=medium * Test before defining macro _GNU_SOURCE. * Better use of inline functions and resolved compiler warnings. * Prevent error messages to grow larger than the maximum size. (issue #82) * Change return value for siridb_shard_status() from void to int containing the number of characters written. * Updated ct_items() callback function and added the length of the key. The key is no longer terminated so the length must be used. * Updated the node object for ctree with the key length so we can skip a few strlen() calls when doing a lookup. * We do not save the terminator character on ctree nodes anymore. All get and set functions are updated to work without the string termination. * Removed unused ct_itemsn() function. Since ct_items() shared logic with this function we could also clean some additional code. * Added -Wextra compiler option in all .mk files. -- Jeroen van der Heijden Tue, 05 Sep 2017 06:43:17 +0000 siridb-server (2.0.22) xenial; urgency=medium * Added two new server properties, fifo_files and selected_points. (issue #41) -- Jeroen van der Heijden Tue, 15 Aug 2017 07:39:12 +0000 siridb-server (2.0.21) xenial; urgency=medium * Use points_map for caching series data when multiple select requests are used in a single query. (issue #76) -- Jeroen van der Heijden Mon, 10 Jul 2017 11:43:31 +0000 siridb-server (2.0.20-1) xenial; urgency=medium * Include libcleri in deb package. -- Jeroen van der Heijden Mon, 03 Jul 2017 09:09:44 +0000 siridb-server (2.0.20) xenial; urgency=medium * Replaced a few tabs with spaces for indentation. * Improve startup speed by creating separate index files for the shards while optimizing. (issue #75) * Fixed accidentally removing a shard from the index by the optimize thread. This was very unlikely to happen but technically a shard could be dropped and been re-created between checking the shard flags and locking the shards mutex for replacing the shard in the index. -- Jeroen van der Heijden Fri, 30 Jun 2017 20:50:13 +0000 siridb-server (2.0.19) xenial; urgency=medium * Get the realpath for the default configuration path. (issue #72) * Set correct array length for signal handlers. * Cleanup some debug code. * Check for successful malloc uv_loop. * Changed socket code and simplified buffer. * Added a promises queue limit which prevents overwriting a pid in the promises queue and prevents adding an insane amount of requests to a single server. (issue #73) * Removed "cleri" from the source code and replaced this with libcleri. https://github.com/transceptor-technology/libcleri -- Jeroen van der Heijden Thu, 29 Jun 2017 07:54:41 +0000 siridb-server (2.0.18) xenial; urgency=medium * Removed line `#include ` from `xpath`. (issue #67) * Write .reindex file when adding a new pool. (issue #69) * Update help files. -- Jeroen van der Heijden Tue, 02 May 2017 08:18:55 +0000 siridb-server (2.0.17) xenial; urgency=medium * Removed duplicated function sirinet_pkg_copy() which is replaced with sirinet_pkg_dup(). * Fixed missing include (inttypes.h) in procinfo.c. * Changed link location from /usr/sbin to /usr/local/bin in deb package. * Limits for returning data points and list items can now be configured. (issue #64) -- Jeroen van der Heijden Tue, 25 Apr 2017 10:07:32 +0000 siridb-server (2.0.16) xenial; urgency=medium * Fixed bug resize macro in qpack for packing >4GB large strings. * Fixed bug in time-zone name checking. (issue #61) * Prevent loading database when buffer file is not found. * Implemented API calls for managing databases: (issue #60) - change-password : Change password for a service account - drop-account : Remove a service account - get-accounts : Returns all service accounts - get-databases : Returns all database names - get-version : Returns version information - new-account : Create a service account - new-database : Create a new database - new-pool : Create a new pool for an existing database - new-replica : Create a new replica for an existing database SiriDB Admin Tool can be used to talk with the new API and provides both a command-line and a graphical web interface. Pre-compiled versions for different platforms can be found and downloaded from: https://github.com/transceptor-technology/siridb-admin/releases/latest * Added version check before creating a new pool or replica. (issue #62) -- Jeroen van der Heijden Fri, 07 Apr 2017 08:26:14 +0000 siridb-server (2.0.15) xenial; urgency=medium * Removed LDFLAGS from *.mk files and format makefile (@deem0n, issue #58) * Added logging for invalid user authentication requests. * Update constants for running test scripts. * Keywords are now correctly set using case sensitive mode. * Fixed NULL check on auth request. -- Jeroen van der Heijden Wed, 22 Mar 2017 10:30:39 +0000 siridb-server (2.0.14) xenial; urgency=medium * Inluding CFLAGS and LDFLAGS in mk files for better building support. (reported by @deem0n, issue #52) * Fixed error in choice.c which was causing an error on 32bit systems. (reported by @AlmiS, issue #53) * Removed crypt dependency for building on (Mac) OSX. (issue #54) * Fixed some warnings for building on (Mac) OSX. * Fixed locking database on (Mac) OSX. (issue #55) * Implemented memory usage and open files information on (Mac) OSX. (issue #56) * Added limit aggregation functionality. When using limit, a maximum number of points argument is used with an aggregation function. The aggrgation function is used only when more than the maximum number of points are found. (issue #57) -- Jeroen van der Heijden Tue, 28 Feb 2017 15:24:48 +0000 siridb-server (2.0.13) xenial; urgency=medium * Fixed wrapping imap to slist functions with appropriate locks. (see issue #51) -- Jeroen van der Heijden Fri, 17 Feb 2017 13:46:53 +0000 siridb-server (2.0.12) xenial; urgency=medium * Update help files. * Fixed bug in ctree which could occur when merging series. (issue #49) -- Jeroen van der Heijden Mon, 09 Jan 2017 08:03:21 +0000 siridb-server (2.0.11) xenial; urgency=medium * Pre allocate buffer space which improves performance for creating new series. (see issue #47) * Fixed sending a correct error message to a client for list and count statements in case a specific series does not exist. (issue #48) * Update help files. -- Jeroen van der Heijden Mon, 05 Dec 2016 09:47:10 +0000 siridb-server (2.0.10) xenial; urgency=medium * Fixed using a buffer path larger or close to PATH_MAX. (issue #43) * Fixed shard_get_size() problem with treading by replacing the function call with a property. (issue #44) * Fixed identifying a corrupt shard when an invalid header size is found at the end of a shard while loading a database. (issue #45) * Re-use space in buffer when series are dropped. (issue #46) -- Jeroen van der Heijden Tue, 22 Nov 2016 15:05:07 +0000 siridb-server (2.0.9) xenial; urgency=medium * Use macros for formatting integer types instead of casting to a specific type. * Removed unneeded 'siridb_mutex' from heart-beat task. * Fixed possible double free on socket. (see issue #39) * Fixed reading an alternative buffer path from the configuration file. (issue #40) * Fixed dropping shards when followed by an optimize task. (issue #42) -- Jeroen van der Heijden Thu, 10 Nov 2016 08:21:07 +0000 siridb-server (2.0.8) xenial; urgency=medium * Add source IP to logging when an invalid package is received. (issue #38) -- Jeroen van der Heijden Mon, 07 Nov 2016 12:46:44 +0000 siridb-server (2.0.7) xenial; urgency=medium * Fixed memory leak in "alter group set expression". (issue #36) * Fixed bug in saving groups when groups are created while the statement did not end with the expression, but with an extra space or comment. (see issue #37) * Added __restrict keyword for extra optimizations. -- Jeroen van der Heijden Mon, 07 Nov 2016 11:04:52 +0000 siridb-server (2.0.6) xenial; urgency=medium * Fixed memory leak when using multiple regular expressions in one query. (issue #33) * Fixed memory leak in difference, symmetric_difference and intersection functions on the imap object. (see issue #34) * Fixed memory leak when creating an invalid group. (issue #35) -- Jeroen van der Heijden Fri, 04 Nov 2016 21:03:31 +0000 siridb-server (2.0.5) xenial; urgency=medium * Changed CLOCK_REALTIME to CLOCK_MONOTONIC for monitoring startup time. * Fixed bug using filter aggregation. (issue #29) * Fixed bug in median, median_low and median_high when using on series with large values. (issue #30) * Check for successful memory allocations in cexpr object. * Wrap socket around uv_tcp_t instead of two separate mallocs. * Fixed possible stack overflow error by checking for a max recursion depth when parsing a query. (issue #31) * Fixed possible stack overflow error by checking for a maximum query length. (see issue #32) -- Jeroen van der Heijden Thu, 03 Nov 2016 13:34:15 +0000 siridb-server (2.0.4) xenial; urgency=medium * Fixed bug in fifo buffer. (see issue #28) -- Jeroen van der Heijden Mon, 31 Oct 2016 14:21:27 +0000 siridb-server (2.0.3) xenial; urgency=medium * Fixed bug in network handler. The wrong size could be allocated when receiving multiple packages in a stream. (issue #27) -- Jeroen van der Heijden Thu, 27 Oct 2016 20:41:58 +0000 siridb-server (2.0.2) xenial; urgency=medium * Check user for permissions when inserting data. Only authentication was checked, not if the user had 'insert' privileges. (issue #16) * Minor performance updates by creating macros for frequently used functions. (see issue #17 for more info) * Store reference counter for a series object in an uint32_t. This solves a bug on big endian systems. (issue #18) * Remove server_id and idx_tp from series object and set those as flags. This removed the unneeded pads and saves 8 bytes for each series object. * Honor ip_support setting when sending a dns request. (issue #19) * Fixed a bug in listing and counting servers when using one of the properties 'sync_progress' or 'reindex_progress'. (reported by Koos Joosten, issue #20) * Fixed a bug when a select query is using a greater start time than end time. Instead of trying to answer to the query we now respond with an error informing the user the given query is not allowed. (reported by Koos Joosten, issue #21) * Fixed typo in log message. * Fixed bug in median (and median_low, median_high) when applying on a large data set. (reported by Koos Joosten, issue #22) * Improve median, median_high and median_low algorithm. (see issue #23) * Fixed bug in 'drop series' statement. (reported by Koos Joosten, issue #24) * Fixed bug in creating a new replica. Possible data loss could occur when creating a new replica. (see issue #25) * Fixed bug in dropping items from the internal compact tree. (reported by Koos Joosten, issue #26) -- Jeroen van der Heijden Wed, 26 Oct 2016 13:42:39 +0000 siridb-server (2.0.1) xenial; urgency=medium * Only try to load a database from a directory containing at least the files 'database.conf' and 'database.dat'. This prevents trying to load from directories like lost+found etc. (issue #1) * Increased UV_THREADPOOL_SIZE from four to eight and prevent SiriDB from loading more than four databases. (issue #2) * Removed unneeded msgpack.h dependency. (issue #3) * To prevent compile warning on 32-bit linux we now cast int64_t and uint64_t to "lld" (long long) and "llu" (unsigned long long). (issue #4) * Dependencies in cleri (with siridb) are removed. (issue #5) * Respond with BPROTO_AUTH_ERR_UNKNOWN_UUID in case the authentication request contains the servers own UUID. (issue #6) * Added CPROTO_REQ_FILE_GROUPS to type translate function. (issue #7) * Added support for an optimize interval of zero which disables the optimize task. (enhancement issue #8) * Implemented configuration file changes (see issue #9) * Fixed resolving an ip address for a given hostname or fqdn. (for more information see issue #10) * Fixed writing uninitialized data while enabling or disabling backup mode by setting the correct package size. (issue #11) * Accept a variable %HOSTNAME in the configuration file. This is now used for the default value, 'server_name = %HOSTNAME:9010'. (issue #12) * Parse ipv6 addresses given in the configuration file correctly. (see issue #13) * Added support for ipv6 while discovering an address using dns. (issue #14) * Added property 'ip_support' to the grammar so we can view the current setting with 'show' and 'list servers'. (issue #15) -- Jeroen van der Heijden Fri, 21 Oct 2016 14:31:20 +0000 siridb-server (2.0.0) xenial; urgency=medium * Initial C-implementation of SiriDB. This improves the overall performance and at the same time is more robuust. -- Jeroen van der Heijden Wed, 19 Oct 2016 11:47:08 +0000 siridb-server-2.0.26/Debug/000077500000000000000000000000001322265336500154165ustar00rootroot00000000000000siridb-server-2.0.26/Debug/help000077700000000000000000000000001322265336500174312../help/ustar00rootroot00000000000000siridb-server-2.0.26/Debug/makefile000066400000000000000000000037621322265336500171260ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ -include ../makefile.init RM := rm -rf # All of the sources participating in the build are defined here -include sources.mk -include src/xpath/subdir.mk -include src/xmath/subdir.mk -include src/timeit/subdir.mk -include src/test/subdir.mk -include src/strextra/subdir.mk -include src/slist/subdir.mk -include src/siri/admin/subdir.mk -include src/siri/parser/subdir.mk -include src/siri/net/subdir.mk -include src/siri/help/subdir.mk -include src/siri/grammar/subdir.mk -include src/siri/file/subdir.mk -include src/siri/db/subdir.mk -include src/siri/cfg/subdir.mk -include src/siri/args/subdir.mk -include src/siri/subdir.mk -include src/qpack/subdir.mk -include src/procinfo/subdir.mk -include src/owcrypt/subdir.mk -include src/motd/subdir.mk -include src/logger/subdir.mk -include src/lock/subdir.mk -include src/llist/subdir.mk -include src/iso8601/subdir.mk -include src/imap/subdir.mk -include src/expr/subdir.mk -include src/ctree/subdir.mk -include src/cfgparser/subdir.mk -include src/cexpr/subdir.mk -include src/argparse/subdir.mk -include subdir.mk -include objects.mk ifneq ($(MAKECMDGOALS),clean) ifneq ($(strip $(C_DEPS)),) -include $(C_DEPS) endif endif -include ../makefile.defs OS := $(shell uname) ifeq ($(OS),Darwin) CRYPT := UUID := else CRYPT := -lcrypt UUID := -luuid endif # Add inputs and outputs from these tool invocations to the build variables # All Target all: siridb-server # Tool invocations siridb-server: $(OBJS) $(USER_OBJS) @echo 'Building target: $@' @echo 'Invoking: GCC C Linker' gcc -o "siridb-server" $(OBJS) $(USER_OBJS) $(LIBS) $(CRYPT) $(UUID) $(LDFLAGS) @echo 'Finished building target: $@' @echo ' ' # Other Targets clean: -$(RM) $(EXECUTABLES)$(OBJS)$(C_DEPS) siridb-server -@echo ' ' .PHONY: all clean dependents .SECONDARY: -include ../makefile.targets siridb-server-2.0.26/Debug/objects.mk000066400000000000000000000004021322265336500173740ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ USER_OBJS := LIBS := -luv -lm -lpcre2-8 -lcleri siridb-server-2.0.26/Debug/sources.mk000066400000000000000000000014411322265336500174320ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ OBJ_SRCS := ASM_SRCS := C_SRCS := O_SRCS := S_UPPER_SRCS := EXECUTABLES := OBJS := C_DEPS := # Every subdirectory with source files must be described here SUBDIRS := \ . \ src/argparse \ src/cexpr \ src/cfgparser \ src/ctree \ src/expr \ src/imap \ src/iso8601 \ src/llist \ src/lock \ src/logger \ src/motd \ src/owcrypt \ src/procinfo \ src/qpack \ src/siri/admin \ src/siri/args \ src/siri \ src/siri/cfg \ src/siri/db \ src/siri/file \ src/siri/grammar \ src/siri/help \ src/siri/net \ src/siri/parser \ src/slist \ src/strextra \ src/test \ src/timeit \ src/xmath \ src/xpath \ siridb-server-2.0.26/Debug/src/000077500000000000000000000000001322265336500162055ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/argparse/000077500000000000000000000000001322265336500200115ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/argparse/subdir.mk000066400000000000000000000013721322265336500216350ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/argparse/argparse.c OBJS += \ ./src/argparse/argparse.o C_DEPS += \ ./src/argparse/argparse.d # Each subdirectory must supply rules for building sources it contributes src/argparse/%.o: ../src/argparse/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/cexpr/000077500000000000000000000000001322265336500173265ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/cexpr/subdir.mk000066400000000000000000000013421322265336500211470ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/cexpr/cexpr.c OBJS += \ ./src/cexpr/cexpr.o C_DEPS += \ ./src/cexpr/cexpr.d # Each subdirectory must supply rules for building sources it contributes src/cexpr/%.o: ../src/cexpr/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/cfgparser/000077500000000000000000000000001322265336500201615ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/cfgparser/subdir.mk000066400000000000000000000014021322265336500217770ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/cfgparser/cfgparser.c OBJS += \ ./src/cfgparser/cfgparser.o C_DEPS += \ ./src/cfgparser/cfgparser.d # Each subdirectory must supply rules for building sources it contributes src/cfgparser/%.o: ../src/cfgparser/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/ctree/000077500000000000000000000000001322265336500173075ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/ctree/subdir.mk000066400000000000000000000013421322265336500211300ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/ctree/ctree.c OBJS += \ ./src/ctree/ctree.o C_DEPS += \ ./src/ctree/ctree.d # Each subdirectory must supply rules for building sources it contributes src/ctree/%.o: ../src/ctree/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/expr/000077500000000000000000000000001322265336500171635ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/expr/subdir.mk000066400000000000000000000013321322265336500210030ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/expr/expr.c OBJS += \ ./src/expr/expr.o C_DEPS += \ ./src/expr/expr.d # Each subdirectory must supply rules for building sources it contributes src/expr/%.o: ../src/expr/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/imap/000077500000000000000000000000001322265336500171335ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/imap/subdir.mk000066400000000000000000000013321322265336500207530ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/imap/imap.c OBJS += \ ./src/imap/imap.o C_DEPS += \ ./src/imap/imap.d # Each subdirectory must supply rules for building sources it contributes src/imap/%.o: ../src/imap/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/iso8601/000077500000000000000000000000001322265336500173165ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/iso8601/subdir.mk000066400000000000000000000013621322265336500211410ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/iso8601/iso8601.c OBJS += \ ./src/iso8601/iso8601.o C_DEPS += \ ./src/iso8601/iso8601.d # Each subdirectory must supply rules for building sources it contributes src/iso8601/%.o: ../src/iso8601/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/llist/000077500000000000000000000000001322265336500173345ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/llist/subdir.mk000066400000000000000000000013421322265336500211550ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/llist/llist.c OBJS += \ ./src/llist/llist.o C_DEPS += \ ./src/llist/llist.d # Each subdirectory must supply rules for building sources it contributes src/llist/%.o: ../src/llist/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/lock/000077500000000000000000000000001322265336500171355ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/lock/subdir.mk000066400000000000000000000013321322265336500207550ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/lock/lock.c OBJS += \ ./src/lock/lock.o C_DEPS += \ ./src/lock/lock.d # Each subdirectory must supply rules for building sources it contributes src/lock/%.o: ../src/lock/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/logger/000077500000000000000000000000001322265336500174645ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/logger/subdir.mk000066400000000000000000000013521322265336500213060ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/logger/logger.c OBJS += \ ./src/logger/logger.o C_DEPS += \ ./src/logger/logger.d # Each subdirectory must supply rules for building sources it contributes src/logger/%.o: ../src/logger/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/motd/000077500000000000000000000000001322265336500171505ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/motd/subdir.mk000066400000000000000000000013321322265336500207700ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/motd/motd.c OBJS += \ ./src/motd/motd.o C_DEPS += \ ./src/motd/motd.d # Each subdirectory must supply rules for building sources it contributes src/motd/%.o: ../src/motd/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/owcrypt/000077500000000000000000000000001322265336500177145ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/owcrypt/subdir.mk000066400000000000000000000013621322265336500215370ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/owcrypt/owcrypt.c OBJS += \ ./src/owcrypt/owcrypt.o C_DEPS += \ ./src/owcrypt/owcrypt.d # Each subdirectory must supply rules for building sources it contributes src/owcrypt/%.o: ../src/owcrypt/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/procinfo/000077500000000000000000000000001322265336500200245ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/procinfo/subdir.mk000066400000000000000000000013721322265336500216500ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/procinfo/procinfo.c OBJS += \ ./src/procinfo/procinfo.o C_DEPS += \ ./src/procinfo/procinfo.d # Each subdirectory must supply rules for building sources it contributes src/procinfo/%.o: ../src/procinfo/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/qpack/000077500000000000000000000000001322265336500173045ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/qpack/subdir.mk000066400000000000000000000013421322265336500211250ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/qpack/qpack.c OBJS += \ ./src/qpack/qpack.o C_DEPS += \ ./src/qpack/qpack.d # Each subdirectory must supply rules for building sources it contributes src/qpack/%.o: ../src/qpack/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/siri/000077500000000000000000000000001322265336500171535ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/siri/admin/000077500000000000000000000000001322265336500202435ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/siri/admin/subdir.mk000066400000000000000000000016561322265336500220740ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/admin/account.c \ ../src/siri/admin/client.c \ ../src/siri/admin/request.c OBJS += \ ./src/siri/admin/account.o \ ./src/siri/admin/client.o \ ./src/siri/admin/request.o C_DEPS += \ ./src/siri/admin/account.d \ ./src/siri/admin/client.d \ ./src/siri/admin/request.d # Each subdirectory must supply rules for building sources it contributes src/siri/admin/%.o: ../src/siri/admin/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/siri/args/000077500000000000000000000000001322265336500201075ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/siri/args/subdir.mk000066400000000000000000000013631322265336500217330ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/args/args.c OBJS += \ ./src/siri/args/args.o C_DEPS += \ ./src/siri/args/args.d # Each subdirectory must supply rules for building sources it contributes src/siri/args/%.o: ../src/siri/args/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/siri/cfg/000077500000000000000000000000001322265336500177125ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/siri/cfg/subdir.mk000066400000000000000000000013531322265336500215350ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/cfg/cfg.c OBJS += \ ./src/siri/cfg/cfg.o C_DEPS += \ ./src/siri/cfg/cfg.d # Each subdirectory must supply rules for building sources it contributes src/siri/cfg/%.o: ../src/siri/cfg/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/siri/db/000077500000000000000000000000001322265336500175405ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/siri/db/subdir.mk000066400000000000000000000064461322265336500213730ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/db/access.c \ ../src/siri/db/aggregate.c \ ../src/siri/db/auth.c \ ../src/siri/db/buffer.c \ ../src/siri/db/db.c \ ../src/siri/db/ffile.c \ ../src/siri/db/fifo.c \ ../src/siri/db/forward.c \ ../src/siri/db/group.c \ ../src/siri/db/groups.c \ ../src/siri/db/initsync.c \ ../src/siri/db/insert.c \ ../src/siri/db/lookup.c \ ../src/siri/db/median.c \ ../src/siri/db/misc.c \ ../src/siri/db/nodes.c \ ../src/siri/db/pcache.c \ ../src/siri/db/points.c \ ../src/siri/db/pool.c \ ../src/siri/db/pools.c \ ../src/siri/db/presuf.c \ ../src/siri/db/props.c \ ../src/siri/db/query.c \ ../src/siri/db/re.c \ ../src/siri/db/reindex.c \ ../src/siri/db/replicate.c \ ../src/siri/db/series.c \ ../src/siri/db/server.c \ ../src/siri/db/servers.c \ ../src/siri/db/shard.c \ ../src/siri/db/shards.c \ ../src/siri/db/time.c \ ../src/siri/db/user.c \ ../src/siri/db/users.c \ ../src/siri/db/variance.c \ ../src/siri/db/walker.c OBJS += \ ./src/siri/db/access.o \ ./src/siri/db/aggregate.o \ ./src/siri/db/auth.o \ ./src/siri/db/buffer.o \ ./src/siri/db/db.o \ ./src/siri/db/ffile.o \ ./src/siri/db/fifo.o \ ./src/siri/db/forward.o \ ./src/siri/db/group.o \ ./src/siri/db/groups.o \ ./src/siri/db/initsync.o \ ./src/siri/db/insert.o \ ./src/siri/db/lookup.o \ ./src/siri/db/median.o \ ./src/siri/db/misc.o \ ./src/siri/db/nodes.o \ ./src/siri/db/pcache.o \ ./src/siri/db/points.o \ ./src/siri/db/pool.o \ ./src/siri/db/pools.o \ ./src/siri/db/presuf.o \ ./src/siri/db/props.o \ ./src/siri/db/query.o \ ./src/siri/db/re.o \ ./src/siri/db/reindex.o \ ./src/siri/db/replicate.o \ ./src/siri/db/series.o \ ./src/siri/db/server.o \ ./src/siri/db/servers.o \ ./src/siri/db/shard.o \ ./src/siri/db/shards.o \ ./src/siri/db/time.o \ ./src/siri/db/user.o \ ./src/siri/db/users.o \ ./src/siri/db/variance.o \ ./src/siri/db/walker.o C_DEPS += \ ./src/siri/db/access.d \ ./src/siri/db/aggregate.d \ ./src/siri/db/auth.d \ ./src/siri/db/buffer.d \ ./src/siri/db/db.d \ ./src/siri/db/ffile.d \ ./src/siri/db/fifo.d \ ./src/siri/db/forward.d \ ./src/siri/db/group.d \ ./src/siri/db/groups.d \ ./src/siri/db/initsync.d \ ./src/siri/db/insert.d \ ./src/siri/db/lookup.d \ ./src/siri/db/median.d \ ./src/siri/db/misc.d \ ./src/siri/db/nodes.d \ ./src/siri/db/pcache.d \ ./src/siri/db/points.d \ ./src/siri/db/pool.d \ ./src/siri/db/pools.d \ ./src/siri/db/presuf.d \ ./src/siri/db/props.d \ ./src/siri/db/query.d \ ./src/siri/db/re.d \ ./src/siri/db/reindex.d \ ./src/siri/db/replicate.d \ ./src/siri/db/series.d \ ./src/siri/db/server.d \ ./src/siri/db/servers.d \ ./src/siri/db/shard.d \ ./src/siri/db/shards.d \ ./src/siri/db/time.d \ ./src/siri/db/user.d \ ./src/siri/db/users.d \ ./src/siri/db/variance.d \ ./src/siri/db/walker.d # Each subdirectory must supply rules for building sources it contributes src/siri/db/%.o: ../src/siri/db/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/siri/file/000077500000000000000000000000001322265336500200725ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/siri/file/subdir.mk000066400000000000000000000015211322265336500217120ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/file/handler.c \ ../src/siri/file/pointer.c OBJS += \ ./src/siri/file/handler.o \ ./src/siri/file/pointer.o C_DEPS += \ ./src/siri/file/handler.d \ ./src/siri/file/pointer.d # Each subdirectory must supply rules for building sources it contributes src/siri/file/%.o: ../src/siri/file/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/siri/grammar/000077500000000000000000000000001322265336500206015ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/siri/grammar/subdir.mk000066400000000000000000000014131322265336500224210ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/grammar/grammar.c OBJS += \ ./src/siri/grammar/grammar.o C_DEPS += \ ./src/siri/grammar/grammar.d # Each subdirectory must supply rules for building sources it contributes src/siri/grammar/%.o: ../src/siri/grammar/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/siri/help/000077500000000000000000000000001322265336500201035ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/siri/help/subdir.mk000066400000000000000000000013631322265336500217270ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/help/help.c OBJS += \ ./src/siri/help/help.o C_DEPS += \ ./src/siri/help/help.d # Each subdirectory must supply rules for building sources it contributes src/siri/help/%.o: ../src/siri/help/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/siri/net/000077500000000000000000000000001322265336500177415ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/siri/net/subdir.mk000066400000000000000000000023351322265336500215650ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/net/bserver.c \ ../src/siri/net/clserver.c \ ../src/siri/net/pkg.c \ ../src/siri/net/promise.c \ ../src/siri/net/promises.c \ ../src/siri/net/protocol.c \ ../src/siri/net/socket.c OBJS += \ ./src/siri/net/bserver.o \ ./src/siri/net/clserver.o \ ./src/siri/net/pkg.o \ ./src/siri/net/promise.o \ ./src/siri/net/promises.o \ ./src/siri/net/protocol.o \ ./src/siri/net/socket.o C_DEPS += \ ./src/siri/net/bserver.d \ ./src/siri/net/clserver.d \ ./src/siri/net/pkg.d \ ./src/siri/net/promise.d \ ./src/siri/net/promises.d \ ./src/siri/net/protocol.d \ ./src/siri/net/socket.d # Each subdirectory must supply rules for building sources it contributes src/siri/net/%.o: ../src/siri/net/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/siri/parser/000077500000000000000000000000001322265336500204475ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/siri/parser/subdir.mk000066400000000000000000000015441322265336500222740ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/parser/listener.c \ ../src/siri/parser/queries.c OBJS += \ ./src/siri/parser/listener.o \ ./src/siri/parser/queries.o C_DEPS += \ ./src/siri/parser/listener.d \ ./src/siri/parser/queries.d # Each subdirectory must supply rules for building sources it contributes src/siri/parser/%.o: ../src/siri/parser/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/siri/subdir.mk000066400000000000000000000021621322265336500207750ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/async.c \ ../src/siri/backup.c \ ../src/siri/err.c \ ../src/siri/heartbeat.c \ ../src/siri/optimize.c \ ../src/siri/siri.c \ ../src/siri/version.c OBJS += \ ./src/siri/async.o \ ./src/siri/backup.o \ ./src/siri/err.o \ ./src/siri/heartbeat.o \ ./src/siri/optimize.o \ ./src/siri/siri.o \ ./src/siri/version.o C_DEPS += \ ./src/siri/async.d \ ./src/siri/backup.d \ ./src/siri/err.d \ ./src/siri/heartbeat.d \ ./src/siri/optimize.d \ ./src/siri/siri.d \ ./src/siri/version.d # Each subdirectory must supply rules for building sources it contributes src/siri/%.o: ../src/siri/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/slist/000077500000000000000000000000001322265336500173435ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/slist/subdir.mk000066400000000000000000000013421322265336500211640ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/slist/slist.c OBJS += \ ./src/slist/slist.o C_DEPS += \ ./src/slist/slist.d # Each subdirectory must supply rules for building sources it contributes src/slist/%.o: ../src/slist/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/strextra/000077500000000000000000000000001322265336500200615ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/strextra/subdir.mk000066400000000000000000000013721322265336500217050ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/strextra/strextra.c OBJS += \ ./src/strextra/strextra.o C_DEPS += \ ./src/strextra/strextra.d # Each subdirectory must supply rules for building sources it contributes src/strextra/%.o: ../src/strextra/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/test/000077500000000000000000000000001322265336500171645ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/test/subdir.mk000066400000000000000000000013321322265336500210040ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/test/test.c OBJS += \ ./src/test/test.o C_DEPS += \ ./src/test/test.d # Each subdirectory must supply rules for building sources it contributes src/test/%.o: ../src/test/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/timeit/000077500000000000000000000000001322265336500175005ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/timeit/subdir.mk000066400000000000000000000013521322265336500213220ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/timeit/timeit.c OBJS += \ ./src/timeit/timeit.o C_DEPS += \ ./src/timeit/timeit.d # Each subdirectory must supply rules for building sources it contributes src/timeit/%.o: ../src/timeit/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/xmath/000077500000000000000000000000001322265336500173265ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/xmath/subdir.mk000066400000000000000000000013421322265336500211470ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/xmath/xmath.c OBJS += \ ./src/xmath/xmath.o C_DEPS += \ ./src/xmath/xmath.d # Each subdirectory must supply rules for building sources it contributes src/xmath/%.o: ../src/xmath/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/src/xpath/000077500000000000000000000000001322265336500173315ustar00rootroot00000000000000siridb-server-2.0.26/Debug/src/xpath/subdir.mk000066400000000000000000000013421322265336500211520ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/xpath/xpath.c OBJS += \ ./src/xpath/xpath.o C_DEPS += \ ./src/xpath/xpath.d # Each subdirectory must supply rules for building sources it contributes src/xpath/%.o: ../src/xpath/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Debug/subdir.mk000066400000000000000000000012551322265336500172420ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../main.c OBJS += \ ./main.o C_DEPS += \ ./main.d # Each subdirectory must supply rules for building sources it contributes %.o: ../%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -DDEBUG=1 -I../include -O0 -g3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/LICENSE.md000066400000000000000000000020671322265336500160010ustar00rootroot00000000000000MIT License Copyright (c) 2016 Transceptor Technology Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. siridb-server-2.0.26/README.md000066400000000000000000000107011322265336500156460ustar00rootroot00000000000000SiriDB Server ============= SiriDB is a highly-scalable, robust and super fast time series database. --------------------------------------- * [Installation](#installation) * [Ubuntu](#ubuntu) * [Compile from source](#compile-from-source) * [Linux](#linux) * [OSX](#osx) * [Configuration](#configuration) * [Create or expand a database](#create-or-expand-a-database) * [Using SiriDB](#using-siridb) * [SiriDB Connectors](#siridb-connectors) * [SiriDB HTTP](#siridb-http) * [SiriDB Prompt](#siridb-prompt) * [Grafana](#grafana) * [API/Query language](#query-language) --------------------------------------- ## Installation ### Ubuntu For Ubuntu we have a deb package available which can be downloaded [here](https://github.com/transceptor-technology/siridb-server/releases/latest). Note: SiriDB requires *libexpat1*, *libuv1* and *libpcre2-8-0*, these libraries can be easily installed using apt: ``` apt install libexpat1 libuv1 libpcre2-8-0 ``` The .deb package installs a configuration file at `/etc/siridb/siridb.conf`. You might want to view or change this file before starting SiriDB. ### Compile from source >From version 2.0.19 libcleri is not included as part of this source anymore >and needs to be installed separately. libcleri can be found here: >[https://github.com/transceptor-technology/libcleri](https://github.com/transceptor-technology/libcleri) #### Linux Install the following requirements: (Ubuntu) ``` sudo apt install libpcre2-dev sudo apt install libuv1-dev sudo apt install uuid-dev ``` Compile (replace Release with Debug for a debug build): ``` cd ./Release make clean make ``` #### OSX Install the following requirements: ``` brew install pcre2 brew install libuv brew install ossp-uuid ``` Compile (replace Release with Debug for a debug build): ``` cd ./Release export CFLAGS="-I/usr/local/include" export LDFLAGS="-L/usr/local/lib" make clean make ``` #### Configuration SiriDB requires a configuration file to run. By default SiriDB will search for the configuration file in `/etc/siridb/siridb.conf` but alternatively you can specify a custom path by using the `-c/--config` argument. ``` $ siridb-server -c /my/path/siridb.conf ``` An example configuration file can be found here: [https://github.com/transceptor-technology/siridb-server/blob/master/siridb.conf](#https://github.com/transceptor-technology/siridb-server/blob/master/siridb.conf) ## Create or expand a database [SiriDB Admin](https://github.com/transceptor-technology/siridb-admin) is required for creating a new database or expanding an existing database with a new server. Documentation on how to install and use the admin tool can be found at the [siridb-admin](https://github.com/transceptor-technology/siridb-admin#readme) github project. Binaries are available for most platforms and can be downloaded from [here](https://github.com/transceptor-technology/siridb-admin/releases/latest). ## Using SiriDB SiriDB has several tools available to connect to a SiriDB database. ### SiriDB Connectors The following native connectors are available: - [C/C++](https://github.com/transceptor-technology/libsiridb#readme) - [Python](https://github.com/transceptor-technology/siridb-connector#readme) - [Go](https://github.com/transceptor-technology/go-siridb-connector#readme) - [Node.js](https://github.com/transceptor-technology/siridb-nodejs-addon#readme) When not using one of the above, you can still communicate to SiriDB using [SiriDB HTTP](#siridb-http). ### SiriDB HTTP [SiriDB HTTP](https://github.com/transceptor-technology/siridb-http#readme) provides a HTTP API for SiriDB and has support for JSON, MsgPack, Qpack, CSV and Socket.io. SiriDB HTTP also has an optional web interface and SSL support. ### SiriDB Prompt [SiriDB Prompt](https://github.com/transceptor-technology/siridb-prompt#readme) can be used as a command line SiriDB client with auto-completion support and can be used to load json or csv data into a SiriDB database. Click [here](https://github.com/transceptor-technology/siridb-prompt/blob/master/README.md) for more information about SiriDB Prompt. ### Grafana [SiriDB Grafana Datasource](https://github.com/transceptor-technology/grafana-siridb-http-datasource#readme) is a plugin for Grafana. See the following blog article on how to configure and use this plugin: https://github.com/transceptor-technology/grafana-siridb-http-example. ## Query language Documentation about the query language can be found at http://siridb.net/docs. siridb-server-2.0.26/Release/000077500000000000000000000000001322265336500157505ustar00rootroot00000000000000siridb-server-2.0.26/Release/help000077700000000000000000000000001322265336500177632../help/ustar00rootroot00000000000000siridb-server-2.0.26/Release/makefile000066400000000000000000000037631322265336500174610ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ -include ../makefile.init RM := rm -rf # All of the sources participating in the build are defined here -include sources.mk -include src/xpath/subdir.mk -include src/xmath/subdir.mk -include src/timeit/subdir.mk -include src/test/subdir.mk -include src/strextra/subdir.mk -include src/slist/subdir.mk -include src/siri/admin/subdir.mk -include src/siri/parser/subdir.mk -include src/siri/net/subdir.mk -include src/siri/help/subdir.mk -include src/siri/grammar/subdir.mk -include src/siri/file/subdir.mk -include src/siri/db/subdir.mk -include src/siri/cfg/subdir.mk -include src/siri/args/subdir.mk -include src/siri/subdir.mk -include src/qpack/subdir.mk -include src/procinfo/subdir.mk -include src/owcrypt/subdir.mk -include src/motd/subdir.mk -include src/logger/subdir.mk -include src/lock/subdir.mk -include src/llist/subdir.mk -include src/iso8601/subdir.mk -include src/imap/subdir.mk -include src/expr/subdir.mk -include src/ctree/subdir.mk -include src/cfgparser/subdir.mk -include src/cexpr/subdir.mk -include src/argparse/subdir.mk -include subdir.mk -include objects.mk ifneq ($(MAKECMDGOALS),clean) ifneq ($(strip $(C_DEPS)),) -include $(C_DEPS) endif endif -include ../makefile.defs OS := $(shell uname) ifeq ($(OS),Darwin) CRYPT := UUID := else CRYPT := -lcrypt UUID := -luuid endif # Add inputs and outputs from these tool invocations to the build variables # All Target all: siridb-server # Tool invocations siridb-server: $(OBJS) $(USER_OBJS) @echo 'Building target: $@' @echo 'Invoking: GCC C Linker' gcc -o "siridb-server" $(OBJS) $(USER_OBJS) $(LDFLAGS) $(LIBS) $(CRYPT) $(UUID) @echo 'Finished building target: $@' @echo ' ' # Other Targets clean: -$(RM) $(EXECUTABLES)$(OBJS)$(C_DEPS) siridb-server -@echo ' ' .PHONY: all clean dependents .SECONDARY: -include ../makefile.targets siridb-server-2.0.26/Release/objects.mk000066400000000000000000000004021322265336500177260ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ USER_OBJS := LIBS := -luv -lm -lpcre2-8 -lcleri siridb-server-2.0.26/Release/sources.mk000066400000000000000000000014411322265336500177640ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ OBJ_SRCS := ASM_SRCS := C_SRCS := O_SRCS := S_UPPER_SRCS := EXECUTABLES := OBJS := C_DEPS := # Every subdirectory with source files must be described here SUBDIRS := \ . \ src/argparse \ src/cexpr \ src/cfgparser \ src/ctree \ src/expr \ src/imap \ src/iso8601 \ src/llist \ src/lock \ src/logger \ src/motd \ src/owcrypt \ src/procinfo \ src/qpack \ src/siri/admin \ src/siri/args \ src/siri \ src/siri/cfg \ src/siri/db \ src/siri/file \ src/siri/grammar \ src/siri/help \ src/siri/net \ src/siri/parser \ src/slist \ src/strextra \ src/test \ src/timeit \ src/xmath \ src/xpath \ siridb-server-2.0.26/Release/src/000077500000000000000000000000001322265336500165375ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/argparse/000077500000000000000000000000001322265336500203435ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/argparse/subdir.mk000066400000000000000000000013541322265336500221670ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/argparse/argparse.c OBJS += \ ./src/argparse/argparse.o C_DEPS += \ ./src/argparse/argparse.d # Each subdirectory must supply rules for building sources it contributes src/argparse/%.o: ../src/argparse/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/cexpr/000077500000000000000000000000001322265336500176605ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/cexpr/subdir.mk000066400000000000000000000013241322265336500215010ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/cexpr/cexpr.c OBJS += \ ./src/cexpr/cexpr.o C_DEPS += \ ./src/cexpr/cexpr.d # Each subdirectory must supply rules for building sources it contributes src/cexpr/%.o: ../src/cexpr/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/cfgparser/000077500000000000000000000000001322265336500205135ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/cfgparser/subdir.mk000066400000000000000000000013641322265336500223400ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/cfgparser/cfgparser.c OBJS += \ ./src/cfgparser/cfgparser.o C_DEPS += \ ./src/cfgparser/cfgparser.d # Each subdirectory must supply rules for building sources it contributes src/cfgparser/%.o: ../src/cfgparser/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/ctree/000077500000000000000000000000001322265336500176415ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/ctree/subdir.mk000066400000000000000000000013241322265336500214620ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/ctree/ctree.c OBJS += \ ./src/ctree/ctree.o C_DEPS += \ ./src/ctree/ctree.d # Each subdirectory must supply rules for building sources it contributes src/ctree/%.o: ../src/ctree/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/expr/000077500000000000000000000000001322265336500175155ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/expr/subdir.mk000066400000000000000000000013141322265336500213350ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/expr/expr.c OBJS += \ ./src/expr/expr.o C_DEPS += \ ./src/expr/expr.d # Each subdirectory must supply rules for building sources it contributes src/expr/%.o: ../src/expr/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/imap/000077500000000000000000000000001322265336500174655ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/imap/subdir.mk000066400000000000000000000013141322265336500213050ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/imap/imap.c OBJS += \ ./src/imap/imap.o C_DEPS += \ ./src/imap/imap.d # Each subdirectory must supply rules for building sources it contributes src/imap/%.o: ../src/imap/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/imap32/000077500000000000000000000000001322265336500176325ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/imap32/subdir.mk000066400000000000000000000012761322265336500214610ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/imap32/imap32.c OBJS += \ ./src/imap32/imap32.o C_DEPS += \ ./src/imap32/imap32.d # Each subdirectory must supply rules for building sources it contributes src/imap32/%.o: ../src/imap32/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/imap64/000077500000000000000000000000001322265336500176375ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/imap64/subdir.mk000066400000000000000000000012761322265336500214660ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/imap64/imap64.c OBJS += \ ./src/imap64/imap64.o C_DEPS += \ ./src/imap64/imap64.d # Each subdirectory must supply rules for building sources it contributes src/imap64/%.o: ../src/imap64/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/iso8601/000077500000000000000000000000001322265336500176505ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/iso8601/subdir.mk000066400000000000000000000013441322265336500214730ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/iso8601/iso8601.c OBJS += \ ./src/iso8601/iso8601.o C_DEPS += \ ./src/iso8601/iso8601.d # Each subdirectory must supply rules for building sources it contributes src/iso8601/%.o: ../src/iso8601/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/llist/000077500000000000000000000000001322265336500176665ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/llist/subdir.mk000066400000000000000000000013241322265336500215070ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/llist/llist.c OBJS += \ ./src/llist/llist.o C_DEPS += \ ./src/llist/llist.d # Each subdirectory must supply rules for building sources it contributes src/llist/%.o: ../src/llist/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/lock/000077500000000000000000000000001322265336500174675ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/lock/subdir.mk000066400000000000000000000013141322265336500213070ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/lock/lock.c OBJS += \ ./src/lock/lock.o C_DEPS += \ ./src/lock/lock.d # Each subdirectory must supply rules for building sources it contributes src/lock/%.o: ../src/lock/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/logger/000077500000000000000000000000001322265336500200165ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/logger/subdir.mk000066400000000000000000000013341322265336500216400ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/logger/logger.c OBJS += \ ./src/logger/logger.o C_DEPS += \ ./src/logger/logger.d # Each subdirectory must supply rules for building sources it contributes src/logger/%.o: ../src/logger/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/motd/000077500000000000000000000000001322265336500175025ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/motd/subdir.mk000066400000000000000000000013141322265336500213220ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/motd/motd.c OBJS += \ ./src/motd/motd.o C_DEPS += \ ./src/motd/motd.d # Each subdirectory must supply rules for building sources it contributes src/motd/%.o: ../src/motd/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/owcrypt/000077500000000000000000000000001322265336500202465ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/owcrypt/subdir.mk000066400000000000000000000013441322265336500220710ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/owcrypt/owcrypt.c OBJS += \ ./src/owcrypt/owcrypt.o C_DEPS += \ ./src/owcrypt/owcrypt.d # Each subdirectory must supply rules for building sources it contributes src/owcrypt/%.o: ../src/owcrypt/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/procinfo/000077500000000000000000000000001322265336500203565ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/procinfo/subdir.mk000066400000000000000000000013541322265336500222020ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/procinfo/procinfo.c OBJS += \ ./src/procinfo/procinfo.o C_DEPS += \ ./src/procinfo/procinfo.d # Each subdirectory must supply rules for building sources it contributes src/procinfo/%.o: ../src/procinfo/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/qpack/000077500000000000000000000000001322265336500176365ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/qpack/subdir.mk000066400000000000000000000013241322265336500214570ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/qpack/qpack.c OBJS += \ ./src/qpack/qpack.o C_DEPS += \ ./src/qpack/qpack.d # Each subdirectory must supply rules for building sources it contributes src/qpack/%.o: ../src/qpack/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/siri/000077500000000000000000000000001322265336500175055ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/siri/admin/000077500000000000000000000000001322265336500205755ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/siri/admin/subdir.mk000066400000000000000000000016361322265336500224240ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/admin/account.c \ ../src/siri/admin/client.c \ ../src/siri/admin/request.c OBJS += \ ./src/siri/admin/account.o \ ./src/siri/admin/client.o \ ./src/siri/admin/request.o C_DEPS += \ ./src/siri/admin/account.d \ ./src/siri/admin/client.d \ ./src/siri/admin/request.d # Each subdirectory must supply rules for building sources it contributes src/siri/args/%.o: ../src/siri/args/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/siri/args/000077500000000000000000000000001322265336500204415ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/siri/args/subdir.mk000066400000000000000000000013451322265336500222650ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/args/args.c OBJS += \ ./src/siri/args/args.o C_DEPS += \ ./src/siri/args/args.d # Each subdirectory must supply rules for building sources it contributes src/siri/args/%.o: ../src/siri/args/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/siri/cfg/000077500000000000000000000000001322265336500202445ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/siri/cfg/subdir.mk000066400000000000000000000013351322265336500220670ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/cfg/cfg.c OBJS += \ ./src/siri/cfg/cfg.o C_DEPS += \ ./src/siri/cfg/cfg.d # Each subdirectory must supply rules for building sources it contributes src/siri/cfg/%.o: ../src/siri/cfg/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/siri/db/000077500000000000000000000000001322265336500200725ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/siri/db/subdir.mk000066400000000000000000000064301322265336500217160ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/db/access.c \ ../src/siri/db/aggregate.c \ ../src/siri/db/auth.c \ ../src/siri/db/buffer.c \ ../src/siri/db/db.c \ ../src/siri/db/ffile.c \ ../src/siri/db/fifo.c \ ../src/siri/db/forward.c \ ../src/siri/db/group.c \ ../src/siri/db/groups.c \ ../src/siri/db/initsync.c \ ../src/siri/db/insert.c \ ../src/siri/db/lookup.c \ ../src/siri/db/median.c \ ../src/siri/db/misc.c \ ../src/siri/db/nodes.c \ ../src/siri/db/pcache.c \ ../src/siri/db/points.c \ ../src/siri/db/pool.c \ ../src/siri/db/pools.c \ ../src/siri/db/presuf.c \ ../src/siri/db/props.c \ ../src/siri/db/query.c \ ../src/siri/db/re.c \ ../src/siri/db/reindex.c \ ../src/siri/db/replicate.c \ ../src/siri/db/series.c \ ../src/siri/db/server.c \ ../src/siri/db/servers.c \ ../src/siri/db/shard.c \ ../src/siri/db/shards.c \ ../src/siri/db/time.c \ ../src/siri/db/user.c \ ../src/siri/db/users.c \ ../src/siri/db/variance.c \ ../src/siri/db/walker.c OBJS += \ ./src/siri/db/access.o \ ./src/siri/db/aggregate.o \ ./src/siri/db/auth.o \ ./src/siri/db/buffer.o \ ./src/siri/db/db.o \ ./src/siri/db/ffile.o \ ./src/siri/db/fifo.o \ ./src/siri/db/forward.o \ ./src/siri/db/group.o \ ./src/siri/db/groups.o \ ./src/siri/db/initsync.o \ ./src/siri/db/insert.o \ ./src/siri/db/lookup.o \ ./src/siri/db/median.o \ ./src/siri/db/misc.o \ ./src/siri/db/nodes.o \ ./src/siri/db/pcache.o \ ./src/siri/db/points.o \ ./src/siri/db/pool.o \ ./src/siri/db/pools.o \ ./src/siri/db/presuf.o \ ./src/siri/db/props.o \ ./src/siri/db/query.o \ ./src/siri/db/re.o \ ./src/siri/db/reindex.o \ ./src/siri/db/replicate.o \ ./src/siri/db/series.o \ ./src/siri/db/server.o \ ./src/siri/db/servers.o \ ./src/siri/db/shard.o \ ./src/siri/db/shards.o \ ./src/siri/db/time.o \ ./src/siri/db/user.o \ ./src/siri/db/users.o \ ./src/siri/db/variance.o \ ./src/siri/db/walker.o C_DEPS += \ ./src/siri/db/access.d \ ./src/siri/db/aggregate.d \ ./src/siri/db/auth.d \ ./src/siri/db/buffer.d \ ./src/siri/db/db.d \ ./src/siri/db/ffile.d \ ./src/siri/db/fifo.d \ ./src/siri/db/forward.d \ ./src/siri/db/group.d \ ./src/siri/db/groups.d \ ./src/siri/db/initsync.d \ ./src/siri/db/insert.d \ ./src/siri/db/lookup.d \ ./src/siri/db/median.d \ ./src/siri/db/misc.d \ ./src/siri/db/nodes.d \ ./src/siri/db/pcache.d \ ./src/siri/db/points.d \ ./src/siri/db/pool.d \ ./src/siri/db/pools.d \ ./src/siri/db/presuf.d \ ./src/siri/db/props.d \ ./src/siri/db/query.d \ ./src/siri/db/re.d \ ./src/siri/db/reindex.d \ ./src/siri/db/replicate.d \ ./src/siri/db/series.d \ ./src/siri/db/server.d \ ./src/siri/db/servers.d \ ./src/siri/db/shard.d \ ./src/siri/db/shards.d \ ./src/siri/db/time.d \ ./src/siri/db/user.d \ ./src/siri/db/users.d \ ./src/siri/db/variance.d \ ./src/siri/db/walker.d # Each subdirectory must supply rules for building sources it contributes src/siri/db/%.o: ../src/siri/db/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/siri/file/000077500000000000000000000000001322265336500204245ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/siri/file/subdir.mk000066400000000000000000000015031322265336500222440ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/file/handler.c \ ../src/siri/file/pointer.c OBJS += \ ./src/siri/file/handler.o \ ./src/siri/file/pointer.o C_DEPS += \ ./src/siri/file/handler.d \ ./src/siri/file/pointer.d # Each subdirectory must supply rules for building sources it contributes src/siri/file/%.o: ../src/siri/file/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/siri/grammar/000077500000000000000000000000001322265336500211335ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/siri/grammar/subdir.mk000066400000000000000000000013751322265336500227620ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/grammar/grammar.c OBJS += \ ./src/siri/grammar/grammar.o C_DEPS += \ ./src/siri/grammar/grammar.d # Each subdirectory must supply rules for building sources it contributes src/siri/grammar/%.o: ../src/siri/grammar/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/siri/help/000077500000000000000000000000001322265336500204355ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/siri/help/subdir.mk000066400000000000000000000013451322265336500222610ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/help/help.c OBJS += \ ./src/siri/help/help.o C_DEPS += \ ./src/siri/help/help.d # Each subdirectory must supply rules for building sources it contributes src/siri/help/%.o: ../src/siri/help/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/siri/net/000077500000000000000000000000001322265336500202735ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/siri/net/subdir.mk000066400000000000000000000023171322265336500221170ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/net/bserver.c \ ../src/siri/net/clserver.c \ ../src/siri/net/pkg.c \ ../src/siri/net/promise.c \ ../src/siri/net/promises.c \ ../src/siri/net/protocol.c \ ../src/siri/net/socket.c OBJS += \ ./src/siri/net/bserver.o \ ./src/siri/net/clserver.o \ ./src/siri/net/pkg.o \ ./src/siri/net/promise.o \ ./src/siri/net/promises.o \ ./src/siri/net/protocol.o \ ./src/siri/net/socket.o C_DEPS += \ ./src/siri/net/bserver.d \ ./src/siri/net/clserver.d \ ./src/siri/net/pkg.d \ ./src/siri/net/promise.d \ ./src/siri/net/promises.d \ ./src/siri/net/protocol.d \ ./src/siri/net/socket.d # Each subdirectory must supply rules for building sources it contributes src/siri/net/%.o: ../src/siri/net/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/siri/parser/000077500000000000000000000000001322265336500210015ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/siri/parser/subdir.mk000066400000000000000000000015261322265336500226260ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/parser/listener.c \ ../src/siri/parser/queries.c OBJS += \ ./src/siri/parser/listener.o \ ./src/siri/parser/queries.o C_DEPS += \ ./src/siri/parser/listener.d \ ./src/siri/parser/queries.d # Each subdirectory must supply rules for building sources it contributes src/siri/parser/%.o: ../src/siri/parser/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/siri/subdir.mk000066400000000000000000000021441322265336500213270ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/siri/async.c \ ../src/siri/backup.c \ ../src/siri/err.c \ ../src/siri/heartbeat.c \ ../src/siri/optimize.c \ ../src/siri/siri.c \ ../src/siri/version.c OBJS += \ ./src/siri/async.o \ ./src/siri/backup.o \ ./src/siri/err.o \ ./src/siri/heartbeat.o \ ./src/siri/optimize.o \ ./src/siri/siri.o \ ./src/siri/version.o C_DEPS += \ ./src/siri/async.d \ ./src/siri/backup.d \ ./src/siri/err.d \ ./src/siri/heartbeat.d \ ./src/siri/optimize.d \ ./src/siri/siri.d \ ./src/siri/version.d # Each subdirectory must supply rules for building sources it contributes src/siri/%.o: ../src/siri/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/slist/000077500000000000000000000000001322265336500176755ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/slist/subdir.mk000066400000000000000000000013241322265336500215160ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/slist/slist.c OBJS += \ ./src/slist/slist.o C_DEPS += \ ./src/slist/slist.d # Each subdirectory must supply rules for building sources it contributes src/slist/%.o: ../src/slist/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/strextra/000077500000000000000000000000001322265336500204135ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/strextra/subdir.mk000066400000000000000000000013541322265336500222370ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/strextra/strextra.c OBJS += \ ./src/strextra/strextra.o C_DEPS += \ ./src/strextra/strextra.d # Each subdirectory must supply rules for building sources it contributes src/strextra/%.o: ../src/strextra/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/test/000077500000000000000000000000001322265336500175165ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/test/subdir.mk000066400000000000000000000013141322265336500213360ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/test/test.c OBJS += \ ./src/test/test.o C_DEPS += \ ./src/test/test.d # Each subdirectory must supply rules for building sources it contributes src/test/%.o: ../src/test/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/timeit/000077500000000000000000000000001322265336500200325ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/timeit/subdir.mk000066400000000000000000000013341322265336500216540ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/timeit/timeit.c OBJS += \ ./src/timeit/timeit.o C_DEPS += \ ./src/timeit/timeit.d # Each subdirectory must supply rules for building sources it contributes src/timeit/%.o: ../src/timeit/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/xmath/000077500000000000000000000000001322265336500176605ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/xmath/subdir.mk000066400000000000000000000013241322265336500215010ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/xmath/xmath.c OBJS += \ ./src/xmath/xmath.o C_DEPS += \ ./src/xmath/xmath.d # Each subdirectory must supply rules for building sources it contributes src/xmath/%.o: ../src/xmath/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/src/xpath/000077500000000000000000000000001322265336500176635ustar00rootroot00000000000000siridb-server-2.0.26/Release/src/xpath/subdir.mk000066400000000000000000000013241322265336500215040ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../src/xpath/xpath.c OBJS += \ ./src/xpath/xpath.o C_DEPS += \ ./src/xpath/xpath.d # Each subdirectory must supply rules for building sources it contributes src/xpath/%.o: ../src/xpath/%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/Release/subdir.mk000066400000000000000000000012371322265336500175740ustar00rootroot00000000000000################################################################################ # Automatically-generated file. Do not edit! ################################################################################ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../main.c OBJS += \ ./main.o C_DEPS += \ ./main.d # Each subdirectory must supply rules for building sources it contributes %.o: ../%.c @echo 'Building file: $<' @echo 'Invoking: GCC C Compiler' gcc -I../include -O3 -Wall -Wextra $(CPPFLAGS) $(CFLAGS) -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<" @echo 'Finished building: $<' @echo ' ' siridb-server-2.0.26/archive/000077500000000000000000000000001322265336500160115ustar00rootroot00000000000000siridb-server-2.0.26/archive/ChangeLog-2.0.0000066400000000000000000000001671322265336500202220ustar00rootroot00000000000000 * Initial C-implementation of SiriDB. This improves the overall performance and at the same time is more robuust.siridb-server-2.0.26/archive/ChangeLog-2.0.1000066400000000000000000000032461322265336500202240ustar00rootroot00000000000000 * Only try to load a database from a directory containing at least the files 'database.conf' and 'database.dat'. This prevents trying to load from directories like lost+found etc. (issue #1) * Increased UV_THREADPOOL_SIZE from four to eight and prevent SiriDB from loading more than four databases. (issue #2) * Removed unneeded msgpack.h dependency. (issue #3) * To prevent compile warning on 32-bit linux we now cast int64_t and uint64_t to "lld" (long long) and "llu" (unsigned long long). (issue #4) * Dependencies in cleri (with siridb) are removed. (issue #5) * Respond with BPROTO_AUTH_ERR_UNKNOWN_UUID in case the authentication request contains the servers own UUID. (issue #6) * Added CPROTO_REQ_FILE_GROUPS to type translate function. (issue #7) * Added support for an optimize interval of zero which disables the optimize task. (enhancement issue #8) * Implemented configuration file changes (see issue #9) * Fixed resolving an ip address for a given hostname or fqdn. (for more information see issue #10) * Fixed writing uninitialized data while enabling or disabling backup mode by setting the correct package size. (issue #11) * Accept a variable %HOSTNAME in the configuration file. This is now used for the default value, 'server_name = %HOSTNAME:9010'. (issue #12) * Parse ipv6 addresses given in the configuration file correctly. (see issue #13) * Added support for ipv6 while discovering an address using dns. (issue #14) * Added property 'ip_support' to the grammar so we can view the current setting with 'show' and 'list servers'. (issue #15) siridb-server-2.0.26/archive/ChangeLog-2.0.10000066400000000000000000000006111322265336500202750ustar00rootroot00000000000000 * Fixed using a buffer path larger or close to PATH_MAX. (issue #43) * Fixed shard_get_size() problem with treading by replacing the function call with a property. (issue #44) * Fixed identifying a corrupt shard when an invalid header size is found at the end of a shard while loading a database. (issue #45) * Re-use space in buffer when series are dropped. (issue #46)siridb-server-2.0.26/archive/ChangeLog-2.0.11000066400000000000000000000004251322265336500203010ustar00rootroot00000000000000 * Pre allocate buffer space which improves performance for creating new series. (see issue #47) * Fixed sending a correct error message to a client for list and count statements in case a specific series does not exist. (issue #48) * Update help files.siridb-server-2.0.26/archive/ChangeLog-2.0.12000066400000000000000000000001421322265336500202760ustar00rootroot00000000000000 * Update help files. * Fixed bug in ctree which could occur when merging series. (issue #49) siridb-server-2.0.26/archive/ChangeLog-2.0.13000066400000000000000000000001271322265336500203020ustar00rootroot00000000000000 * Fixed wrapping imap to slist functions with appropriate locks. (see issue #51)siridb-server-2.0.26/archive/ChangeLog-2.0.14000066400000000000000000000013511322265336500203030ustar00rootroot00000000000000 * Inluding CFLAGS and LDFLAGS in mk files for better building support. (reported by @deem0n, issue #52) * Fixed error in choice.c which was causing an error on 32bit systems. (reported by @AlmiS, issue #53) * Removed crypt dependency for building on (Mac) OSX. (issue #54) * Fixed some warnings for building on (Mac) OSX. * Fixed locking database on (Mac) OSX. (issue #55) * Implemented memory usage and open files information on (Mac) OSX. (issue #56) * Added limit aggregation functionality. When using limit, a maximum number of points argument is used with an aggregation function. The aggrgation function is used only when more than the maximum number of points are found. (issue #57)siridb-server-2.0.26/archive/ChangeLog-2.0.16000066400000000000000000000021611322265336500203050ustar00rootroot00000000000000 * Fixed bug resize macro in qpack for packing >4GB large strings. * Fixed bug in time-zone name checking. (issue #61) * Prevent loading database when buffer file is not found. * Implemented API calls for managing databases: (issue #60) - change-password : Change password for a service account - drop-account : Remove a service account - get-accounts : Returns all service accounts - get-databases : Returns all database names - get-version : Returns version information - new-account : Create a service account - new-database : Create a new database - new-pool : Create a new pool for an existing database - new-replica : Create a new replica for an existing database SiriDB Admin Tool can be used to talk with the new API and provides both a command-line and a graphical web interface. Pre-compiled versions for different platforms can be found and downloaded from: https://github.com/transceptor-technology/siridb-admin/releases/latest * Added version check before creating a new pool or replica. (issue #62)siridb-server-2.0.26/archive/ChangeLog-2.0.17000066400000000000000000000005101322265336500203020ustar00rootroot00000000000000 * Removed duplicated function sirinet_pkg_copy() which is replaced with sirinet_pkg_dup(). * Fixed missing include (inttypes.h) in procinfo.c. * Changed link location from /usr/sbin to /usr/local/bin in deb package. * Limits for returning data points and list items can now be configured. (issue #64) siridb-server-2.0.26/archive/ChangeLog-2.0.18000066400000000000000000000002361322265336500203100ustar00rootroot00000000000000 * Removed line `#include ` from `xpath`. (issue #67) * Write .reindex file when ading a new pool. (issue #69) * Update help files.siridb-server-2.0.26/archive/ChangeLog-2.0.19000066400000000000000000000010611322265336500203060ustar00rootroot00000000000000 * Get the realpath for the default configuration path. (issue #72) * Set correct array length for signal handlers. * Cleanup some debug code. * Check for successful malloc uv_loop. * Changed socket code and simplified buffer. * Added a promises queue limit which prevents overwriting a pid in the promises queue and prevents adding an insane amount of requests to a single server. (issue #73) * Removed "cleri" from the source code and replaced this with libcleri. https://github.com/transceptor-technology/libclerisiridb-server-2.0.26/archive/ChangeLog-2.0.2000066400000000000000000000031221322265336500202160ustar00rootroot00000000000000 * Check user for permissions when inserting data. Only authentication was checked, not if the user had 'insert' privileges. (issue #16) * Minor performance updates by creating macros for frequently used functions. (see issue #17 for more info) * Store reference counter for a series object in an uint32_t. This solves a bug on big endian systems. (issue #18) * Remove server_id and idx_tp from series object and set those as flags. This removed the unneeded pads and saves 8 bytes for each series object. * Honor ip_support setting when sending a dns request. (issue #19) * Fixed a bug in listing and counting servers when using one of the properties 'sync_progress' or 'reindex_progress'. (reported by Koos Joosten, issue #20) * Fixed a bug when a select query is using a greater start time than end time. Instead of trying to answer to the query we now respond with an error informing the user the given query is not allowed. (reported by Koos Joosten, issue #21) * Fixed typo in log message. * Fixed bug in median (and median_low, median_high) when applying on a large data set. (reported by Koos Joosten, issue #22) * Improve median, median_high and median_low algorithm. (see issue #23) * Fixed bug in 'drop series' statement. (reported by Koos Joosten, issue #24) * Fixed bug in creating a new replica. Possible data loss could occur when creating a new replica. (see issue #25) * Fixed bug in dropping items from the internal compact tree. (reported by Koos Joosten, issue #26)siridb-server-2.0.26/archive/ChangeLog-2.0.20000066400000000000000000000007071322265336500203040ustar00rootroot00000000000000 * Replaced a few tabs with spaces for indentation. * Improve startup speed by creating separate index files for the shards while optimizing. (issue #75) * Fixed accidentally removing a shard from the index by the optimize thread. This was very unlikely to happen but technically a shard could be dropped and been re-created between checking the shard flags and locking the shards mutex for replacing the shard in the index. siridb-server-2.0.26/archive/ChangeLog-2.0.20-1000066400000000000000000000000441322265336500204340ustar00rootroot00000000000000 * Include libcleri in deb pacakge.siridb-server-2.0.26/archive/ChangeLog-2.0.21000066400000000000000000000001641322265336500203020ustar00rootroot00000000000000 * Use points_map for caching series data when multiple select requests are used in a single query. (issue #76)siridb-server-2.0.26/archive/ChangeLog-2.0.22000066400000000000000000000001241322265336500202770ustar00rootroot00000000000000 * Added two new server properties, fifo_files and selected_points. (issue #41)siridb-server-2.0.26/archive/ChangeLog-2.0.23000066400000000000000000000016451322265336500203110ustar00rootroot00000000000000 * Test before defining macro _GNU_SOURCE. * Better use of inline functions and resolved compiler warnings. * Prevent error messages to grow larger than the maximum size. (issue #82) * Change return value for siridb_shard_status() from void to int containing the number of characters written. * Updated ct_items() callback function and added the length of the key. The key is no longer terminated so the length must be used. * Updated the node object for ctree with the key length so we can skip a few strlen() calls when doing a lookup. * We do not save the terminator character on ctree nodes anymore. All get and set functions are updated to work without the string termination. * Removed unused ct_itemsn() function. Since ct_items() shared logic with this function we could also clean some additional code. * Added -Wextra compiler option in all .mk files.siridb-server-2.0.26/archive/ChangeLog-2.0.24000066400000000000000000000016721322265336500203120ustar00rootroot00000000000000 * Implemented time-precision for select statements. We can later extend the query language with support for querying with another time-precision. * When queue-full status is set, leave it set even when a new status update is received. * Mark a server as unavailable when a time-out on a flags package is received. The unavailable status prevents sending select queries and insert new data to this server. This status flag will never be applied to the 'last' server in a pool and will be removed when a new status update from the flagged server is received. * Cleanup optimize task in case a memory allocation error has occurred. * Fixed QPack length check for strings. Corrupt or invalid qpack data can contain a string length which is not actually available within the data. This fix corrects the check for such invalid string length. * Replaced int with int64_t where required in expr.c.siridb-server-2.0.26/archive/ChangeLog-2.0.25000066400000000000000000000005071322265336500203070ustar00rootroot00000000000000 * Removed obsolete strlen() call when creating a new series. * Fixed bug in ctree when looping over items. (issue #84) * Removed signal raising from all collection classes. * Removed ct_get_sure() function and improved the ct_get(), ct_getn() and ct_getaddr() functions. * Improved imap_get() function.siridb-server-2.0.26/archive/ChangeLog-2.0.26000066400000000000000000000007051322265336500203100ustar00rootroot00000000000000 * Added bind_server_address and bind_client_address as configuration options. The default configuration binds to localhost only. (issue #89) * Added -rf to makefiles. (fixes make clean) (#86, @paulgevers) * Replaces pcre with pcre2. (issue #90) * Make sure PATH_MAX is defined. * Added optional shard compression. * Use unsigned instead of signed char for QPack buffer. * Initialize structs to null by using memset.siridb-server-2.0.26/archive/ChangeLog-2.0.3000066400000000000000000000002021322265336500202130ustar00rootroot00000000000000 * Fixed bug in network handler. The wrong size could be allocated when receiving multiple packages in a stream. (issue #27)siridb-server-2.0.26/archive/ChangeLog-2.0.4000066400000000000000000000000551322265336500202220ustar00rootroot00000000000000 * Fixed bug in fifo buffer. (see issue #28)siridb-server-2.0.26/archive/ChangeLog-2.0.5000066400000000000000000000011301322265336500202160ustar00rootroot00000000000000 * Changed CLOCK_REALTIME to CLOCK_MONOTONIC for monitoring startup time. * Fixed bug using filter aggregation. (issue #29) * Fixed bug in median, median_low and median_high when using on series with large values. (issue #30) * Check for successful memory allocations in cexpr object. * Wrap socket around uv_tcp_t instead of two separate mallocs. * Fixed possible stack overflow error by checking for a max recursion depth when parsing a query. (issue #31) * Fixed possible stack overflow error by checking for a maximum query length. (see issue #32)siridb-server-2.0.26/archive/ChangeLog-2.0.6000066400000000000000000000004441322265336500202260ustar00rootroot00000000000000 * Fixed memory leak when using multiple regular expressions in one query. (issue #33) * Fixed memory leak in difference, symmetric_difference and intersection functions on the imap object. (see issue #34) * Fixed memory leak when creating an invalid group. (issue #35)siridb-server-2.0.26/archive/ChangeLog-2.0.7000066400000000000000000000004501322265336500202240ustar00rootroot00000000000000 * Fixed memory leak in "alter group set expression". (issue #36) * Fixed bug in saving groups when groups are created while the statement did not end with the expression, but with an extra space or comment. (see issue #37) * Added __restrict keyword for extra optimizations.siridb-server-2.0.26/archive/ChangeLog-2.0.8000066400000000000000000000001201322265336500202170ustar00rootroot00000000000000 * Add source IP to logging when an invalid package is received. (issue #38) siridb-server-2.0.26/archive/ChangeLog-2.0.9000066400000000000000000000006001322265336500202230ustar00rootroot00000000000000 * Use macros for formatting integer types instead of casting to a specific type. * Removed unneeded 'siridb_mutex' from heart-beat task. * Fixed possible double free on socket. (see issue #39) * Fixed reading an alternative buffer path from the configuration file. (issue #40) * Fixed dropping shards when followed by an optimize task. (issue #42) siridb-server-2.0.26/build_deb.py000077500000000000000000000202311322265336500166540ustar00rootroot00000000000000#!/usr/bin/python3 import sys import os import datetime import platform import subprocess import shutil import stat import re import argparse VERSION_FILE = 'include/siri/version.h' CHANGELOG_FILE = 'ChangeLog' def _version_levels(): for n in ('MAJOR', 'MINOR', 'PATCH'): yield re.compile('^#define SIRIDB_VERSION_{} ([0-9]+)$'.format(n)) def _get_version(): version_gen = _version_levels() version_m = next(version_gen) version = [] with open(VERSION_FILE, 'r') as f: content = f.readlines() for line in content: m = version_m.match(line) if m: version.append(m.group(1)) try: version_m = next(version_gen) except StopIteration: return '.'.join(version) raise ValueError('Cannot find version in {}'.format(VERSION_FILE)) def _get_changelog(version): with open('ChangeLog-{}'.format(version), 'r') as f: content = f.read() if not content: raise ValueError('Changelog required!') return content def _get_distribution(): '''Returns distribution code name. (Ubuntu)''' proc = subprocess.Popen(['lsb_release', '-c'], stdout=subprocess.PIPE) for line in proc.stdout: if line: return line.decode().split('\t')[1].strip() if __name__ == '__main__': # Read the current version version = _get_version() if version is None: exit('Cannot find version in file: {}'.format(VERSION_FILE)) parser = argparse.ArgumentParser() parser.add_argument( '-r', '--rev', type=int, default=0, help='Debian Revision number.') parser.add_argument( '-f', '--force', action='store_true', help='Overwrite existing build.') args = parser.parse_args() if args.rev: version += '-{}'.format(args.rev) # Explain architecture= amd64 # The architecture is AMD64-compatible and Debian AMD64 will run on AMD and # Intel processors with 64-bit support. # Because of the technology paternity, Debian uses the name "AMD64". config = dict( package='siridb-server', version=version, name='Jeroen van der Heijden', email='jeroen@transceptor.technology', company='Transceptor Technology', company_email='info@transceptor.technology', datetime=datetime.datetime.utcnow().strftime( '%a, %d %b %Y %H:%M:%S') + ' +0000', architecture={ '32bit': 'i386', '64bit': 'amd64'}[platform.architecture()[0]], archother={ '32bit': 'i386', '64bit': 'x86_64'}[platform.architecture()[0]], homepage='http://siridb.net', distribution=_get_distribution(), curdate=datetime.datetime.utcnow().strftime('%d %b %Y'), year=datetime.datetime.utcnow().year, description='SiriDB time series database server', long_description=''' SiriDB is a fast and scalable time series database. '''.rstrip(), explain='start the SiriDB time series database server', depends='${shlibs:Depends}, ' '${misc:Depends}, ' 'libuv1 (>= 1.8.0)' ) with open(CHANGELOG_FILE, 'r') as f: current_changelog = f.read() if '{package} ({version})'.format( **config) in current_changelog: if not args.force: raise ValueError( 'Version {} already build. Use -r to create a new ' 'revision number or use -f to overwrite the existing pacakge' .format(version)) changelog = None else: changelog = _get_changelog(version) config.update(dict( changelog=changelog.strip() )) POSTINST = open( 'deb/POSTINST', 'r').read().strip().format(**config) SYSTEMD = open( 'deb/SYSTEMD', 'r').read().strip().format(**config) PRERM = open( 'deb/PRERM', 'r').read().strip().format(**config) OVERRIDES = open( 'deb/OVERRIDES', 'r').read().strip().format(**config) if changelog: CHANGELOG = open( 'deb/CHANGELOG', 'r').read().strip().format(**config) CONTROL = open( 'deb/CONTROL', 'r').read().strip().format(**config) MANPAGE = open( 'deb/MANPAGE', 'r').read().strip().format(**config) COPYRIGHT = open( 'deb/COPYRIGHT', 'r').read().strip().format(**config) RULES = open( 'deb/RULES', 'r').read().strip() temp_path = os.path.join('build', 'temp') if os.path.isdir(temp_path): shutil.rmtree(temp_path) source_path = os.path.join('Release', 'siridb-server') if not os.path.isfile(source_path): sys.exit('ERROR: Cannot find path: {}'.format(source_path)) subprocess.call(['strip', '--strip-unneeded', source_path]) deb_file = \ '{package}_{version}_{architecture}.deb'.format(**config) source_deb = os.path.join(temp_path, deb_file) dest_deb = os.path.join('build', deb_file) if os.path.exists(dest_deb): os.unlink(dest_deb) pkg_path = os.path.join( temp_path, '{package}_{version}'.format(**config)) debian_path = os.path.join(pkg_path, 'debian') pkg_src_path = os.path.join(pkg_path, 'src') debian_source_path = os.path.join(debian_path, 'source') target_path = os.path.join(pkg_src_path, 'usr', 'lib', 'siridb', 'server') os.makedirs(target_path) os.makedirs(debian_source_path) with open(os.path.join(debian_source_path, 'include-binaries'), 'w') as f: f.write('/usr/lib/libcleri.so') shutil.copy2(source_path, os.path.join(target_path, config['package'])) shutil.copytree('help', os.path.join(target_path, 'help')) shutil.copy2( '/usr/lib/libcleri.so', os.path.join(pkg_src_path, 'usr', 'lib', 'libcleri.so')) db_path = os.path.join(pkg_src_path, 'var', 'lib', 'siridb') os.makedirs(db_path) cfg_path = os.path.join(pkg_src_path, 'etc', 'siridb') os.makedirs(cfg_path) shutil.copy('siridb.conf', cfg_path) systemd_path = os.path.join(target_path, 'systemd') os.makedirs(systemd_path) with open(os.path.join( systemd_path, '{package}.service'.format(**config)), 'w') as f: f.write(SYSTEMD) with open(os.path.join(debian_path, 'postinst'), 'w') as f: f.write(POSTINST) with open(os.path.join(debian_path, 'prerm'), 'w') as f: f.write(PRERM) with open(os.path.join(debian_path, 'source', 'format'), 'w') as f: f.write('3.0 (quilt)') with open(os.path.join(debian_path, 'compat'), 'w') as f: f.write('9') if changelog: changelog = CHANGELOG + '\n\n' + current_changelog with open(CHANGELOG_FILE, 'w') as f: f.write(changelog) shutil.copy(CHANGELOG_FILE, os.path.join(debian_path, 'changelog')) with open(os.path.join(debian_path, 'control'), 'w') as f: f.write(CONTROL) with open(os.path.join(debian_path, 'copyright'), 'w') as f: f.write(COPYRIGHT) rules_file = os.path.join(debian_path, 'rules') with open(rules_file, 'w') as f: f.write(RULES) os.chmod(rules_file, os.stat(rules_file).st_mode | stat.S_IEXEC) with open(os.path.join(debian_path, 'links'), 'w') as f: f.write('/usr/lib/siridb/server/{package} /usr/local/bin/{package}\n'.format( **config)) with open(os.path.join(debian_path, 'install'), 'w') as f: f.write('''src/usr / src/etc / src/var /''') with open(os.path.join(debian_path, '{}.1'.format( config['package'])), 'w') as f: f.write(MANPAGE) with open(os.path.join(debian_path, '{}.manpages'.format( config['package'])), 'w') as f: f.write('debian/{}.1'.format(config['package'])) with open(os.path.join(debian_path, '{}.lintian-overrides'.format( config['package'])), 'w') as f: f.write(OVERRIDES) subprocess.call(['debuild', '-us', '-uc', '-b'], cwd=pkg_path) if os.path.exists(source_deb): shutil.move(source_deb, dest_deb) shutil.rmtree(temp_path) sys.exit('Successful created package: {}'.format(dest_deb)) else: sys.exit('ERROR: {} not created'.format(source_deb)) siridb-server-2.0.26/deb/000077500000000000000000000000001322265336500151225ustar00rootroot00000000000000siridb-server-2.0.26/deb/CHANGELOG000066400000000000000000000001451322265336500163340ustar00rootroot00000000000000{package} ({version}) {distribution}; urgency=medium {changelog} -- {name} <{email}> {datetime}siridb-server-2.0.26/deb/CONTROL000066400000000000000000000005541322265336500161710ustar00rootroot00000000000000Source: {package} Priority: optional Section: database Maintainer: {name} <{email}> Standards-Version: 3.9.6 Build-Depends: debhelper (>= 9), dh-exec (>=0.3), dh-autoreconf, pkg-config Homepage: {homepage} Package: {package} Depends: {depends} Architecture: {architecture} Description: {description}{long_description} siridb-server-2.0.26/deb/COPYRIGHT000066400000000000000000000023141322265336500164150ustar00rootroot00000000000000Name: {package} Maintainer: {name} <{email}> Source: https://github.com/transceptor-technology/{package}/ Files: * Copyright: {year}, {company} <{company_email}> License: MIT Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.siridb-server-2.0.26/deb/MANPAGE000066400000000000000000000004741322265336500161220ustar00rootroot00000000000000.\" Manpage for {package}. .\" Contact {email} to correct errors or typos. .TH man 8 "{curdate}" "1.0" "{package} man page" .SH NAME {package} \- {explain} .SH SYNOPSIS {package} .SH DESCRIPTION {description}. .SH OPTIONS See {package} --help for more information. .SH BUGS No known bugs. .SH AUTHOR {name} ({email})siridb-server-2.0.26/deb/OVERRIDES000066400000000000000000000004101322265336500164020ustar00rootroot00000000000000{package}: postinst-has-useless-call-to-ldconfig {package}: postrm-has-useless-call-to-ldconfig {package}: dir-in-usr-local {package}: file-in-usr-local {package}: file-in-unusual-dir {package}: sharedobject-in-library-directory-missing-soname usr/lib/libcleri.so siridb-server-2.0.26/deb/POSTINST000066400000000000000000000040411322265336500163270ustar00rootroot00000000000000#!/bin/bash set -e case "$1" in configure) # Set up SiriDB Server if which deb-systemd-invoke >/dev/null 2>&1 && pidof systemd >/dev/null 2>&1; then OUTPUT=`deb-systemd-invoke status siridb-server || true` if [[ $OUTPUT == *"running"* ]]; then echo "--------------------------------------------------------------------------------" echo "| type 'sudo systemctl restart siridb-server.service' to restart SiriDB |" echo "| ...or just reboot the machine. |" echo "--------------------------------------------------------------------------------" else echo "Configure systemd service 'siridb-server' ..." cp /usr/lib/siridb/server/systemd/siridb-server.service /lib/systemd/system/siridb-server.service systemctl daemon-reload || true deb-systemd-invoke enable siridb-server 2>/dev/null >/dev/null || true echo "--------------------------------------------------------------------------------" echo "| type 'sudo systemctl start siridb-server.service' to start SiriDB |" echo "| ...or just reboot the machine. |" echo "--------------------------------------------------------------------------------" fi else echo "--------------------------------------------------------------------------------" echo "| Please use supervisor or another deamon to start SiriDB Server |" echo "| It's also possible to start SiriDB manually using 'sudo siridb-server' |" echo "--------------------------------------------------------------------------------" fi ;; abort-upgrade|abort-remove|abort-deconfigure) exit 0 ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0siridb-server-2.0.26/deb/PRERM000066400000000000000000000013651322265336500157370ustar00rootroot00000000000000#!/bin/bash set -e case "$1" in upgrade) exit 0 ;; remove|deconfigure) # Stop and remove service (when needed) if which deb-systemd-invoke >/dev/null 2>&1 && pidof systemd >/dev/null 2>&1; then echo "Removing systemd service '{package}' ..." deb-systemd-invoke stop {package} 2>/dev/null >/dev/null || true deb-systemd-invoke disable {package} 2>/dev/null >/dev/null || true rm /lib/systemd/system/{package}.service 2>/dev/null >/dev/null || true fi ;; failed-upgrade) exit 0 ;; *) echo "prerm called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0siridb-server-2.0.26/deb/RULES000066400000000000000000000002251322265336500157360ustar00rootroot00000000000000#!/usr/bin/make -f # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # Note: before dh $0, there should be a TAB, no spaces. %: dh $@siridb-server-2.0.26/deb/SYSTEMD000066400000000000000000000004241322265336500161750ustar00rootroot00000000000000[Unit] Description=SiriDB {version} Server After=network.target [Service] ExecStart=/usr/local/bin/{package} --config /etc/siridb/siridb.conf --log-level info StandardOutput=journal LimitNOFILE=65535 TimeoutStartSec=10 TimeoutStopSec=300 [Install] WantedBy=multi-user.targetsiridb-server-2.0.26/docker/000077500000000000000000000000001322265336500156375ustar00rootroot00000000000000siridb-server-2.0.26/docker/Dockerfile000066400000000000000000000017531322265336500176370ustar00rootroot00000000000000FROM alpine:latest RUN apk update && \ apk upgrade && \ apk add gcc make libuv-dev musl-dev pcre2-dev util-linux-dev linux-headers git && \ git clone https://github.com/transceptor-technology/libcleri.git /tmp/libcleri && \ cd /tmp/libcleri/Release && \ make all && \ make install && \ git clone https://github.com/transceptor-technology/siridb-server.git /tmp/siridb-server && \ cd /tmp/siridb-server/Release && \ make clean && \ make FROM alpine:latest RUN apk update && \ apk add pcre2 libuv libuuid && \ mkdir -p /etc/siridb && \ mkdir -p /var/lib/siridb COPY --from=0 /tmp/siridb-server/siridb.conf /etc/siridb/siridb.conf COPY --from=0 /tmp/siridb-server/Release/siridb-server /usr/local/bin/ COPY --from=0 /usr/lib/libcleri.so /usr/lib/libcleri.so # Configuration VOLUME ["/etc/siridb"] # config # Data VOLUME ["/var/lib/siridb/"] # Client connections EXPOSE 9000 # back-end connections EXPOSE 9010 ENTRYPOINT ["/usr/local/bin/siridb-server"] siridb-server-2.0.26/docs/000077500000000000000000000000001322265336500153205ustar00rootroot00000000000000siridb-server-2.0.26/docs/uml/000077500000000000000000000000001322265336500161155ustar00rootroot00000000000000siridb-server-2.0.26/docs/uml/siri_class_diagram.uxf000066400000000000000000000303061322265336500224620ustar00rootroot00000000000000 9 UMLClass 684 414 207 432 siridb_t -- uuid: uuid_t tz: iso8601_tz_t shard_mask_num: uint16_t shard_mask_log: uint16_t buffer_size: size_t buffer_len: size_t start_ts: uint32_t max_series_id: uint32_t duration_num: uint64_t duration_log: uint64_t dbname: *char dbpath: *char buffer_path: *char time: *siridb_time_t server: *siridb_server_t replica: *siridb_server_t users: *siridb_users_t servers: *siridb_servers_t pools: *siridb_pools_t series: *ct_node_t series_map: *imap64_t shards: *imap64_t buffer_fp: *FILE -- siridb_new(): *siridb_t siridb_free(): void UMLClass 0 414 207 126 siri_t -- loop: *uv_loop_t grammar: *cleri_grammar_t siridb_list: *siridb_list_t fh: *siri_fh_t -- siri_start(): int siri_free(): void Relation 198 477 153 36 lt=<<<<<- m1=1 m2=1 10.0;10.0;150.0;10.0 Relation 288 378 99 90 lt=<<<<<- m2=0..* group=1 90.0;40.0;90.0;10.0;10.0;10.0;10.0;70.0;50.0;70.0 UMLClass 333 414 207 108 siridb_list_t -- siridb: *siridb_t next: *siridb_list_t -- siridb_list_new(): *siridb_list_t siridb_list_free(): void siridb_get(): *siridb_t group=1 Relation 531 477 171 36 lt=<<<<<- m1=1 m2=0..* 10.0;10.0;170.0;10.0 UMLClass 0 612 207 126 siri_fh_t -- size: uint16_t idx: uint16_t fpointers: **siri_fp_t -- siri_fh_new(): *siri_fh_t siri_fh_free(): void siri_fopen(): int UMLClass 0 873 207 99 siri_fp_t -- fp: *FILE ref: uint8_t -- siri_fp_new(): *siri_fp_t siri_fp_decref(): void Relation 99 531 27 99 lt=<<<<<-> m1=1 m2=1 10.0;10.0;10.0;90.0 Relation 99 729 63 162 lt=<<<<<-> m1=1 m2=0..size 10.0;10.0;10.0;160.0 UMLClass 306 612 261 144 siridb_shard_t -- id: uint64_t tp: uint8_t status: uint8_t fp: *siri_fp_t -- siridb_shard_create(): *siridb_shard_t siridb_shard_load(): int siridb_shard_free(): void Relation 558 630 144 36 lt=<<<<<- m1=1 m2=0..* 140.0;10.0;10.0;10.0 Relation 198 747 180 180 lt=<<<<- m1=1 m2=1 180.0;10.0;180.0;170.0;10.0;170.0 Relation 198 621 126 36 lt=<- siri_fopen 10.0;20.0;120.0;20.0 UMLClass 1017 414 279 153 siridb_users_t -- user: *siridb_user_t next: *siridb_users_t -- siridb_users_load(): *siridb_users_t siridb_users_free(): void siridb_users_add_user(): int siridb_users_drop_user(): int siridb_users_get_user(): *siridb_user_t siridb_users_save(): int group=2 Relation 972 378 99 90 lt=<<<<<- m2=0..* group=2 90.0;40.0;90.0;10.0;10.0;10.0;10.0;70.0;50.0;70.0 Relation 882 477 153 36 lt=<<<<<- m1=1 m2=1 10.0;10.0;150.0;10.0 UMLClass 1422 414 279 144 siridb_user_t -- username: *char password: *char access_bit: siridb_access_t -- siridb_user_new(): *siridb_user_t siridb_user_free(): void siridb_user_prop(): void siridb_user_set_password(): int siridb_user_check_access(): int Relation 1287 477 153 36 lt=<<<<<- m1=1 m2=0..* 10.0;10.0;150.0;10.0 UMLClass 1017 621 369 216 siridb_series_t -- id: uint32_t tp: uint8_t mask: uint16_t buffer: *siridb_buffer_t index: *siridb_series_idx_t -- siridb_series_load(): int siridb_series_new(): *siridb_series_t siridb_series_free(): void siridb_series_add_idx_num32(): void siridb_series_add_idx_num64(): void siridb_series_add_point(): void siridb_series_get_points_num32(): *siridb_points_t Relation 882 648 153 36 lt=<<<<<- m1=1 m2=0..* 10.0;10.0;150.0;10.0 UMLNote 126 765 225 72 both siri_fh_t and siridb_shard_t can hold a reference to siri_fp_t, the last decref will actually destroy the object. bg=light_gray UMLClass 1017 909 369 99 siridb_series_idx_t -- len: uint32_t has_overlap: uint8_t idx: *void -- Methods are provided by siridb_series_t Relation 1179 828 27 99 lt=<<<<<- m1=1 m2=1 10.0;10.0;10.0;90.0 UMLClass 1215 1080 279 126 idx_num64_t -- start_ts: uint64_t end_ts: uint64_t shard: *siridb_shard_t pos: uint32_t len: uint16_t -- Methods are provided by siridb_series_t Relation 1278 999 63 99 lt=<<<<<- m1=1 m2=0..len 10.0;10.0;10.0;90.0 UMLClass 909 1080 279 126 idx_num32_t -- start_ts: uint32_t end_ts: uint32_t shard: *siridb_shard_t pos: uint32_t len: uint16_t -- Methods are provided by siridb_series_t Relation 1098 999 63 99 lt=<<<<<- m1=1 m2=0..len 10.0;10.0;10.0;90.0 Relation 486 747 639 522 lt=<<<<- m1=1 m2=1 690.0;510.0;690.0;560.0;10.0;560.0;10.0;10.0 Relation 450 747 864 549 lt=<<<<- m1=1 m2=1 940.0;510.0;940.0;590.0;10.0;590.0;10.0;10.0 UMLNote 783 1008 225 63 idx can be used with either idx_num32_t or idx_num64_t, not both. bg=light_gray UMLClass 576 180 315 126 siridb_pools_t -- size: uint16_t lookup: *siridb_lookup_t pool: *siridb_pool_t -- siridb_pools_init(): void siridb_pools_free(): void -siridb_pools_gen_lookup(): *siridb_lookup_t Relation 747 297 27 135 lt=<<<<<- m1=1 m2=1 10.0;130.0;10.0;10.0 UMLClass 576 0 315 99 siridb_pool_t -- size: uint16_t server: *siridb_server_t[2] -- siridb_lookup_sn(): uint16_t siridb_lookup_sn_raw(): uint16_t Relation 747 90 63 108 lt=<<<<<- m1=1 m2=0..size 10.0;100.0;10.0;10.0 siridb-server-2.0.26/docs/uml/siri_parser.uxf000066400000000000000000002143621322265336500211730ustar00rootroot00000000000000 10 Relation 2420 590 30 100 lt=-> 10.0;10.0;10.0;80.0 UMLSpecialState 2410 370 40 40 type=initial Relation 2440 380 170 100 lt=-> 10.0;10.0;150.0;10.0;150.0;80.0 Relation 2420 400 30 180 lt=-> 10.0;10.0;10.0;160.0 Relation 2540 490 70 110 lt=-> 50.0;10.0;50.0;90.0;10.0;90.0 Relation 2420 700 30 100 lt=-> 10.0;10.0;10.0;80.0 Relation 2540 790 70 90 lt=-> 10.0;10.0;50.0;10.0;50.0;70.0 Relation 2420 810 30 150 lt=<<<- 10.0;130.0;10.0;10.0 Relation 2540 890 70 90 lt=<<<- 10.0;70.0;50.0;70.0;50.0;10.0 UMLState 2170 1030 230 40 free_user_object Relation 2420 970 30 170 lt=-> 10.0;10.0;10.0;150.0 Relation 2210 680 130 280 lt=<<<- <illegal password> 10.0;260.0;10.0;10.0;110.0;10.0 Relation 2210 970 30 80 lt=-> 10.0;10.0;10.0;60.0 Relation 1710 590 30 100 lt=-> 10.0;10.0;10.0;80.0 UMLSpecialState 1700 370 40 40 type=initial Relation 1710 400 30 180 lt=-> 10.0;10.0;10.0;160.0 Relation 1710 700 30 100 lt=-> 10.0;10.0;10.0;80.0 Relation 1830 790 70 90 lt=-> 10.0;10.0;50.0;10.0;50.0;70.0 Relation 1710 810 30 150 lt=<<<- 10.0;130.0;10.0;10.0 Relation 1830 890 70 90 lt=<<<- 10.0;70.0;50.0;70.0;50.0;10.0 Relation 1710 970 30 110 lt=-> 10.0;10.0;10.0;90.0 Relation 1480 790 180 170 lt=<<<- error changing user 10.0;150.0;10.0;10.0;130.0;10.0 Relation 1480 970 150 130 lt=-> 10.0;10.0;10.0;110.0;130.0;110.0 UMLSpecialState 2410 1220 40 40 type=flow_final UMLState 2320 1120 230 40 free_query Relation 2350 1060 30 80 lt=<<<- 10.0;60.0;10.0;10.0 Relation 2420 1150 30 90 lt=<<<- 10.0;70.0;10.0;10.0 UMLSpecialState 1700 1150 40 40 type=flow_final UMLState 1610 1060 230 40 free_query Relation 1710 1090 30 80 lt=<<<- 10.0;60.0;10.0;10.0 UMLSpecialState 970 370 40 40 type=initial Relation 1000 380 170 100 lt=-> 10.0;10.0;150.0;10.0;150.0;80.0 Relation 980 400 30 180 lt=-> 10.0;10.0;10.0;160.0 UMLSpecialState 970 940 40 40 type=flow_final UMLState 880 850 230 40 free_query Relation 980 880 30 80 lt=<<<- 10.0;60.0;10.0;10.0 Relation 1100 690 70 90 lt=<<<- 10.0;70.0;50.0;70.0;50.0;10.0 Relation 1060 490 110 90 lt=-> 90.0;10.0;90.0;40.0;10.0;40.0;10.0;70.0 Relation 1060 590 110 90 lt=-> 10.0;10.0;10.0;40.0;90.0;40.0;90.0;70.0 Relation 980 770 30 100 lt=-> 10.0;10.0;10.0;80.0 Relation 980 590 30 170 lt=<<<- 10.0;150.0;10.0;10.0 Relation 2130 570 210 390 lt=<<<- <access denied> <cluster offline> fg=blue 10.0;370.0;10.0;10.0;190.0;10.0 Relation 1420 570 210 390 lt=<<<- <access denied> <cluster offline> <use does not exist> 10.0;370.0;10.0;10.0;190.0;10.0 UMLSpecialState 420 370 40 40 type=initial Relation 450 380 170 100 lt=-> 10.0;10.0;150.0;10.0;150.0;80.0 Relation 430 400 30 180 lt=-> 10.0;10.0;10.0;160.0 UMLSpecialState 420 940 40 40 type=flow_final UMLState 330 850 230 40 free_query Relation 430 880 30 80 lt=<<<- 10.0;60.0;10.0;10.0 Relation 550 690 70 90 lt=<<<- 10.0;70.0;50.0;70.0;50.0;10.0 Relation 510 490 110 90 lt=-> 90.0;10.0;90.0;40.0;10.0;40.0;10.0;70.0 Relation 510 590 110 90 lt=-> 10.0;10.0;10.0;40.0;90.0;40.0;90.0;70.0 Relation 430 770 30 100 lt=-> 10.0;10.0;10.0;80.0 Relation 430 590 30 170 lt=<<<- 10.0;150.0;10.0;10.0 Relation 170 770 180 120 lt=-> 10.0;10.0;10.0;100.0;160.0;100.0 Relation 170 570 180 190 lt=<<<- access denied 10.0;170.0;10.0;10.0;160.0;10.0 UMLNote 50 0 670 240 These diagrams are describing how queries are parsed. Each diagram starts with an initial state where the start time is already set and time-expressions are already parsed and translated to positive integer values. All enter and exit functions can be found in "siri/parser/listener.c" When we talk about the "master" server we are actually talking about the server who received the query. This server has the "master" role for processing the query. fontsize=16 bg=gray UMLSpecialState 430 1940 40 40 type=initial group=1 Relation 460 1950 170 100 lt=-> group=1 10.0;10.0;150.0;10.0;150.0;80.0 Relation 440 1970 30 180 lt=-> group=1 10.0;10.0;10.0;160.0 Relation 560 2060 70 110 lt=-> group=1 50.0;10.0;50.0;90.0;10.0;90.0 Relation 520 2160 30 250 lt=-> 10.0;10.0;10.0;230.0 UMLNote 200 290 400 70 show statement -- This statement will be answered by the master only. bg=light_gray UMLNote 810 290 400 70 calculator (for time) statement -- This statement will be answered by the master only. bg=light_gray UMLNote 1480 290 400 70 alter user statement -- Can be used to change a users password. All servers must process this query. bg=light_gray UMLNote 2190 290 400 70 create user statement -- Can be used to change a users password. All servers must process this query. bg=light_gray UMLNote 820 2280 280 80 Probably we can align query_xxx_t and create xxx functions which can be used by all statements. bg=blue Relation 680 2350 220 60 lt=.. 200.0;10.0;10.0;40.0 Relation 2130 970 210 190 lt=-> fg=blue 10.0;10.0;10.0;170.0;190.0;170.0 Relation 520 2420 30 90 lt=-> 10.0;10.0;10.0;70.0 Relation 470 2160 30 350 lt=-> 10.0;10.0;10.0;330.0 Relation 1720 380 180 100 lt=-> 10.0;10.0;160.0;10.0;160.0;80.0 Relation 1790 490 110 90 lt=-> 90.0;10.0;90.0;40.0;10.0;40.0;10.0;70.0 Relation 420 2160 30 450 lt=-> 10.0;10.0;10.0;430.0 Relation 470 2520 30 90 lt=-> 10.0;10.0;10.0;70.0 Relation 620 2420 100 210 lt=-> 80.0;10.0;80.0;190.0;10.0;190.0 Relation 370 2160 30 550 lt=-> 10.0;10.0;10.0;530.0 Relation 560 2420 170 310 lt=-> 150.0;10.0;150.0;290.0;10.0;290.0 Relation 470 2520 200 190 lt=-> 180.0;10.0;180.0;140.0;10.0;140.0;10.0;170.0 Relation 420 2620 30 90 lt=-> 10.0;10.0;10.0;70.0 Relation 560 2800 70 90 lt=<<<- 10.0;70.0;50.0;70.0;50.0;10.0 UMLState 340 2940 230 40 query_list_free Relation 440 2880 30 80 lt=-> 10.0;10.0;10.0;60.0 Relation 210 2880 150 100 lt=-> 10.0;10.0;10.0;80.0;130.0;80.0 UMLSpecialState 430 3130 40 40 type=flow_final UMLState 340 3030 230 40 free_query Relation 440 2970 30 80 lt=<<<- 10.0;60.0;10.0;10.0 Relation 440 3060 30 90 lt=<<<- 10.0;70.0;10.0;10.0 Relation 150 2880 210 190 lt=-> fg=blue 10.0;10.0;10.0;170.0;190.0;170.0 Relation 520 2720 110 70 lt=-> 10.0;10.0;10.0;30.0;90.0;30.0;90.0;50.0 Relation 440 2720 30 150 lt=<<<- 10.0;130.0;10.0;10.0 Relation 150 2140 210 730 lt=<<<- <access denied> fg=blue 10.0;710.0;10.0;10.0;190.0;10.0 Relation 210 2500 260 370 lt=<<<- 10.0;350.0;10.0;10.0;240.0;10.0 Relation 230 2600 190 270 lt=<<<- 10.0;250.0;10.0;10.0;170.0;10.0 UMLNote 210 1860 400 70 list users statement -- This statement will be answered by the master only. bg=light_gray UMLState 340 2850 230 40 siridb_send_query_result UMLState 500 2770 230 40 exit_timeit_stmt UMLState 2480 860 230 40 exit_timeit_stmt UMLState 1770 860 230 40 exit_timeit_stmt UMLState 1040 660 230 40 exit_timeit_stmt UMLState 490 660 230 40 exit_timeit_stmt UMLState 2320 940 230 40 siridb_send_query_result UMLState 1610 940 230 40 siridb_send_query_result UMLState 880 740 230 40 siridb_send_query_result UMLState 330 740 230 40 siridb_send_query_result UMLState 80 2850 230 40 siridb_query_send_error UMLState 2060 940 230 40 siridb_query_send_error UMLState 1350 940 230 40 siridb_query_send_error UMLState 70 740 230 40 siridb_query_send_error UMLState 340 2690 230 40 exit_list_users_stmt UMLState 400 2590 230 40 enter_limit_expr bg=orange UMLState 450 2490 230 40 enter_where_user_stmt bg=orange UMLState 500 2390 230 40 enter_user_columns UMLState 340 2130 230 40 enter_list_stmt UMLState 500 2030 230 40 enter_timeit_stmt group=1 UMLState 2480 460 230 40 enter_timeit_stmt UMLState 1770 460 230 40 enter_timeit_stmt UMLState 1040 460 230 40 enter_timeit_stmt UMLState 490 460 230 40 enter_timeit_stmt UMLState 2320 560 230 40 enter_create_user_stmt UMLState 2320 670 230 40 enter_set_password_expr UMLState 2320 780 230 40 exit_create_user_stmt UMLState 1610 560 230 40 enter_alter_user_stmt UMLState 1610 780 230 40 exit_alter_user_stmt UMLState 1610 670 230 40 enter_set_password_expr UMLState 880 560 230 40 exit_calc_stmt UMLState 330 560 230 40 exit_show_stmt Relation 670 2350 340 180 lt=.. 320.0;10.0;100.0;130.0;10.0;160.0 UMLState 3330 560 230 40 enter_grant_stmt UMLSpecialState 3420 370 40 40 type=initial Relation 3450 380 170 100 lt=-> 10.0;10.0;150.0;10.0;150.0;80.0 Relation 3430 400 30 180 lt=-> 10.0;10.0;10.0;160.0 Relation 3550 490 70 110 lt=-> 50.0;10.0;50.0;90.0;10.0;90.0 UMLState 3490 460 230 40 enter_timeit_stmt UMLNote 3190 290 410 70 grant statement -- Can be used to grant access rights to a user or network. All servers must process this query. bg=light_gray UMLNote 2100 450 270 60 bind new "user_object" to query when successful. bg=yellow Relation 2210 500 170 80 lt=.. 10.0;10.0;150.0;60.0 UMLNote 140 2020 270 60 binds "query_list_t" to query when successful. (must be destroyed) bg=yellow Relation 250 2070 170 80 lt=.. 10.0;10.0;150.0;60.0 Relation 1500 500 170 80 lt=.. 10.0;10.0;150.0;60.0 Relation 3430 590 30 90 lt=-> 10.0;10.0;10.0;70.0 UMLState 3090 950 230 40 enter_set_password_expr UMLState 3160 1060 230 40 exit_grant_user_stmt Relation 3210 980 30 100 lt=-> 10.0;10.0;10.0;80.0 Relation 3430 690 30 80 lt=- 10.0;60.0;10.0;10.0 UMLSpecialState 3420 750 40 40 type=decision Relation 3260 750 180 110 lt=-> grant user 160.0;20.0;10.0;20.0;10.0;90.0 Relation 3450 750 180 110 lt=-> grant network 10.0;20.0;160.0;20.0;160.0;90.0 UMLState 3330 660 230 40 enter_access_expr Relation 3300 630 80 50 lt=.. 10.0;10.0;60.0;30.0 UMLNote 3110 620 200 40 bind children to query bg=yellow UMLState 3160 840 230 40 enter_grant_user_stmt Relation 3120 780 120 80 lt=.. 10.0;10.0;100.0;60.0 UMLNote 3010 730 240 60 replace query->children with existing "user_object" bg=yellow Relation 3210 870 30 100 lt=-> 10.0;10.0;10.0;80.0 Relation 3350 870 30 210 lt=-> 10.0;10.0;10.0;190.0 UMLState 3580 950 230 40 enter_set_comment_expr bg=orange UMLState 3490 1060 230 40 exit_grant_network_stmt bg=orange Relation 3650 980 30 100 lt=-> 10.0;10.0;10.0;80.0 UMLState 3490 840 230 40 enter_grant_network_stmt bg=orange Relation 3650 870 30 100 lt=-> 10.0;10.0;10.0;80.0 Relation 3540 870 30 210 lt=-> 10.0;10.0;10.0;190.0 UMLNote 3630 730 250 60 replace query->children with existing "network_object" bg=yellow Relation 3670 780 100 80 lt=.. 80.0;10.0;10.0;60.0 UMLState 3330 1170 230 40 exit_timeit_stmt Relation 3350 1090 30 100 lt=-> 10.0;10.0;10.0;80.0 Relation 3510 1090 30 100 lt=-> 10.0;10.0;10.0;80.0 Relation 3430 1200 30 80 lt=<<<- 10.0;60.0;10.0;10.0 Relation 3090 1300 260 90 lt=-> 10.0;10.0;10.0;70.0;240.0;70.0 UMLSpecialState 3420 1430 40 40 type=flow_final UMLState 3330 1350 230 40 free_query Relation 3430 1380 30 70 lt=<<<- 10.0;50.0;10.0;10.0 UMLState 3330 1260 230 40 siridb_send_query_result UMLState 2910 1270 230 40 siridb_query_send_error Relation 3210 1090 140 210 lt=<<<- 120.0;190.0;10.0;190.0;10.0;10.0 Relation 3550 1090 80 210 lt=<<<- 10.0;190.0;60.0;190.0;60.0;10.0 Relation 3430 1290 30 80 lt=<- 10.0;60.0;10.0;10.0 Relation 2960 570 390 720 lt=<<<- <access denied> <cluster offline> 10.0;700.0;10.0;10.0;370.0;10.0 Relation 3050 960 130 330 lt=<<<- <illegal new password> 10.0;310.0;10.0;10.0;40.0;10.0 Relation 3010 850 170 440 lt=<<<- <user does not exist> 10.0;420.0;10.0;10.0;150.0;10.0 UMLNote 1390 450 270 60 bind existing "user_object" to query when successful. bg=yellow Relation 2960 850 940 740 lt=<<<- <network does not exist> 10.0;460.0;10.0;720.0;920.0;720.0;920.0;10.0;760.0;10.0 Relation 2240 790 180 170 lt=<<<- <error saving users> 10.0;150.0;10.0;10.0;80.0;10.0 Relation 3090 1070 130 220 lt=<<<- <error saving users> 10.0;200.0;10.0;10.0;70.0;10.0 Relation 3010 960 860 600 lt=<<<- <illegal comment> 10.0;350.0;10.0;580.0;840.0;580.0;840.0;10.0;800.0;10.0 UMLState 4580 560 230 40 enter_revoke_stmt UMLSpecialState 4670 370 40 40 type=initial Relation 4700 380 170 100 lt=-> 10.0;10.0;150.0;10.0;150.0;80.0 Relation 4680 400 30 180 lt=-> 10.0;10.0;10.0;160.0 Relation 4800 490 70 110 lt=-> 50.0;10.0;50.0;90.0;10.0;90.0 UMLState 4740 460 230 40 enter_timeit_stmt UMLNote 4440 290 410 70 revoke statement -- Can be used to grant access rights to a user or network. All servers must process this query. bg=light_gray Relation 4680 590 30 90 lt=-> 10.0;10.0;10.0;70.0 UMLState 4410 940 230 40 exit_revoke_user_stmt Relation 4680 690 30 80 lt=- 10.0;60.0;10.0;10.0 UMLSpecialState 4670 750 40 40 type=decision Relation 4510 750 180 110 lt=-> grant user 160.0;20.0;10.0;20.0;10.0;90.0 Relation 4700 750 180 110 lt=-> grant network 10.0;20.0;160.0;20.0;160.0;90.0 UMLState 4580 660 230 40 enter_access_expr Relation 4550 630 80 50 lt=.. 10.0;10.0;60.0;30.0 UMLNote 4340 620 220 40 bind children to query bg=yellow UMLState 4410 840 230 40 enter_revoke_user_stmt Relation 4350 780 140 80 lt=.. 10.0;10.0;120.0;60.0 UMLNote 4240 730 270 60 replace query->children with existing "user_object" bg=yellow Relation 4510 870 30 90 lt=-> 10.0;10.0;10.0;70.0 UMLState 4740 940 230 40 exit_revoke network_stmt bg=orange UMLState 4740 840 230 40 enter_revoke_network_stmt bg=orange Relation 4850 870 30 90 lt=-> 10.0;10.0;10.0;70.0 UMLNote 4870 730 270 60 replace query->children with existing "network_object" bg=yellow Relation 4920 780 90 80 lt=.. 70.0;10.0;10.0;60.0 UMLState 4580 1050 230 40 exit_timeit_stmt Relation 4600 970 30 100 lt=-> 10.0;10.0;10.0;80.0 Relation 4760 970 30 100 lt=-> 10.0;10.0;10.0;80.0 Relation 4680 1080 30 80 lt=<<<- 10.0;60.0;10.0;10.0 Relation 4340 1180 260 90 lt=-> 10.0;10.0;10.0;70.0;240.0;70.0 UMLSpecialState 4670 1320 40 40 type=flow_final UMLState 4580 1230 230 40 free_query Relation 4680 1260 30 80 lt=<<<- 10.0;60.0;10.0;10.0 UMLState 4580 1140 230 40 siridb_send_query_result UMLState 4160 1150 230 40 siridb_query_send_error Relation 4460 970 140 210 lt=<<<- 120.0;190.0;10.0;190.0;10.0;10.0 Relation 4800 970 80 210 lt=<<<- 10.0;190.0;60.0;190.0;60.0;10.0 Relation 4680 1170 30 80 lt=<- 10.0;60.0;10.0;10.0 Relation 4210 570 390 600 lt=<<<- <access denied> <cluster offline> 10.0;580.0;10.0;10.0;370.0;10.0 Relation 4260 850 170 320 lt=<<<- <user does not exist> 10.0;300.0;10.0;10.0;150.0;10.0 Relation 4210 850 940 600 lt=<<<- <network does not exist> 10.0;340.0;10.0;580.0;920.0;580.0;920.0;10.0;760.0;10.0 Relation 4340 950 130 220 lt=<<<- <error saving users> 10.0;200.0;10.0;10.0;70.0;10.0 Relation 3050 1070 790 460 lt=<<<- <error saving networks> 10.0;240.0;10.0;440.0;770.0;440.0;770.0;10.0;670.0;10.0 Relation 4260 950 830 470 lt=<<<- <error saving networks> 10.0;240.0;10.0;450.0;810.0;450.0;810.0;10.0;710.0;10.0 UMLNote 2560 720 150 50 reset free call when successful. bg=yellow Relation 2520 760 100 40 lt=.. 80.0;10.0;10.0;20.0 Relation 380 3380 170 100 lt=-> group=2 10.0;10.0;150.0;10.0;150.0;80.0 Relation 360 3400 30 180 lt=-> group=2 10.0;10.0;10.0;160.0 Relation 480 3490 70 110 lt=-> group=2 50.0;10.0;50.0;90.0;10.0;90.0 UMLState 420 3460 230 40 enter_timeit_stmt group=2 UMLSpecialState 350 3370 40 40 type=initial group=2 Relation 390 3590 30 90 lt=-> 10.0;10.0;10.0;70.0 Relation 390 3690 30 90 lt=-> 10.0;10.0;10.0;70.0 Relation 290 3590 30 190 lt=-> 10.0;10.0;10.0;170.0 Relation 480 3870 70 90 lt=<<<- 10.0;70.0;50.0;70.0;50.0;10.0 UMLState 260 4010 230 40 query_count_free Relation 360 3950 30 80 lt=-> 10.0;10.0;10.0;60.0 Relation 130 3950 150 100 lt=-> 10.0;10.0;10.0;80.0;130.0;80.0 UMLSpecialState 350 4200 40 40 type=flow_final UMLState 260 4100 230 40 free_query Relation 360 4040 30 80 lt=<<<- 10.0;60.0;10.0;10.0 Relation 360 4130 30 90 lt=<<<- 10.0;70.0;10.0;10.0 Relation 70 3950 210 190 lt=-> fg=blue 10.0;10.0;10.0;170.0;190.0;170.0 Relation 440 3790 110 70 lt=-> 10.0;10.0;10.0;30.0;90.0;30.0;90.0;50.0 Relation 360 3790 30 150 lt=<<<- 10.0;130.0;10.0;10.0 Relation 70 3570 210 370 lt=<<<- <access denied> fg=blue 10.0;350.0;10.0;10.0;190.0;10.0 UMLNote 130 3290 400 70 count users statement -- This statement will be answered by the master only. bg=light_gray UMLState 260 3920 230 40 siridb_send_query_result UMLState 420 3840 230 40 exit_timeit_stmt UMLState 0 3920 230 40 siridb_query_send_error UMLState 260 3760 230 40 exit_count_users_stmt bg=orange UMLState 370 3660 230 40 enter_where_xxx_stmt bg=orange UMLState 260 3560 230 40 enter_count_stmt UMLNote 60 3450 270 60 binds "query_count_t" to query when successful. (must be destroyed) bg=yellow Relation 170 3500 170 80 lt=.. 10.0;10.0;150.0;60.0 Relation 130 3770 150 170 lt=<<<- 10.0;150.0;10.0;10.0;130.0;10.0 siridb-server-2.0.26/docs/uml/siridb_class_diagram.uxf000066400000000000000000000643711322265336500230010ustar00rootroot00000000000000 // Uncomment the following line to change the fontsize and font: fontsize=13 fontfamily=Monospaced //possible: SansSerif,Serif, ////////////////////////////////////////////////////////////////////////////////////////////// // Welcome to UMLet! // // Double-click on elements to add them to the diagram, or to copy them // Edit elements by modifying the text in this panel // Hold Ctrl to select multiple elements // Use Ctrl+mouse to select via lasso // // Use +/- or Ctrl+mouse wheel to zoom // Drag a whole relation at its central square icon // // Press Ctrl+C to copy the whole diagram to the system clipboard (then just paste it to, eg, Word) // Edit the files in the "palettes" directory to create your own element palettes // // Select "Custom Elements > New..." to create new element types ////////////////////////////////////////////////////////////////////////////////////////////// // This text will be stored with each diagram; use it for notes. 8 UMLClass 448 712 200 216 siri_t -- args: *siri_args_t backup: *uv_timer_t cfg: *siri_cfg_t fh: *siri_fh_t grammar: *cleri_grammar_t heartbeat: *uv_timer_t loop: * uv_loop_t optimize: *siri_optimize_t siridb_list: *llist_t siridb_mutex: uv_mutex_t startup_time: uint32_t status: siri_status_t -- siri_start(): int siri_free(): void siri_setup_logger(): void UMLClass 752 712 224 632 siridb_t -- active_tasks: uint16_t buffer_fp: *FILE buffer_len: size_t buffer_path: * char buffer_size: size_t dbname: * char dbpath: * char drop_threshold: double dropped_fp: *FILE duration_log: uint64_t duration_num: uint64_t fifo: *siridb_fifo_t flags: uint8_t groups: *siridb_groups_t index_size: size_t insert_tasks: uint16_t max_series_id: uint32_t pools: *siridb_pools_t received_points: size_t ref: uint16_t reindex: *siridb_reindex_t replica: * siridb_server_t replicate: *siridb_replicate_t series: *ct_t series_map: *imap_t series_mutex: uv_mutex_t server: * siridb_server_t servers: *llist_t shard_mask_log: uint16_t shard_mask_num: uint16_t shards: *imap_t shards_mutex: uv_mutex_t start_ts: time_t store: *qp_fpacker_t time: * siridb_time_t tz: iso8601_tz_t users: *llist_t uuid: uuid_t -- siridb__free(): void siridb_decref(): void siridb_decref_cb(): void siridb_from_unpacker(): int siridb_get(): *siridb_t siridb_incref(): void siridb_is_db_path(): int siridb_is_reindexing(): int siridb_new(): *siridb_t siridb_open_files(): int siridb_save(): int Relation 640 816 128 32 lt=<<<<<- m1=1 m2=0..* 10.0;10.0;140.0;10.0 UMLClass 1048 712 296 192 lt=. servers -- siridb_servers_available(): int siridb_servers_by_name(): *siridb_server_t siridb_servers_by_uuid(): *siridb_server_t siridb_servers_free(): void siridb_servers_get_file(): ssize_t siridb_servers_list(): int siridb_servers_load(): int siridb_servers_online(): int siridb_servers_other2slist(): *slist_t siridb_servers_register(): int siridb_servers_save(): int siridb_servers_send_flags(): void siridb_servers_send_pkg(): void UMLClass 1432 408 288 560 server_t -- address: *char buffer_path: *char buffer_size: size_t dbpath: *char flags: uint8_t id: uint8_t ip_support: uint8_t libuv: *char name: *char pid: uint16_t pool: uint16_t port: uint16_t promises: *imap_t ref: uint16_t socket: *uv_tcp_t startup_time: uint32_t uuid: uuid_t version: *char -- siridb__server_free(): void siridb_server_cexpr_cb(): int siridb_server_cmp(): int siridb_server_connect(): void siridb_server_decref(): void siridb_server_drop(): int siridb_server_from_node(): *siridb_server_t siridb_server_incref(): void siridb_server_is_accessible(): int siridb_server_is_available(): int siridb_server_is_connected(): int siridb_server_is_online(): int siridb_server_is_remote_prop(): int siridb_server_is_synchronizing(): int siridb_server_new(): *siridb_server_t siridb_server_register(): *siridb_server_t siridb_server_self_accessible(): int siridb_server_self_available(): int siridb_server_self_online(): int siridb_server_self_synchronizing(): int siridb_server_send_flags(): void siridb_server_send_pkg(): int siridb_server_str_status(): *char siridb_server_update_address(): int siridb_server_update_flags(): void Relation 968 920 480 32 lt=<<<<<- m1=1 m2=1..* 10.0;10.0;580.0;10.0 Relation 968 800 96 24 lt=. 10.0;10.0;100.0;10.0 Relation 1336 800 112 24 lt=. 120.0;10.0;10.0;10.0 UMLClass 504 544 200 88 iso8601_tz_t -- tz: iso8601_tz_t -- iso8601_tz(): iso8601_tz_t iso8601_tzname(): const *char iso8601_parse_date(): int64_t UMLClass 448 992 200 112 siri_fh_t -- size: uint16_t idx: uint16_t fpointers: **siri_fp_t -- siri_fh_new(): *siri_fh_t siri_fh_free(): void siri_fopen(): int UMLClass 448 1176 200 88 siri_fp_t -- fp: *FILE ref: uint8_t -- siri_fp_new(): *siri_fp_t siri_fp_decref(): void Relation 536 920 24 88 lt=<<<<<- m1=1 m2=1 10.0;10.0;10.0;90.0 Relation 536 1096 64 96 lt=<<<<<- m1=1 m2=0..size 10.0;10.0;10.0;100.0 UMLClass 736 1528 288 352 siridb_shard_t -- flags: uint8_t fn: *char fp: *siri_fp_t id: uint64_t max_chunk_sz: uint16_t ref: uint32_t replacing: *siridb_shard_t tp: uint8_t -- siridb__shard_decref(): void siridb__shard_free(): void siridb_shard_cexpr_cb(): int siridb_shard_create(): *siridb_shard_t siridb_shard_decref(): void siridb_shard_drop(): void siridb_shard_get_points_log32(): int siridb_shard_get_points_log64(): int siridb_shard_get_points_num32(): int siridb_shard_get_points_num64(): int siridb_shard_get_size(): ssize_t siridb_shard_incref(): void siridb_shard_load(): int siridb_shard_optimize(): int siridb_shard_remove(): int siridb_shard_status(): void siridb_shard_write_flags(): int siridb_shard_write_points(): long int UMLClass 784 1408 256 56 lt=. shards -- siridb_shards_add_points(): int siridb_shards_load(): int Relation 872 1336 24 88 lt=. 10.0;10.0;10.0;90.0 Relation 872 1456 24 88 lt=. 10.0;10.0;10.0;90.0 Relation 760 1336 48 208 lt=<<<<<- m1=1 m2=0..* 10.0;10.0;10.0;240.0 Relation 640 1024 112 584 lt=<- 10.0;10.0;90.0;10.0;90.0;710.0;120.0;710.0 Relation 536 1256 216 440 lt=<<<<- m1=1 m2=1 250.0;520.0;10.0;520.0;10.0;10.0 UMLClass 1104 1048 296 488 siridb_series_t -- buffer: *siridb_buffer_t end: uint64_t flags: uint8_t id: uint32_t idx: *idx_t idx_len: uint32_t length: uint32_t mask: uint16_t name: *char name_len: uint16_t pool: uint16_t ref: uint32_t start: uint64_t tp: uint8_t -- siridb__series_decref(): void siridb__series_free(): void siridb_series_add_idx(): int siridb_series_add_pcache(): int siridb_series_add_point(): int siridb_series_cexpr_cb(): int siridb_series_decref(): void siridb_series_drop(): int siridb_series_drop_commit(): int siridb_series_drop_prepare(): void siridb_series_flush_dropped(): int siridb_series_get_points(): *siridb_points_t siridb_series_incref(): void siridb_series_isnum(): int siridb_series_load(): int siridb_series_new(): *siridb_series_t siridb_series_open_store(): int siridb_series_optimize_shard(): int siridb_series_remove_shard(): void siridb_series_replicate_file(): int siridb_series_server_id(): int siridb_series_server_id_by_name(): uint8_t siridb_series_update_props(): void Relation 968 1096 152 32 lt=<<<<<- m1=1 m2=0..* 10.0;10.0;170.0;10.0 UMLClass 1104 1608 296 128 idx_t -- end_ts: uint64_t len: uint16_t log_sz: uint16_t pos: uint32_t shard: *siridb_shard_t start_ts: uint64_t -- /functions can be found in/ /siridb_series_t class/ Relation 1248 1528 56 96 lt=<<<<<- m1=1 m2=0..len 10.0;10.0;10.0;100.0 Relation 1016 1664 104 32 lt=<<<<- m1=0..* m2=1 110.0;10.0;10.0;10.0 UMLClass 1464 992 256 280 siridb_groups_t -- flags: uint8_t fn: *char groups: *ct_t mutex: uv_mutex_t ngroups: *slist_t nseries: *slist_t ref: uint8_t status: uint8_t work: uv_work_t -- siridb_groups_add_group(): int siridb_groups_add_series(): void siridb_groups_decref(): void siridb_groups_destroy(): void siridb_groups_drop_group(): int siridb_groups_get_file(): ssize_t siridb_groups_init_nseries(): void siridb_groups_new(): *siridb_groups_t siridb_groups_pkg(): *sirinet_pkg_t siridb_groups_save(): int siridb_groups_start(): void Relation 968 1016 512 32 lt=<<<<<- m1=1 m2=1 10.0;10.0;620.0;10.0 UMLClass 1464 1352 256 280 siridb_group_t -- flags: uint16_t n: uint32_t name: *char ref: uint16_t regex: *pcre regex_extra: *pcre_extra series: *slist_t source: *char -- siridb__group_decref(): void siridb__group_free(): void siridb_group_cexpr_cb(): int siridb_group_cleanup(): void siridb_group_decref(): void siridb_group_incref(): void siridb_group_is_remote_prop(): int siridb_group_new(): *siridb_group_t siridb_group_prop(): void siridb_group_set_name(): int siridb_group_test_series(): int siridb_group_update_expression(): int Relation 1576 1264 48 104 lt=<<<<<- m1=1 m2=0..* 10.0;10.0;10.0;110.0 Relation 1392 1304 168 64 lt=<<<<- m1=0..* m2=0..* 160.0;60.0;160.0;10.0;10.0;10.0 UMLClass 120 712 200 144 cfg_t -- default_db_path[]: char heartbeat_interval: uint16_t ip_support: uint8_t listen_backend_port: uint16_t listen_client_port: uint16_t max_open_files: uint16_t optimize_interval: uint32_t server_address[]: char -- siri_cfg_init(): void Relation 312 760 152 40 lt=-() m2=cfg file 170.0;20.0;10.0;20.0 Relation 600 624 184 104 lt=-() m2=tz translation 210.0;110.0;210.0;60.0;10.0;60.0;10.0;10.0 UMLClass 1096 456 248 216 siridb_fifo_t -- path: *char fifos: *llist_t in: *siridb_ffile_t out: *siridb_ffile_t max_id: ssize_t -- siridb_fifo_append(): int siridb_fifo_close(): int siridb_fifo_commit(): int siridb_fifo_commit_err(): int siridb_fifo_free(): void siridb_fifo_has_data(): uint32_t siridb_fifo_is_open(): int siridb_fifo_new(): *siridb_fifo_t siridb_fifo_open(): int siridb_fifo_pop(): *sirinet_pkg_t Relation 944 640 168 88 lt=<<<<<- m1=1 m2=0..1 10.0;90.0;10.0;10.0;190.0;10.0 UMLClass 120 920 200 96 args_t -- config[]: char log_colorized: int32_t log_level[]: char version: int32_t -- siri_args_parse(): void Relation 208 848 56 88 lt=<. config 10.0;10.0;10.0;90.0 Relation 312 856 152 128 lt=-() m2=startup arguments 170.0;10.0;90.0;10.0;90.0;130.0;10.0;130.0 UMLClass 1808 832 280 192 siridb_pools_t -- len: uint16_t pool: *siridb_pool_t lookup: *siridb_lookup_t prev_lookup: *siridb_lookup_t -- siridb_pools_accessible(): int siridb_pools_append(): *siridb_pool_t siridb_pools_available(): int siridb_pools_free(): void siridb_pools_gen_lookup(): *siridb_lookup_t siridb_pools_init(): void siridb_pools_online(): int siridb_pools_send_pkg(): void siridb_pools_send_pkg_2some(): void Relation 968 968 856 32 lt=<<<<<- m1=1 m2=1 10.0;10.0;1050.0;10.0 UMLClass 1808 576 280 192 siridb_pool_t -- len: uint16_t server[2]: *siridb_server_t -- siridb_pool_accessible(): int siridb_pool_add_server(): void siridb_pool_available(): int siridb_pool_cexpr_cb(): int siridb_pool_online(): int siridb_pool_send_pkg(): int Relation 1944 760 48 88 lt=<<<<<- m1=1 m2=1..* 10.0;90.0;10.0;10.0 Relation 1712 664 112 32 lt=<<<<- m1=1 m2=1..len 120.0;10.0;10.0;10.0 UMLClass 1096 160 248 216 siridb_ffile_t -- fd: int fn: *char fp: *FILE free_space: uint32_t id: uint64_t next_size: uint32_t size: long int -- siridb_ffile_append(): siridb_ffile_result_t siridb_ffile_check_fn(): int siridb_ffile_free(): void siridb_ffile_new(): *siridb_ffile_t siridb_ffile_open(): void siridb_ffile_pop(): *sirinet_pkg_t siridb_ffile_pop_commit(): int siridb_ffile_unlink(): void Relation 1224 368 48 104 lt=<<<<<- m1=1 m2=1..* 10.0;110.0;10.0;10.0 UMLClass 808 456 256 120 lt=. users -- siridb_users_add_user(): int siridb_users_drop_user(): int siridb_users_free(): void siridb_users_get_file(): ssize_t siridb_users_get_user(): *siridb_user_t siridb_users_load(): int siridb_users_save(): *int UMLClass 744 184 232 192 siridb_user_t -- ref: uint16_t access_bit: uint32_t name: *char password: *char -- siridb_user_new(): *siridb_user_t siridb_user_prop(): void siridb_user_set_name(): int siridb_user_set_password(): int siridb_user_check_access(): int siridb__user_free(): void siridb_user_cexpr_cb(): int siridb_user_incref(): void siridb_user_decref(): void Relation 776 368 48 360 lt=<<<<<- m1=1 m2=0..* 10.0;430.0;10.0;10.0 Relation 856 568 24 160 lt=. 10.0;180.0;10.0;10.0 Relation 856 368 24 104 lt=. 10.0;110.0;10.0;10.0 UMLClass 1432 104 288 232 sirinet_socket_t -- buf: *char len: size_t on_data: on_data_cb_t origin: *void ref: uint32_t siridb: *siridb_t tcp: uv_tcp_t tp: sirinet_socket_tp_t -- sirinet__socket_free(): void sirinet_addr_and_port(): int sirinet_socket_alloc_buffer(): void sirinet_socket_decref(): void sirinet_socket_incref(): void sirinet_socket_ip_support_str(): const *char sirinet_socket_new(): *uv_tcp_t sirinet_socket_on_data(): void Relation 1576 328 24 96 lt=<<<<->>>> m2=1 10.0;100.0;10.0;10.0 Relation 968 128 480 128 lt=<<<<- m1=0..origin m2=0..* 10.0;130.0;90.0;130.0;90.0;10.0;580.0;10.0 UMLClass 120 544 200 88 lt=. clserver -- sirinet_clserver_init(): int -- /responsible for client / /connections and requests/ UMLClass 120 416 200 88 lt=. bserver -- sirinet_bserver_init(): int -- /responsible for server / /connections and requests/ Relation 312 32 1296 456 lt=<<<<<- m1=1 m2=1..* 10.0;540.0;90.0;540.0;90.0;10.0;1570.0;10.0;1570.0;90.0 Relation 312 48 1232 568 lt=<<<<<- m1=1 m2=1..* 10.0;680.0;110.0;680.0;110.0;10.0;1490.0;10.0;1490.0;70.0 Relation 72 584 64 192 lt=<. config 60.0;10.0;10.0;10.0;10.0;220.0;60.0;220.0 Relation 32 448 104 368 lt=<. config 110.0;10.0;10.0;10.0;10.0;440.0;110.0;440.0 Relation 312 608 200 120 lt=<<<<<- 230.0;130.0;230.0;90.0;40.0;90.0;40.0;10.0;10.0;10.0 Relation 312 480 216 248 lt=<<<<<- 250.0;290.0;250.0;230.0;60.0;230.0;60.0;10.0;10.0;10.0 siridb-server-2.0.26/docs/uml/siridb_parser.uxf000066400000000000000000000100341322265336500214670ustar00rootroot00000000000000 10 UMLSpecialState 810 60 40 40 type=initial UMLState 720 190 230 40 enter_alter_stmt Relation 820 90 30 120 lt=-> 10.0;10.0;10.0;100.0 UMLState 320 770 230 40 siridb_query_send_error Relation 410 200 330 590 lt=<<<- <no access> 10.0;570.0;10.0;10.0;310.0;10.0 UMLState 720 360 230 40 enter_alter_group UMLState 980 360 230 40 enter_alter_user UMLState 1240 360 230 40 enter_alter_server UMLState 1490 360 230 40 enter_alter_servers UMLState 1740 360 230 40 exit_set_drop_threshold UMLState 1990 360 230 40 exit_set_timezone UMLState 720 470 230 40 enter_set_expression UMLState 860 610 230 40 enter_set_name UMLState 970 1170 230 40 exit_timeit_stmt UMLNote 620 120 160 30 bind <q_alter> bg=yellow Relation 710 140 80 70 lt=.. 10.0;10.0;60.0;50.0 siridb-server-2.0.26/grammar/000077500000000000000000000000001322265336500160165ustar00rootroot00000000000000siridb-server-2.0.26/grammar/export_grammar.py000077500000000000000000000034051322265336500214240ustar00rootroot00000000000000#!/usr/bin/python3 '''Export python grammar to C grammar files Author: Jeroen van der Heijden (Transceptor Technology) Date: 2016-10-10 ''' import os import sys from grammar import siri_grammar if __name__ == '__main__': c_file, h_file = siri_grammar.export_c(target='siri/grammar/grammar') EXPOTR_PATH = 'cgrammar' try: os.makedirs(EXPOTR_PATH) except FileExistsError: pass with open(os.path.join(EXPOTR_PATH, 'grammar.c'), 'w', encoding='utf-8') as f: f.write(c_file) with open(os.path.join(EXPOTR_PATH, 'grammar.h'), 'w', encoding='utf-8') as f: f.write(h_file) print('\nFinished creating new c-grammar files...\n') js_file = siri_grammar.export_js() EXPOTR_PATH = 'jsgrammar' try: os.makedirs(EXPOTR_PATH) except FileExistsError: pass with open(os.path.join(EXPOTR_PATH, 'grammar.js'), 'w', encoding='utf-8') as f: f.write(js_file) print('\nFinished creating new js-grammar file...\n') py_file = siri_grammar.export_py() EXPOTR_PATH = 'pygrammar' try: os.makedirs(EXPOTR_PATH) except FileExistsError: pass with open(os.path.join(EXPOTR_PATH, 'grammar.py'), 'w', encoding='utf-8') as f: f.write(py_file) print('\nFinished creating new py-grammar file...\n') go_file = siri_grammar.export_go() EXPOTR_PATH = 'gogrammar' try: os.makedirs(EXPOTR_PATH) except FileExistsError: pass with open(os.path.join(EXPOTR_PATH, 'grammar.go'), 'w', encoding='utf-8') as f: f.write(go_file) print('\nFinished creating new go-grammar file...\n')siridb-server-2.0.26/grammar/gogrammar/000077500000000000000000000000001322265336500177725ustar00rootroot00000000000000siridb-server-2.0.26/grammar/gogrammar/grammar.go000066400000000000000000001124021322265336500217470ustar00rootroot00000000000000package grammar // This grammar is generated using the Grammar.export_go() method and // should be used with the goleri module. // // Source class: SiriGrammar // Created at: 2017-08-14 15:06:00 import ( "regexp" "github.com/transceptor-technology/goleri" ) // Element identifiers const ( NoGid = iota GidAccessExpr = iota GidAccessKeywords = iota GidAfterExpr = iota GidAggregateFunctions = iota GidAlterDatabase = iota GidAlterGroup = iota GidAlterServer = iota GidAlterServers = iota GidAlterStmt = iota GidAlterUser = iota GidBeforeExpr = iota GidBetweenExpr = iota GidBoolOperator = iota GidBoolean = iota GidCDifference = iota GidCalcStmt = iota GidCountGroups = iota GidCountPools = iota GidCountSeries = iota GidCountSeriesLength = iota GidCountServers = iota GidCountServersReceived = iota GidCountServersSelected = iota GidCountShards = iota GidCountShardsSize = iota GidCountStmt = iota GidCountUsers = iota GidCreateGroup = iota GidCreateStmt = iota GidCreateUser = iota GidDropGroup = iota GidDropSeries = iota GidDropServer = iota GidDropShards = iota GidDropStmt = iota GidDropUser = iota GidFCount = iota GidFDerivative = iota GidFDifference = iota GidFFilter = iota GidFLimit = iota GidFMax = iota GidFMean = iota GidFMedian = iota GidFMedianHigh = iota GidFMedianLow = iota GidFMin = iota GidFPoints = iota GidFPvariance = iota GidFSum = iota GidFVariance = iota GidGrantStmt = iota GidGrantUser = iota GidGroupColumns = iota GidGroupMatch = iota GidGroupName = iota GidHelp = iota GidHelpAccess = iota GidHelpAlter = iota GidHelpAlterDatabase = iota GidHelpAlterGroup = iota GidHelpAlterServer = iota GidHelpAlterServers = iota GidHelpAlterUser = iota GidHelpCount = iota GidHelpCountGroups = iota GidHelpCountPools = iota GidHelpCountSeries = iota GidHelpCountServers = iota GidHelpCountShards = iota GidHelpCountUsers = iota GidHelpCreate = iota GidHelpCreateGroup = iota GidHelpCreateUser = iota GidHelpDrop = iota GidHelpDropGroup = iota GidHelpDropSeries = iota GidHelpDropServer = iota GidHelpDropShards = iota GidHelpDropUser = iota GidHelpFunctions = iota GidHelpGrant = iota GidHelpList = iota GidHelpListGroups = iota GidHelpListPools = iota GidHelpListSeries = iota GidHelpListServers = iota GidHelpListShards = iota GidHelpListUsers = iota GidHelpNoaccess = iota GidHelpRevoke = iota GidHelpSelect = iota GidHelpShow = iota GidHelpTimeit = iota GidHelpTimezones = iota GidIntExpr = iota GidIntOperator = iota GidKAccess = iota GidKActiveHandles = iota GidKAddress = iota GidKAfter = iota GidKAlter = iota GidKAnd = iota GidKAs = iota GidKBackupMode = iota GidKBefore = iota GidKBetween = iota GidKBufferPath = iota GidKBufferSize = iota GidKCount = iota GidKCreate = iota GidKCritical = iota GidKDatabase = iota GidKDbname = iota GidKDbpath = iota GidKDebug = iota GidKDerivative = iota GidKDifference = iota GidKDrop = iota GidKDropThreshold = iota GidKDurationLog = iota GidKDurationNum = iota GidKEnd = iota GidKError = iota GidKExpression = iota GidKFalse = iota GidKFifoFiles = iota GidKFilter = iota GidKFloat = iota GidKFor = iota GidKFrom = iota GidKFull = iota GidKGrant = iota GidKGroup = iota GidKGroups = iota GidKHelp = iota GidKIgnoreThreshold = iota GidKInfo = iota GidKInsert = iota GidKInteger = iota GidKIntersection = iota GidKIpSupport = iota GidKLength = iota GidKLibuv = iota GidKLimit = iota GidKList = iota GidKListLimit = iota GidKLog = iota GidKLogLevel = iota GidKMax = iota GidKMaxOpenFiles = iota GidKMean = iota GidKMedian = iota GidKMedianHigh = iota GidKMedianLow = iota GidKMemUsage = iota GidKMerge = iota GidKMin = iota GidKModify = iota GidKName = iota GidKNow = iota GidKNumber = iota GidKOnline = iota GidKOpenFiles = iota GidKOr = iota GidKPassword = iota GidKPoints = iota GidKPool = iota GidKPools = iota GidKPort = iota GidKPrefix = iota GidKPvariance = iota GidKRead = iota GidKReceivedPoints = iota GidKReindexProgress = iota GidKRevoke = iota GidKSelect = iota GidKSelectPointsLimit = iota GidKSelectedPoints = iota GidKSeries = iota GidKServer = iota GidKServers = iota GidKSet = iota GidKShards = iota GidKShow = iota GidKSid = iota GidKSize = iota GidKStart = iota GidKStartupTime = iota GidKStatus = iota GidKString = iota GidKSuffix = iota GidKSum = iota GidKSymmetricDifference = iota GidKSyncProgress = iota GidKTimePrecision = iota GidKTimeit = iota GidKTimezone = iota GidKTo = iota GidKTrue = iota GidKType = iota GidKUnion = iota GidKUptime = iota GidKUser = iota GidKUsers = iota GidKUsing = iota GidKUuid = iota GidKVariance = iota GidKVersion = iota GidKWarning = iota GidKWhere = iota GidKWhoAmI = iota GidKWrite = iota GidLimitExpr = iota GidListGroups = iota GidListPools = iota GidListSeries = iota GidListServers = iota GidListShards = iota GidListStmt = iota GidListUsers = iota GidLogKeywords = iota GidMergeAs = iota GidPoolColumns = iota GidPoolProps = iota GidPrefixExpr = iota GidRComment = iota GidRDoubleqStr = iota GidRFloat = iota GidRGraveStr = iota GidRInteger = iota GidRRegex = iota GidRSingleqStr = iota GidRTimeStr = iota GidRUinteger = iota GidRUuidStr = iota GidRevokeStmt = iota GidRevokeUser = iota GidSTART = iota GidSelectAggregate = iota GidSelectStmt = iota GidSeriesColumns = iota GidSeriesMatch = iota GidSeriesName = iota GidSeriesRe = iota GidSeriesSep = iota GidServerColumns = iota GidSetAddress = iota GidSetBackupMode = iota GidSetDropThreshold = iota GidSetExpression = iota GidSetIgnoreThreshold = iota GidSetListLimit = iota GidSetLogLevel = iota GidSetName = iota GidSetPassword = iota GidSetPort = iota GidSetSelectPointsLimit = iota GidSetTimezone = iota GidShardColumns = iota GidShowStmt = iota GidStrOperator = iota GidString = iota GidSuffixExpr = iota GidTimeExpr = iota GidTimeitStmt = iota GidUserColumns = iota GidUuid = iota GidWhereGroup = iota GidWherePool = iota GidWhereSeries = iota GidWhereServer = iota GidWhereShard = iota GidWhereUser = iota ) // SiriGrammar returns a compiled goleri grammar. func SiriGrammar() *goleri.Grammar { rFloat := goleri.NewRegex(GidRFloat, regexp.MustCompile(`^[-+]?[0-9]*\.?[0-9]+`)) rInteger := goleri.NewRegex(GidRInteger, regexp.MustCompile(`^[-+]?[0-9]+`)) rUinteger := goleri.NewRegex(GidRUinteger, regexp.MustCompile(`^[0-9]+`)) rTimeStr := goleri.NewRegex(GidRTimeStr, regexp.MustCompile(`^[0-9]+[smhdw]`)) rSingleqStr := goleri.NewRegex(GidRSingleqStr, regexp.MustCompile(`^(?:'(?:[^']*)')+`)) rDoubleqStr := goleri.NewRegex(GidRDoubleqStr, regexp.MustCompile(`^(?:"(?:[^"]*)")+`)) rGraveStr := goleri.NewRegex(GidRGraveStr, regexp.MustCompile(`^(?:` + "`" + `(?:[^` + "`" + `]*)` + "`" + `)+`)) rUuidStr := goleri.NewRegex(GidRUuidStr, regexp.MustCompile(`^[0-9a-f]{8}\-[0-9a-f]{4}\-[0-9a-f]{4}\-[0-9a-f]{4}\-[0-9a-f]{12}`)) rRegex := goleri.NewRegex(GidRRegex, regexp.MustCompile(`^(/[^/\\]*(?:\\.[^/\\]*)*/i?)`)) rComment := goleri.NewRegex(GidRComment, regexp.MustCompile(`^#.*`)) kAccess := goleri.NewKeyword(GidKAccess, "access", false) kActiveHandles := goleri.NewKeyword(GidKActiveHandles, "active_handles", false) kAddress := goleri.NewKeyword(GidKAddress, "address", false) kAfter := goleri.NewKeyword(GidKAfter, "after", false) kAlter := goleri.NewKeyword(GidKAlter, "alter", false) kAnd := goleri.NewKeyword(GidKAnd, "and", false) kAs := goleri.NewKeyword(GidKAs, "as", false) kBackupMode := goleri.NewKeyword(GidKBackupMode, "backup_mode", false) kBefore := goleri.NewKeyword(GidKBefore, "before", false) kBufferSize := goleri.NewKeyword(GidKBufferSize, "buffer_size", false) kBufferPath := goleri.NewKeyword(GidKBufferPath, "buffer_path", false) kBetween := goleri.NewKeyword(GidKBetween, "between", false) kCount := goleri.NewKeyword(GidKCount, "count", false) kCreate := goleri.NewKeyword(GidKCreate, "create", false) kCritical := goleri.NewKeyword(GidKCritical, "critical", false) kDatabase := goleri.NewKeyword(GidKDatabase, "database", false) kDbname := goleri.NewKeyword(GidKDbname, "dbname", false) kDbpath := goleri.NewKeyword(GidKDbpath, "dbpath", false) kDebug := goleri.NewKeyword(GidKDebug, "debug", false) kDerivative := goleri.NewKeyword(GidKDerivative, "derivative", false) kDifference := goleri.NewKeyword(GidKDifference, "difference", false) kDrop := goleri.NewKeyword(GidKDrop, "drop", false) kDropThreshold := goleri.NewKeyword(GidKDropThreshold, "drop_threshold", false) kDurationLog := goleri.NewKeyword(GidKDurationLog, "duration_log", false) kDurationNum := goleri.NewKeyword(GidKDurationNum, "duration_num", false) kEnd := goleri.NewKeyword(GidKEnd, "end", false) kError := goleri.NewKeyword(GidKError, "error", false) kExpression := goleri.NewKeyword(GidKExpression, "expression", false) kFalse := goleri.NewKeyword(GidKFalse, "false", false) kFifoFiles := goleri.NewKeyword(GidKFifoFiles, "fifo_files", false) kFilter := goleri.NewKeyword(GidKFilter, "filter", false) kFloat := goleri.NewKeyword(GidKFloat, "float", false) kFor := goleri.NewKeyword(GidKFor, "for", false) kFrom := goleri.NewKeyword(GidKFrom, "from", false) kFull := goleri.NewKeyword(GidKFull, "full", false) kGrant := goleri.NewKeyword(GidKGrant, "grant", false) kGroup := goleri.NewKeyword(GidKGroup, "group", false) kGroups := goleri.NewKeyword(GidKGroups, "groups", false) kHelp := goleri.NewChoice( GidKHelp, true, goleri.NewKeyword(NoGid, "help", false), goleri.NewToken(NoGid, "?"), ) kInfo := goleri.NewKeyword(GidKInfo, "info", false) kIgnoreThreshold := goleri.NewKeyword(GidKIgnoreThreshold, "ignore_threshold", false) kInsert := goleri.NewKeyword(GidKInsert, "insert", false) kInteger := goleri.NewKeyword(GidKInteger, "integer", false) kIntersection := goleri.NewChoice( GidKIntersection, false, goleri.NewToken(NoGid, "&"), goleri.NewKeyword(NoGid, "intersection", false), ) kIpSupport := goleri.NewKeyword(GidKIpSupport, "ip_support", false) kLength := goleri.NewKeyword(GidKLength, "length", false) kLibuv := goleri.NewKeyword(GidKLibuv, "libuv", false) kLimit := goleri.NewKeyword(GidKLimit, "limit", false) kList := goleri.NewKeyword(GidKList, "list", false) kListLimit := goleri.NewKeyword(GidKListLimit, "list_limit", false) kLog := goleri.NewKeyword(GidKLog, "log", false) kLogLevel := goleri.NewKeyword(GidKLogLevel, "log_level", false) kMax := goleri.NewKeyword(GidKMax, "max", false) kMaxOpenFiles := goleri.NewKeyword(GidKMaxOpenFiles, "max_open_files", false) kMean := goleri.NewKeyword(GidKMean, "mean", false) kMedian := goleri.NewKeyword(GidKMedian, "median", false) kMedianLow := goleri.NewKeyword(GidKMedianLow, "median_low", false) kMedianHigh := goleri.NewKeyword(GidKMedianHigh, "median_high", false) kMemUsage := goleri.NewKeyword(GidKMemUsage, "mem_usage", false) kMerge := goleri.NewKeyword(GidKMerge, "merge", false) kMin := goleri.NewKeyword(GidKMin, "min", false) kModify := goleri.NewKeyword(GidKModify, "modify", false) kName := goleri.NewKeyword(GidKName, "name", false) kNow := goleri.NewKeyword(GidKNow, "now", false) kNumber := goleri.NewKeyword(GidKNumber, "number", false) kOnline := goleri.NewKeyword(GidKOnline, "online", false) kOpenFiles := goleri.NewKeyword(GidKOpenFiles, "open_files", false) kOr := goleri.NewKeyword(GidKOr, "or", false) kPassword := goleri.NewKeyword(GidKPassword, "password", false) kPoints := goleri.NewKeyword(GidKPoints, "points", false) kPool := goleri.NewKeyword(GidKPool, "pool", false) kPools := goleri.NewKeyword(GidKPools, "pools", false) kPort := goleri.NewKeyword(GidKPort, "port", false) kPrefix := goleri.NewKeyword(GidKPrefix, "prefix", false) kPvariance := goleri.NewKeyword(GidKPvariance, "pvariance", false) kRead := goleri.NewKeyword(GidKRead, "read", false) kReceivedPoints := goleri.NewKeyword(GidKReceivedPoints, "received_points", false) kReindexProgress := goleri.NewKeyword(GidKReindexProgress, "reindex_progress", false) kRevoke := goleri.NewKeyword(GidKRevoke, "revoke", false) kSelect := goleri.NewKeyword(GidKSelect, "select", false) kSelectPointsLimit := goleri.NewKeyword(GidKSelectPointsLimit, "select_points_limit", false) kSelectedPoints := goleri.NewKeyword(GidKSelectedPoints, "selected_points", false) kSeries := goleri.NewKeyword(GidKSeries, "series", false) kServer := goleri.NewKeyword(GidKServer, "server", false) kServers := goleri.NewKeyword(GidKServers, "servers", false) kSet := goleri.NewKeyword(GidKSet, "set", false) kSid := goleri.NewKeyword(GidKSid, "sid", false) kShards := goleri.NewKeyword(GidKShards, "shards", false) kShow := goleri.NewKeyword(GidKShow, "show", false) kSize := goleri.NewKeyword(GidKSize, "size", false) kStart := goleri.NewKeyword(GidKStart, "start", false) kStartupTime := goleri.NewKeyword(GidKStartupTime, "startup_time", false) kStatus := goleri.NewKeyword(GidKStatus, "status", false) kString := goleri.NewKeyword(GidKString, "string", false) kSuffix := goleri.NewKeyword(GidKSuffix, "suffix", false) kSum := goleri.NewKeyword(GidKSum, "sum", false) kSymmetricDifference := goleri.NewChoice( GidKSymmetricDifference, false, goleri.NewToken(NoGid, "^"), goleri.NewKeyword(NoGid, "symmetric_difference", false), ) kSyncProgress := goleri.NewKeyword(GidKSyncProgress, "sync_progress", false) kTimeit := goleri.NewKeyword(GidKTimeit, "timeit", false) kTimezone := goleri.NewKeyword(GidKTimezone, "timezone", false) kTimePrecision := goleri.NewKeyword(GidKTimePrecision, "time_precision", false) kTo := goleri.NewKeyword(GidKTo, "to", false) kTrue := goleri.NewKeyword(GidKTrue, "true", false) kType := goleri.NewKeyword(GidKType, "type", false) kUnion := goleri.NewChoice( GidKUnion, false, goleri.NewTokens(NoGid, ", |"), goleri.NewKeyword(NoGid, "union", false), ) kUptime := goleri.NewKeyword(GidKUptime, "uptime", false) kUser := goleri.NewKeyword(GidKUser, "user", false) kUsers := goleri.NewKeyword(GidKUsers, "users", false) kUsing := goleri.NewKeyword(GidKUsing, "using", false) kUuid := goleri.NewKeyword(GidKUuid, "uuid", false) kVariance := goleri.NewKeyword(GidKVariance, "variance", false) kVersion := goleri.NewKeyword(GidKVersion, "version", false) kWarning := goleri.NewKeyword(GidKWarning, "warning", false) kWhere := goleri.NewKeyword(GidKWhere, "where", false) kWhoAmI := goleri.NewKeyword(GidKWhoAmI, "who_am_i", false) kWrite := goleri.NewKeyword(GidKWrite, "write", false) cDifference := goleri.NewChoice( GidCDifference, false, goleri.NewToken(NoGid, "-"), kDifference, ) accessKeywords := goleri.NewChoice( GidAccessKeywords, false, kRead, kWrite, kModify, kFull, kSelect, kShow, kList, kCount, kCreate, kInsert, kDrop, kGrant, kRevoke, kAlter, ) Boolean := goleri.NewChoice( GidBoolean, false, kTrue, kFalse, ) logKeywords := goleri.NewChoice( GidLogKeywords, false, kDebug, kInfo, kWarning, kError, kCritical, ) intExpr := goleri.NewPrio( GidIntExpr, rInteger, goleri.NewSequence( NoGid, goleri.NewToken(NoGid, "("), goleri.THIS, goleri.NewToken(NoGid, ")"), ), goleri.NewSequence( NoGid, goleri.THIS, goleri.NewTokens(NoGid, "+ - * % /"), goleri.THIS, ), ) string := goleri.NewChoice( GidString, false, rSingleqStr, rDoubleqStr, ) timeExpr := goleri.NewPrio( GidTimeExpr, rTimeStr, kNow, string, rInteger, goleri.NewSequence( NoGid, goleri.NewToken(NoGid, "("), goleri.THIS, goleri.NewToken(NoGid, ")"), ), goleri.NewSequence( NoGid, goleri.THIS, goleri.NewTokens(NoGid, "+ - * % /"), goleri.THIS, ), ) seriesColumns := goleri.NewList(GidSeriesColumns, goleri.NewChoice( NoGid, false, kName, kType, kLength, kStart, kEnd, kPool, ), goleri.NewToken(NoGid, ","), 1, 0, false) shardColumns := goleri.NewList(GidShardColumns, goleri.NewChoice( NoGid, false, kSid, kPool, kServer, kSize, kStart, kEnd, kType, kStatus, ), goleri.NewToken(NoGid, ","), 1, 0, false) serverColumns := goleri.NewList(GidServerColumns, goleri.NewChoice( NoGid, false, kAddress, kBufferPath, kBufferSize, kDbpath, kIpSupport, kLibuv, kName, kPort, kUuid, kPool, kVersion, kOnline, kStartupTime, kStatus, kActiveHandles, kFifoFiles, kLogLevel, kMaxOpenFiles, kMemUsage, kOpenFiles, kReceivedPoints, kReindexProgress, kSelectedPoints, kSyncProgress, kUptime, ), goleri.NewToken(NoGid, ","), 1, 0, false) groupColumns := goleri.NewList(GidGroupColumns, goleri.NewChoice( NoGid, false, kExpression, kName, kSeries, ), goleri.NewToken(NoGid, ","), 1, 0, false) userColumns := goleri.NewList(GidUserColumns, goleri.NewChoice( NoGid, false, kName, kAccess, ), goleri.NewToken(NoGid, ","), 1, 0, false) poolProps := goleri.NewChoice( GidPoolProps, false, kPool, kServers, kSeries, ) poolColumns := goleri.NewList(GidPoolColumns, poolProps, goleri.NewToken(NoGid, ","), 1, 0, false) boolOperator := goleri.NewTokens(GidBoolOperator, "== !=") intOperator := goleri.NewTokens(GidIntOperator, "== != <= >= < >") strOperator := goleri.NewTokens(GidStrOperator, "== != <= >= !~ < > ~") whereGroup := goleri.NewSequence( GidWhereGroup, kWhere, goleri.NewPrio( NoGid, goleri.NewSequence( NoGid, kSeries, intOperator, intExpr, ), goleri.NewSequence( NoGid, goleri.NewChoice( NoGid, false, kExpression, kName, ), strOperator, string, ), goleri.NewSequence( NoGid, goleri.NewToken(NoGid, "("), goleri.THIS, goleri.NewToken(NoGid, ")"), ), goleri.NewSequence( NoGid, goleri.THIS, kAnd, goleri.THIS, ), goleri.NewSequence( NoGid, goleri.THIS, kOr, goleri.THIS, ), ), ) wherePool := goleri.NewSequence( GidWherePool, kWhere, goleri.NewPrio( NoGid, goleri.NewSequence( NoGid, poolProps, intOperator, intExpr, ), goleri.NewSequence( NoGid, goleri.NewToken(NoGid, "("), goleri.THIS, goleri.NewToken(NoGid, ")"), ), goleri.NewSequence( NoGid, goleri.THIS, kAnd, goleri.THIS, ), goleri.NewSequence( NoGid, goleri.THIS, kOr, goleri.THIS, ), ), ) whereSeries := goleri.NewSequence( GidWhereSeries, kWhere, goleri.NewPrio( NoGid, goleri.NewSequence( NoGid, goleri.NewChoice( NoGid, false, kLength, kPool, ), intOperator, intExpr, ), goleri.NewSequence( NoGid, kName, strOperator, string, ), goleri.NewSequence( NoGid, goleri.NewChoice( NoGid, false, kStart, kEnd, ), intOperator, timeExpr, ), goleri.NewSequence( NoGid, kType, boolOperator, goleri.NewChoice( NoGid, false, kString, kInteger, kFloat, ), ), goleri.NewSequence( NoGid, goleri.NewToken(NoGid, "("), goleri.THIS, goleri.NewToken(NoGid, ")"), ), goleri.NewSequence( NoGid, goleri.THIS, kAnd, goleri.THIS, ), goleri.NewSequence( NoGid, goleri.THIS, kOr, goleri.THIS, ), ), ) whereServer := goleri.NewSequence( GidWhereServer, kWhere, goleri.NewPrio( NoGid, goleri.NewSequence( NoGid, goleri.NewChoice( NoGid, false, kActiveHandles, kBufferSize, kFifoFiles, kPort, kPool, kStartupTime, kMaxOpenFiles, kMemUsage, kOpenFiles, kReceivedPoints, kSelectedPoints, kUptime, ), intOperator, intExpr, ), goleri.NewSequence( NoGid, goleri.NewChoice( NoGid, false, kAddress, kBufferPath, kDbpath, kIpSupport, kLibuv, kName, kUuid, kVersion, kStatus, kReindexProgress, kSyncProgress, ), strOperator, string, ), goleri.NewSequence( NoGid, kOnline, boolOperator, Boolean, ), goleri.NewSequence( NoGid, kLogLevel, intOperator, logKeywords, ), goleri.NewSequence( NoGid, goleri.NewToken(NoGid, "("), goleri.THIS, goleri.NewToken(NoGid, ")"), ), goleri.NewSequence( NoGid, goleri.THIS, kAnd, goleri.THIS, ), goleri.NewSequence( NoGid, goleri.THIS, kOr, goleri.THIS, ), ), ) whereShard := goleri.NewSequence( GidWhereShard, kWhere, goleri.NewPrio( NoGid, goleri.NewSequence( NoGid, goleri.NewChoice( NoGid, false, kSid, kPool, kSize, ), intOperator, intExpr, ), goleri.NewSequence( NoGid, goleri.NewChoice( NoGid, true, kServer, kStatus, ), strOperator, string, ), goleri.NewSequence( NoGid, goleri.NewChoice( NoGid, false, kStart, kEnd, ), intOperator, timeExpr, ), goleri.NewSequence( NoGid, kType, boolOperator, goleri.NewChoice( NoGid, false, kNumber, kLog, ), ), goleri.NewSequence( NoGid, goleri.NewToken(NoGid, "("), goleri.THIS, goleri.NewToken(NoGid, ")"), ), goleri.NewSequence( NoGid, goleri.THIS, kAnd, goleri.THIS, ), goleri.NewSequence( NoGid, goleri.THIS, kOr, goleri.THIS, ), ), ) whereUser := goleri.NewSequence( GidWhereUser, kWhere, goleri.NewPrio( NoGid, goleri.NewSequence( NoGid, kName, strOperator, string, ), goleri.NewSequence( NoGid, kAccess, intOperator, accessKeywords, ), goleri.NewSequence( NoGid, goleri.NewToken(NoGid, "("), goleri.THIS, goleri.NewToken(NoGid, ")"), ), goleri.NewSequence( NoGid, goleri.THIS, kAnd, goleri.THIS, ), goleri.NewSequence( NoGid, goleri.THIS, kOr, goleri.THIS, ), ), ) seriesSep := goleri.NewChoice( GidSeriesSep, false, kUnion, cDifference, kIntersection, kSymmetricDifference, ) seriesName := goleri.NewRepeat(GidSeriesName, string, 1, 1) groupName := goleri.NewRepeat(GidGroupName, rGraveStr, 1, 1) seriesRe := goleri.NewRepeat(GidSeriesRe, rRegex, 1, 1) uuid := goleri.NewChoice( GidUuid, false, rUuidStr, string, ) groupMatch := goleri.NewRepeat(GidGroupMatch, rGraveStr, 1, 1) seriesMatch := goleri.NewList(GidSeriesMatch, goleri.NewChoice( NoGid, false, seriesName, groupMatch, seriesRe, ), seriesSep, 1, 0, false) limitExpr := goleri.NewSequence( GidLimitExpr, kLimit, intExpr, ) beforeExpr := goleri.NewSequence( GidBeforeExpr, kBefore, timeExpr, ) afterExpr := goleri.NewSequence( GidAfterExpr, kAfter, timeExpr, ) betweenExpr := goleri.NewSequence( GidBetweenExpr, kBetween, timeExpr, kAnd, timeExpr, ) accessExpr := goleri.NewList(GidAccessExpr, accessKeywords, goleri.NewToken(NoGid, ","), 1, 0, false) prefixExpr := goleri.NewSequence( GidPrefixExpr, kPrefix, string, ) suffixExpr := goleri.NewSequence( GidSuffixExpr, kSuffix, string, ) fPoints := goleri.NewChoice( GidFPoints, false, goleri.NewToken(NoGid, "*"), kPoints, ) fDifference := goleri.NewSequence( GidFDifference, kDifference, goleri.NewToken(NoGid, "("), goleri.NewOptional(NoGid, timeExpr), goleri.NewToken(NoGid, ")"), ) fDerivative := goleri.NewSequence( GidFDerivative, kDerivative, goleri.NewToken(NoGid, "("), goleri.NewList(NoGid, timeExpr, goleri.NewToken(NoGid, ","), 0, 2, false), goleri.NewToken(NoGid, ")"), ) fMean := goleri.NewSequence( GidFMean, kMean, goleri.NewToken(NoGid, "("), timeExpr, goleri.NewToken(NoGid, ")"), ) fMedian := goleri.NewSequence( GidFMedian, kMedian, goleri.NewToken(NoGid, "("), timeExpr, goleri.NewToken(NoGid, ")"), ) fMedianLow := goleri.NewSequence( GidFMedianLow, kMedianLow, goleri.NewToken(NoGid, "("), timeExpr, goleri.NewToken(NoGid, ")"), ) fMedianHigh := goleri.NewSequence( GidFMedianHigh, kMedianHigh, goleri.NewToken(NoGid, "("), timeExpr, goleri.NewToken(NoGid, ")"), ) fSum := goleri.NewSequence( GidFSum, kSum, goleri.NewToken(NoGid, "("), timeExpr, goleri.NewToken(NoGid, ")"), ) fMin := goleri.NewSequence( GidFMin, kMin, goleri.NewToken(NoGid, "("), timeExpr, goleri.NewToken(NoGid, ")"), ) fMax := goleri.NewSequence( GidFMax, kMax, goleri.NewToken(NoGid, "("), timeExpr, goleri.NewToken(NoGid, ")"), ) fCount := goleri.NewSequence( GidFCount, kCount, goleri.NewToken(NoGid, "("), timeExpr, goleri.NewToken(NoGid, ")"), ) fVariance := goleri.NewSequence( GidFVariance, kVariance, goleri.NewToken(NoGid, "("), timeExpr, goleri.NewToken(NoGid, ")"), ) fPvariance := goleri.NewSequence( GidFPvariance, kPvariance, goleri.NewToken(NoGid, "("), timeExpr, goleri.NewToken(NoGid, ")"), ) fFilter := goleri.NewSequence( GidFFilter, kFilter, goleri.NewToken(NoGid, "("), goleri.NewOptional(NoGid, strOperator), goleri.NewChoice( NoGid, true, string, rInteger, rFloat, ), goleri.NewToken(NoGid, ")"), ) fLimit := goleri.NewSequence( GidFLimit, kLimit, goleri.NewToken(NoGid, "("), intExpr, goleri.NewToken(NoGid, ","), goleri.NewChoice( NoGid, false, kMean, kMedian, kMedianHigh, kMedianLow, kSum, kMin, kMax, kCount, kVariance, kPvariance, ), goleri.NewToken(NoGid, ")"), ) aggregateFunctions := goleri.NewList(GidAggregateFunctions, goleri.NewChoice( NoGid, false, fPoints, fLimit, fMean, fSum, fMedian, fMedianLow, fMedianHigh, fMin, fMax, fCount, fVariance, fPvariance, fDifference, fDerivative, fFilter, ), goleri.NewToken(NoGid, "=>"), 1, 0, false) selectAggregate := goleri.NewSequence( GidSelectAggregate, aggregateFunctions, goleri.NewOptional(NoGid, prefixExpr), goleri.NewOptional(NoGid, suffixExpr), ) mergeAs := goleri.NewSequence( GidMergeAs, kMerge, kAs, string, goleri.NewOptional(NoGid, goleri.NewSequence( NoGid, kUsing, aggregateFunctions, )), ) setAddress := goleri.NewSequence( GidSetAddress, kSet, kAddress, string, ) setBackupMode := goleri.NewSequence( GidSetBackupMode, kSet, kBackupMode, Boolean, ) setDropThreshold := goleri.NewSequence( GidSetDropThreshold, kSet, kDropThreshold, rFloat, ) setExpression := goleri.NewSequence( GidSetExpression, kSet, kExpression, rRegex, ) setIgnoreThreshold := goleri.NewSequence( GidSetIgnoreThreshold, kSet, kIgnoreThreshold, Boolean, ) setListLimit := goleri.NewSequence( GidSetListLimit, kSet, kListLimit, rUinteger, ) setLogLevel := goleri.NewSequence( GidSetLogLevel, kSet, kLogLevel, logKeywords, ) setName := goleri.NewSequence( GidSetName, kSet, kName, string, ) setPassword := goleri.NewSequence( GidSetPassword, kSet, kPassword, string, ) setPort := goleri.NewSequence( GidSetPort, kSet, kPort, rUinteger, ) setSelectPointsLimit := goleri.NewSequence( GidSetSelectPointsLimit, kSet, kSelectPointsLimit, rUinteger, ) setTimezone := goleri.NewSequence( GidSetTimezone, kSet, kTimezone, string, ) alterDatabase := goleri.NewSequence( GidAlterDatabase, kDatabase, goleri.NewChoice( NoGid, false, setDropThreshold, setListLimit, setSelectPointsLimit, setTimezone, ), ) alterGroup := goleri.NewSequence( GidAlterGroup, kGroup, groupName, goleri.NewChoice( NoGid, false, setExpression, setName, ), ) alterServer := goleri.NewSequence( GidAlterServer, kServer, uuid, goleri.NewChoice( NoGid, false, setLogLevel, setBackupMode, setAddress, setPort, ), ) alterServers := goleri.NewSequence( GidAlterServers, kServers, goleri.NewOptional(NoGid, whereServer), setLogLevel, ) alterUser := goleri.NewSequence( GidAlterUser, kUser, string, goleri.NewChoice( NoGid, false, setPassword, setName, ), ) countGroups := goleri.NewSequence( GidCountGroups, kGroups, goleri.NewOptional(NoGid, whereGroup), ) countPools := goleri.NewSequence( GidCountPools, kPools, goleri.NewOptional(NoGid, wherePool), ) countSeries := goleri.NewSequence( GidCountSeries, kSeries, goleri.NewOptional(NoGid, seriesMatch), goleri.NewOptional(NoGid, whereSeries), ) countServers := goleri.NewSequence( GidCountServers, kServers, goleri.NewOptional(NoGid, whereServer), ) countServersReceived := goleri.NewSequence( GidCountServersReceived, kServers, kReceivedPoints, goleri.NewOptional(NoGid, whereServer), ) countServersSelected := goleri.NewSequence( GidCountServersSelected, kServers, kSelectedPoints, goleri.NewOptional(NoGid, whereServer), ) countShards := goleri.NewSequence( GidCountShards, kShards, goleri.NewOptional(NoGid, whereShard), ) countShardsSize := goleri.NewSequence( GidCountShardsSize, kShards, kSize, goleri.NewOptional(NoGid, whereShard), ) countUsers := goleri.NewSequence( GidCountUsers, kUsers, goleri.NewOptional(NoGid, whereUser), ) countSeriesLength := goleri.NewSequence( GidCountSeriesLength, kSeries, kLength, goleri.NewOptional(NoGid, seriesMatch), goleri.NewOptional(NoGid, whereSeries), ) createGroup := goleri.NewSequence( GidCreateGroup, kGroup, groupName, kFor, rRegex, ) createUser := goleri.NewSequence( GidCreateUser, kUser, string, setPassword, ) dropGroup := goleri.NewSequence( GidDropGroup, kGroup, groupName, ) dropSeries := goleri.NewSequence( GidDropSeries, kSeries, goleri.NewOptional(NoGid, seriesMatch), goleri.NewOptional(NoGid, whereSeries), goleri.NewOptional(NoGid, setIgnoreThreshold), ) dropShards := goleri.NewSequence( GidDropShards, kShards, goleri.NewOptional(NoGid, whereShard), goleri.NewOptional(NoGid, setIgnoreThreshold), ) dropServer := goleri.NewSequence( GidDropServer, kServer, uuid, ) dropUser := goleri.NewSequence( GidDropUser, kUser, string, ) grantUser := goleri.NewSequence( GidGrantUser, kUser, string, goleri.NewOptional(NoGid, setPassword), ) listGroups := goleri.NewSequence( GidListGroups, kGroups, goleri.NewOptional(NoGid, groupColumns), goleri.NewOptional(NoGid, whereGroup), ) listPools := goleri.NewSequence( GidListPools, kPools, goleri.NewOptional(NoGid, poolColumns), goleri.NewOptional(NoGid, wherePool), ) listSeries := goleri.NewSequence( GidListSeries, kSeries, goleri.NewOptional(NoGid, seriesColumns), goleri.NewOptional(NoGid, seriesMatch), goleri.NewOptional(NoGid, whereSeries), ) listServers := goleri.NewSequence( GidListServers, kServers, goleri.NewOptional(NoGid, serverColumns), goleri.NewOptional(NoGid, whereServer), ) listShards := goleri.NewSequence( GidListShards, kShards, goleri.NewOptional(NoGid, shardColumns), goleri.NewOptional(NoGid, whereShard), ) listUsers := goleri.NewSequence( GidListUsers, kUsers, goleri.NewOptional(NoGid, userColumns), goleri.NewOptional(NoGid, whereUser), ) revokeUser := goleri.NewSequence( GidRevokeUser, kUser, string, ) alterStmt := goleri.NewSequence( GidAlterStmt, kAlter, goleri.NewChoice( NoGid, false, alterUser, alterGroup, alterServer, alterServers, alterDatabase, ), ) calcStmt := goleri.NewRepeat(GidCalcStmt, timeExpr, 1, 1) countStmt := goleri.NewSequence( GidCountStmt, kCount, goleri.NewChoice( NoGid, true, countGroups, countPools, countSeries, countServers, countServersReceived, countServersSelected, countShards, countShardsSize, countUsers, countSeriesLength, ), ) createStmt := goleri.NewSequence( GidCreateStmt, kCreate, goleri.NewChoice( NoGid, true, createGroup, createUser, ), ) dropStmt := goleri.NewSequence( GidDropStmt, kDrop, goleri.NewChoice( NoGid, false, dropGroup, dropSeries, dropShards, dropServer, dropUser, ), ) grantStmt := goleri.NewSequence( GidGrantStmt, kGrant, accessExpr, kTo, goleri.NewChoice( NoGid, false, grantUser, ), ) listStmt := goleri.NewSequence( GidListStmt, kList, goleri.NewChoice( NoGid, false, listSeries, listUsers, listShards, listGroups, listServers, listPools, ), goleri.NewOptional(NoGid, limitExpr), ) revokeStmt := goleri.NewSequence( GidRevokeStmt, kRevoke, accessExpr, kFrom, goleri.NewChoice( NoGid, false, revokeUser, ), ) selectStmt := goleri.NewSequence( GidSelectStmt, kSelect, goleri.NewList(NoGid, selectAggregate, goleri.NewToken(NoGid, ","), 1, 0, false), kFrom, seriesMatch, goleri.NewOptional(NoGid, whereSeries), goleri.NewOptional(NoGid, goleri.NewChoice( NoGid, false, afterExpr, betweenExpr, beforeExpr, )), goleri.NewOptional(NoGid, mergeAs), ) showStmt := goleri.NewSequence( GidShowStmt, kShow, goleri.NewList(NoGid, goleri.NewChoice( NoGid, false, kActiveHandles, kBufferPath, kBufferSize, kDbname, kDbpath, kDropThreshold, kDurationLog, kDurationNum, kFifoFiles, kIpSupport, kLibuv, kListLimit, kLogLevel, kMaxOpenFiles, kMemUsage, kOpenFiles, kPool, kReceivedPoints, kReindexProgress, kSelectedPoints, kSelectPointsLimit, kServer, kStartupTime, kStatus, kSyncProgress, kTimePrecision, kTimezone, kUptime, kUuid, kVersion, kWhoAmI, ), goleri.NewToken(NoGid, ","), 0, 0, false), ) timeitStmt := goleri.NewRepeat(GidTimeitStmt, kTimeit, 1, 1) helpShow := goleri.NewKeyword(GidHelpShow, "show", false) helpRevoke := goleri.NewKeyword(GidHelpRevoke, "revoke", false) helpNoaccess := goleri.NewKeyword(GidHelpNoaccess, "noaccess", false) helpFunctions := goleri.NewKeyword(GidHelpFunctions, "functions", false) helpGrant := goleri.NewKeyword(GidHelpGrant, "grant", false) helpAccess := goleri.NewKeyword(GidHelpAccess, "access", false) helpListUsers := goleri.NewKeyword(GidHelpListUsers, "users", false) helpListPools := goleri.NewKeyword(GidHelpListPools, "pools", false) helpListSeries := goleri.NewKeyword(GidHelpListSeries, "series", false) helpListServers := goleri.NewKeyword(GidHelpListServers, "servers", false) helpListGroups := goleri.NewKeyword(GidHelpListGroups, "groups", false) helpListShards := goleri.NewKeyword(GidHelpListShards, "shards", false) helpList := goleri.NewSequence( GidHelpList, kList, goleri.NewOptional(NoGid, goleri.NewChoice( NoGid, true, helpListUsers, helpListPools, helpListSeries, helpListServers, helpListGroups, helpListShards, )), ) helpAlterDatabase := goleri.NewKeyword(GidHelpAlterDatabase, "database", false) helpAlterGroup := goleri.NewKeyword(GidHelpAlterGroup, "group", false) helpAlterServers := goleri.NewKeyword(GidHelpAlterServers, "servers", false) helpAlterServer := goleri.NewKeyword(GidHelpAlterServer, "server", false) helpAlterUser := goleri.NewKeyword(GidHelpAlterUser, "user", false) helpAlter := goleri.NewSequence( GidHelpAlter, kAlter, goleri.NewOptional(NoGid, goleri.NewChoice( NoGid, true, helpAlterDatabase, helpAlterGroup, helpAlterServers, helpAlterServer, helpAlterUser, )), ) helpCountSeries := goleri.NewKeyword(GidHelpCountSeries, "series", false) helpCountServers := goleri.NewKeyword(GidHelpCountServers, "servers", false) helpCountGroups := goleri.NewKeyword(GidHelpCountGroups, "groups", false) helpCountShards := goleri.NewKeyword(GidHelpCountShards, "shards", false) helpCountUsers := goleri.NewKeyword(GidHelpCountUsers, "users", false) helpCountPools := goleri.NewKeyword(GidHelpCountPools, "pools", false) helpCount := goleri.NewSequence( GidHelpCount, kCount, goleri.NewOptional(NoGid, goleri.NewChoice( NoGid, true, helpCountSeries, helpCountServers, helpCountGroups, helpCountShards, helpCountUsers, helpCountPools, )), ) helpSelect := goleri.NewKeyword(GidHelpSelect, "select", false) helpCreateGroup := goleri.NewKeyword(GidHelpCreateGroup, "group", false) helpCreateUser := goleri.NewKeyword(GidHelpCreateUser, "user", false) helpCreate := goleri.NewSequence( GidHelpCreate, kCreate, goleri.NewOptional(NoGid, goleri.NewChoice( NoGid, true, helpCreateGroup, helpCreateUser, )), ) helpTimezones := goleri.NewKeyword(GidHelpTimezones, "timezones", false) helpDropGroup := goleri.NewKeyword(GidHelpDropGroup, "group", false) helpDropUser := goleri.NewKeyword(GidHelpDropUser, "user", false) helpDropServer := goleri.NewKeyword(GidHelpDropServer, "server", false) helpDropSeries := goleri.NewKeyword(GidHelpDropSeries, "series", false) helpDropShards := goleri.NewKeyword(GidHelpDropShards, "shards", false) helpDrop := goleri.NewSequence( GidHelpDrop, kDrop, goleri.NewOptional(NoGid, goleri.NewChoice( NoGid, true, helpDropGroup, helpDropUser, helpDropServer, helpDropSeries, helpDropShards, )), ) helpTimeit := goleri.NewKeyword(GidHelpTimeit, "timeit", false) help := goleri.NewSequence( GidHelp, kHelp, goleri.NewOptional(NoGid, goleri.NewChoice( NoGid, true, helpShow, helpRevoke, helpNoaccess, helpFunctions, helpGrant, helpAccess, helpList, helpAlter, helpCount, helpSelect, helpCreate, helpTimezones, helpDrop, helpTimeit, )), ) START := goleri.NewSequence( GidSTART, goleri.NewOptional(NoGid, timeitStmt), goleri.NewOptional(NoGid, goleri.NewChoice( NoGid, false, selectStmt, listStmt, countStmt, alterStmt, createStmt, dropStmt, grantStmt, revokeStmt, showStmt, calcStmt, help, )), goleri.NewOptional(NoGid, rComment), ) return goleri.NewGrammar(START, regexp.MustCompile(`^[a-z_]+`)) } siridb-server-2.0.26/grammar/grammar.py000066400000000000000000000535101322265336500200220ustar00rootroot00000000000000import logging import re from siridbhelp import help_structure from pyleri import Choice from pyleri import Grammar from pyleri import Keyword from pyleri import List from pyleri import Optional from pyleri import Prio from pyleri import Regex from pyleri import Repeat from pyleri import Sequence from pyleri import THIS from pyleri import Token from pyleri import Tokens class SiriGrammar(Grammar): ''' SiriDB grammar. Note: choices can be optimized using most_greedy=False when there is a preferable order in choices. This only should be used when there's no conflict in making a decision by the parser. (e.g. two choices should start with the same keyword because in that case we should usually take the most greedy one) ''' RE_KEYWORDS = re.compile('[a-z_]+') # Regular expressions r_float = Regex('[-+]?[0-9]*\.?[0-9]+') r_integer = Regex('[-+]?[0-9]+') r_uinteger = Regex('[0-9]+') r_time_str = Regex('[0-9]+[smhdw]') r_singleq_str = Regex('(?:\'(?:[^\']*)\')+') r_doubleq_str = Regex('(?:"(?:[^"]*)")+') r_grave_str = Regex('(?:`(?:[^`]*)`)+') r_uuid_str = Regex( '[0-9a-f]{8}\-[0-9a-f]{4}\-[0-9a-f]{4}\-[0-9a-f]{4}\-[0-9a-f]{12}') # we only allow an optional 'i' for case-insensitive regex r_regex = Regex('(/[^/\\\\]*(?:\\\\.[^/\\\\]*)*/i?)') r_comment = Regex('#.*') # Keywords k_access = Keyword('access') k_active_handles = Keyword('active_handles') k_address = Keyword('address') k_after = Keyword('after') k_alter = Keyword('alter') k_and = Keyword('and') k_as = Keyword('as') k_backup_mode = Keyword('backup_mode') k_before = Keyword('before') k_buffer_size = Keyword('buffer_size') k_buffer_path = Keyword('buffer_path') k_between = Keyword('between') k_count = Keyword('count') k_create = Keyword('create') k_critical = Keyword('critical') k_database = Keyword('database') k_dbname = Keyword('dbname') k_dbpath = Keyword('dbpath') k_debug = Keyword('debug') k_derivative = Keyword('derivative') k_difference = Keyword('difference') k_drop = Keyword('drop') k_drop_threshold = Keyword('drop_threshold') k_duration_log = Keyword('duration_log') k_duration_num = Keyword('duration_num') k_end = Keyword('end') k_error = Keyword('error') k_expression = Keyword('expression') k_false = Keyword('false') k_fifo_files = Keyword('fifo_files') k_filter = Keyword('filter') k_float = Keyword('float') k_for = Keyword('for') k_from = Keyword('from') k_full = Keyword('full') k_grant = Keyword('grant') k_group = Keyword('group') k_groups = Keyword('groups') k_help = Choice(Keyword('help'), Token('?')) k_info = Keyword('info') k_ignore_threshold = Keyword('ignore_threshold') k_insert = Keyword('insert') k_integer = Keyword('integer') k_intersection = Choice( Token('&'), Keyword('intersection'), most_greedy=False) k_ip_support = Keyword('ip_support') k_length = Keyword('length') k_libuv = Keyword('libuv') k_limit = Keyword('limit') k_list = Keyword('list') k_list_limit = Keyword('list_limit') k_log = Keyword('log') k_log_level = Keyword('log_level') k_max = Keyword('max') k_max_open_files = Keyword('max_open_files') k_mean = Keyword('mean') k_median = Keyword('median') k_median_low = Keyword('median_low') k_median_high = Keyword('median_high') k_mem_usage = Keyword('mem_usage') k_merge = Keyword('merge') k_min = Keyword('min') k_modify = Keyword('modify') k_name = Keyword('name') k_now = Keyword('now') k_number = Keyword('number') k_online = Keyword('online') k_open_files = Keyword('open_files') k_or = Keyword('or') k_password = Keyword('password') k_points = Keyword('points') k_pool = Keyword('pool') k_pools = Keyword('pools') k_port = Keyword('port') k_prefix = Keyword('prefix') k_pvariance = Keyword('pvariance') k_read = Keyword('read') k_received_points = Keyword('received_points') k_reindex_progress = Keyword('reindex_progress') k_revoke = Keyword('revoke') k_select = Keyword('select') k_select_points_limit = Keyword('select_points_limit') k_selected_points = Keyword('selected_points') k_series = Keyword('series') k_server = Keyword('server') k_servers = Keyword('servers') k_set = Keyword('set') k_sid = Keyword('sid') k_shards = Keyword('shards') k_show = Keyword('show') k_size = Keyword('size') k_start = Keyword('start') k_startup_time = Keyword('startup_time') k_status = Keyword('status') k_string = Keyword('string') k_suffix = Keyword('suffix') k_sum = Keyword('sum') k_symmetric_difference = Choice( Token('^'), Keyword('symmetric_difference'), most_greedy=False) k_sync_progress = Keyword('sync_progress') k_timeit = Keyword('timeit') k_timezone = Keyword('timezone') k_time_precision = Keyword('time_precision') k_to = Keyword('to') k_true = Keyword('true') k_type = Keyword('type') k_union = Choice( Tokens(', |'), Keyword('union'), most_greedy=False) k_uptime = Keyword('uptime') k_user = Keyword('user') k_users = Keyword('users') k_using = Keyword('using') k_uuid = Keyword('uuid') k_variance = Keyword('variance') k_version = Keyword('version') k_warning = Keyword('warning') k_where = Keyword('where') k_who_am_i = Keyword('who_am_i') k_write = Keyword('write') c_difference = Choice( Token('-'), k_difference, most_greedy=False) access_keywords = Choice( k_read, k_write, k_modify, k_full, k_select, k_show, k_list, k_count, k_create, k_insert, k_drop, k_grant, k_revoke, k_alter, most_greedy=False) _boolean = Choice(k_true, k_false, most_greedy=False) log_keywords = Choice( k_debug, k_info, k_warning, k_error, k_critical, most_greedy=False) int_expr = Prio( r_integer, Sequence('(', THIS, ')'), Sequence(THIS, Tokens('+ - * % /'), THIS)) string = Choice(r_singleq_str, r_doubleq_str, most_greedy=False) time_expr = Prio( r_time_str, k_now, string, r_integer, Sequence('(', THIS, ')'), Sequence(THIS, Tokens('+ - * % /'), THIS)) series_columns = List(Choice( k_name, k_type, k_length, k_start, k_end, k_pool, most_greedy=False), ',', 1) shard_columns = List(Choice( k_sid, k_pool, k_server, k_size, k_start, k_end, k_type, k_status, most_greedy=False), ',', 1) server_columns = List(Choice( # Local properties k_address, k_buffer_path, k_buffer_size, k_dbpath, k_ip_support, k_libuv, k_name, k_port, k_uuid, k_pool, k_version, k_online, k_startup_time, k_status, # Remote properties k_active_handles, k_fifo_files, k_log_level, k_max_open_files, k_mem_usage, k_open_files, k_received_points, k_reindex_progress, k_selected_points, k_sync_progress, k_uptime, most_greedy=False), ',', 1) group_columns = List(Choice( k_expression, k_name, k_series, most_greedy=False), ',', 1) user_columns = List(Choice( k_name, k_access, most_greedy=False), ',', 1) pool_props = Choice( k_pool, k_servers, k_series, most_greedy=False) pool_columns = List(pool_props, ',', 1) bool_operator = Tokens('== !=') int_operator = Tokens('< > == != <= >=') str_operator = Tokens('< > == != <= >= ~ !~') # where group where_group = Sequence(k_where, Prio( Sequence(k_series, int_operator, int_expr), Sequence( Choice(k_expression, k_name, most_greedy=False), str_operator, string), Sequence('(', THIS, ')'), Sequence(THIS, k_and, THIS), Sequence(THIS, k_or, THIS))) # where pool where_pool = Sequence(k_where, Prio( Sequence(pool_props, int_operator, int_expr), Sequence('(', THIS, ')'), Sequence(THIS, k_and, THIS), Sequence(THIS, k_or, THIS))) # where series where_series = Sequence(k_where, Prio( Sequence( Choice(k_length, k_pool, most_greedy=False), int_operator, int_expr), Sequence(k_name, str_operator, string), Sequence( Choice(k_start, k_end, most_greedy=False), int_operator, time_expr), Sequence( k_type, bool_operator, Choice(k_string, k_integer, k_float, most_greedy=False)), Sequence('(', THIS, ')'), Sequence(THIS, k_and, THIS), Sequence(THIS, k_or, THIS))) # where server where_server = Sequence(k_where, Prio( Sequence(Choice( k_active_handles, k_buffer_size, k_fifo_files, k_port, k_pool, k_startup_time, k_max_open_files, k_mem_usage, k_open_files, k_received_points, k_selected_points, k_uptime, most_greedy=False), int_operator, int_expr), Sequence(Choice( k_address, k_buffer_path, k_dbpath, k_ip_support, k_libuv, k_name, k_uuid, k_version, k_status, k_reindex_progress, k_sync_progress, most_greedy=False), str_operator, string), Sequence(k_online, bool_operator, _boolean), Sequence(k_log_level, int_operator, log_keywords), Sequence('(', THIS, ')'), Sequence(THIS, k_and, THIS), Sequence(THIS, k_or, THIS))) # where shard where_shard = Sequence(k_where, Prio( Sequence( Choice(k_sid, k_pool, k_size, most_greedy=False), int_operator, int_expr), Sequence(Choice(k_server, k_status), str_operator, string), Sequence( Choice(k_start, k_end, most_greedy=False), int_operator, time_expr), Sequence( k_type, bool_operator, Choice(k_number, k_log, most_greedy=False)), Sequence('(', THIS, ')'), Sequence(THIS, k_and, THIS), Sequence(THIS, k_or, THIS))) # where user where_user = Sequence(k_where, Prio( Sequence(k_name, str_operator, string), Sequence(k_access, int_operator, access_keywords), Sequence('(', THIS, ')'), Sequence(THIS, k_and, THIS), Sequence(THIS, k_or, THIS))) series_sep = Choice( k_union, c_difference, k_intersection, k_symmetric_difference, most_greedy=False) series_name = Repeat(string, 1, 1) group_name = Repeat(r_grave_str, 1, 1) series_re = Repeat(r_regex, 1, 1) uuid = Choice(r_uuid_str, string, most_greedy=False) group_match = Repeat(r_grave_str, 1, 1) series_match = List( Choice(series_name, group_match, series_re, most_greedy=False), series_sep, 1) limit_expr = Sequence(k_limit, int_expr) before_expr = Sequence(k_before, time_expr) after_expr = Sequence(k_after, time_expr) between_expr = Sequence(k_between, time_expr, k_and, time_expr) access_expr = List(access_keywords, ',', 1) prefix_expr = Sequence(k_prefix, string) suffix_expr = Sequence(k_suffix, string) f_points = Choice( Token('*'), k_points, most_greedy=False) f_difference = Sequence( k_difference, '(', Optional(time_expr), ')') f_derivative = Sequence( k_derivative, '(', List(time_expr, ',', 0, 2), ')') f_mean = Sequence( k_mean, '(', time_expr, ')') f_median = Sequence( k_median, '(', time_expr, ')') f_median_low = Sequence( k_median_low, '(', time_expr, ')') f_median_high = Sequence( k_median_high, '(', time_expr, ')') f_sum = Sequence( k_sum, '(', time_expr, ')') f_min = Sequence( k_min, '(', time_expr, ')') f_max = Sequence( k_max, '(', time_expr, ')') f_count = Sequence( k_count, '(', time_expr, ')') f_variance = Sequence( k_variance, '(', time_expr, ')') f_pvariance = Sequence( k_pvariance, '(', time_expr, ')') f_filter = Sequence( k_filter, '(', Optional(str_operator), Choice( string, r_integer, r_float, most_greedy=True), ')') f_limit = Sequence( k_limit, '(', int_expr, ',', Choice( k_mean, k_median, k_median_high, k_median_low, k_sum, k_min, k_max, k_count, k_variance, k_pvariance, most_greedy=False), ')') aggregate_functions = List(Choice( f_points, f_limit, f_mean, f_sum, f_median, f_median_low, f_median_high, f_min, f_max, f_count, f_variance, f_pvariance, f_difference, f_derivative, f_filter, most_greedy=False), '=>', 1) select_aggregate = Sequence( aggregate_functions, Optional(prefix_expr), Optional(suffix_expr)) merge_as = Sequence( k_merge, k_as, string, Optional(Sequence(k_using, aggregate_functions))) set_address = Sequence(k_set, k_address, string) set_backup_mode = Sequence(k_set, k_backup_mode, _boolean) set_drop_threshold = Sequence(k_set, k_drop_threshold, r_float) set_expression = Sequence(k_set, k_expression, r_regex) set_ignore_threshold = Sequence(k_set, k_ignore_threshold, _boolean) set_list_limit = Sequence(k_set, k_list_limit, r_uinteger) set_log_level = Sequence(k_set, k_log_level, log_keywords) set_name = Sequence(k_set, k_name, string) set_password = Sequence(k_set, k_password, string) set_port = Sequence(k_set, k_port, r_uinteger) set_select_points_limit = Sequence( k_set, k_select_points_limit, r_uinteger) set_timezone = Sequence(k_set, k_timezone, string) alter_database = Sequence(k_database, Choice( set_drop_threshold, set_list_limit, set_select_points_limit, set_timezone, most_greedy=False)) alter_group = Sequence(k_group, group_name, Choice( set_expression, set_name, most_greedy=False)) alter_server = Sequence(k_server, uuid, Choice( set_log_level, set_backup_mode, set_address, set_port, most_greedy=False)) alter_servers = Sequence(k_servers, Optional(where_server), set_log_level) alter_user = Sequence(k_user, string, Choice( set_password, set_name, most_greedy=False)) count_groups = Sequence( k_groups, Optional(where_group)) count_pools = Sequence( k_pools, Optional(where_pool)) count_series = Sequence( k_series, Optional(series_match), Optional(where_series)) count_servers = Sequence( k_servers, Optional(where_server)) count_servers_received = Sequence( k_servers, k_received_points, Optional(where_server)) count_servers_selected = Sequence( k_servers, k_selected_points, Optional(where_server)) count_shards = Sequence( k_shards, Optional(where_shard)) count_shards_size = Sequence( k_shards, k_size, Optional(where_shard)) count_users = Sequence( k_users, Optional(where_user)) count_series_length = Sequence( k_series, k_length, Optional(series_match), Optional(where_series)) create_group = Sequence( k_group, group_name, k_for, r_regex) create_user = Sequence( k_user, string, set_password) drop_group = Sequence(k_group, group_name) # Drop statement needs at least a series_math or where STMT or both drop_series = Sequence( k_series, Optional(series_match), Optional(where_series), Optional(set_ignore_threshold)) drop_shards = Sequence( k_shards, Optional(where_shard), Optional(set_ignore_threshold)) drop_server = Sequence(k_server, uuid) drop_user = Sequence(k_user, string) grant_user = Sequence( k_user, string, Optional(set_password)) list_groups = Sequence( k_groups, Optional(group_columns), Optional(where_group)) list_pools = Sequence( k_pools, Optional(pool_columns), Optional(where_pool)) list_series = Sequence( k_series, Optional(series_columns), Optional(series_match), Optional(where_series)) list_servers = Sequence( k_servers, Optional(server_columns), Optional(where_server)) list_shards = Sequence( k_shards, Optional(shard_columns), Optional(where_shard)) list_users = Sequence( k_users, Optional(user_columns), Optional(where_user)) revoke_user = Sequence(k_user, string) alter_stmt = Sequence(k_alter, Choice( alter_user, alter_group, alter_server, alter_servers, alter_database, most_greedy=False)) calc_stmt = Repeat(time_expr, 1, 1) count_stmt = Sequence(k_count, Choice( count_groups, count_pools, count_series, count_servers, count_servers_received, count_servers_selected, count_shards, count_shards_size, count_users, count_series_length, most_greedy=True)) create_stmt = Sequence(k_create, Choice( create_group, create_user)) drop_stmt = Sequence(k_drop, Choice( drop_group, drop_series, drop_shards, drop_server, drop_user, most_greedy=False)) grant_stmt = Sequence(k_grant, access_expr, k_to, Choice( grant_user, most_greedy=False)) list_stmt = Sequence(k_list, Choice( list_series, list_users, list_shards, list_groups, list_servers, list_pools, most_greedy=False ), Optional(limit_expr)) revoke_stmt = Sequence(k_revoke, access_expr, k_from, Choice( revoke_user, most_greedy=False)) select_stmt = Sequence( k_select, List(select_aggregate, ',', 1), k_from, series_match, Optional(where_series), Optional(Choice( after_expr, between_expr, before_expr, most_greedy=False)), Optional(merge_as)) show_stmt = Sequence(k_show, List(Choice( k_active_handles, k_buffer_path, k_buffer_size, k_dbname, k_dbpath, k_drop_threshold, k_duration_log, k_duration_num, k_fifo_files, k_ip_support, k_libuv, k_list_limit, k_log_level, k_max_open_files, k_mem_usage, k_open_files, k_pool, k_received_points, k_reindex_progress, k_selected_points, k_select_points_limit, k_server, k_startup_time, k_status, k_sync_progress, k_time_precision, k_timezone, k_uptime, k_uuid, k_version, k_who_am_i, most_greedy=False), ',', 0)) timeit_stmt = Repeat(k_timeit, 1, 1) def _set_attribute(cls, name, value): setattr(cls, name, value) if name not in cls._order: cls._order.append(name) if hasattr(value, 'name'): raise SyntaxError('Element name is set to {0!r} and therefore cannot ' 'be set to {1!r}. Use Repeat({0}, 1, 1) as a ' 'workaround.'.format(value.name, name)) value.name = name def _walk(cls, path, structure): name = '_'.join(path) try: if structure: for child_path, child in structure.items(): _walk(cls, child_path, child) value = Sequence(*[getattr(cls, 'k_' + path[-1], Keyword(path[-1])), Optional( Choice(*[ getattr(cls, '_'.join(p)) for p in structure.keys()]))]) else: value = Keyword(path[-1]) except AttributeError: logging.critical('Cannot parse help file: {!r}'.format( '{}.md'.format('_'.join(path)))) import sys sys.exit(1) else: _set_attribute(cls, name, value) def _build_help(cls): '''Add 'help' statements to this class. Help files are MarkDown files which are read by the help module. ''' for path, structure in help_structure.items(): _walk(cls, path, structure) _build_help(SiriGrammar) _set_attribute(SiriGrammar, 'START', Sequence( Optional(SiriGrammar.timeit_stmt), Optional(Choice( SiriGrammar.select_stmt, SiriGrammar.list_stmt, SiriGrammar.count_stmt, SiriGrammar.alter_stmt, SiriGrammar.create_stmt, SiriGrammar.drop_stmt, SiriGrammar.grant_stmt, SiriGrammar.revoke_stmt, SiriGrammar.show_stmt, SiriGrammar.calc_stmt, SiriGrammar.help, most_greedy=False)), Optional(SiriGrammar.r_comment))) siri_grammar = SiriGrammar() siridb-server-2.0.26/grammar/siridbhelp.py000066400000000000000000000014041322265336500205140ustar00rootroot00000000000000'''Help module. Build help structure for SiriDB grammar. :copyright: 2016, Jeroen van der Heijden (Transceptor Technology) ''' import os import re import sys # # Created with ls -A1 # help_files = [f[:-3] for f in os.listdir('../help') if f.endswith('.md')] help_files.sort() def _build_structure(help_files): '''Return a tree structure for the help files.''' _structure = {} def _walk(d, keys, i): i += 1 k = tuple(keys[:i]) if k not in d: d[k] = {} if i < len(keys): _walk(d[k], keys, i) for help_file in help_files: _walk(_structure, help_file.split('_'), 0) return _structure help_structure = _build_structure(help_files) if __name__ == '__main__': print(help_structure)siridb-server-2.0.26/help/000077500000000000000000000000001322265336500153205ustar00rootroot00000000000000siridb-server-2.0.26/help/help.md000066400000000000000000000052421322265336500165750ustar00rootroot00000000000000help ==== Displays this help page. Alias: ? Syntax: help [