- Mar 14, 2023
-
-
Mergen Imeev authored
This patch prohibits the use of ARRAY, MAP and INTERVAL in ORDER BY. In addition, GROUP BY now also checks the types of the arguments when building the VDBE. Closes #6668 NO_DOC=bugfix
-
Mergen Imeev authored
This patch makes SQL to support collations for the ANY type. Closes #8070 NO_DOC=ANY already supports collations in BOX.
-
Denis Smirnov authored
0b876b76 introduced `uint64_t` schema version to deal with the possible 32-bit counter overflow problem. But for some reason message pack still serialized 64-bit schema version as 32-bit one. Current commit fixes the issue. NO_CHANGELOG=internal fix NO_DOC=internal fix NO_TEST=internal fix
-
- Mar 13, 2023
-
-
Nikolay Shirokovskiy authored
This update pulls the following commits: * Add mp_memcpy and mp_memcpy_safe * Add mp_encode_*_safe family that handles buffer overflow Required for refactoring emerged when fixing issues: https://github.com/tarantool/tarantool-ee/issues/357 https://github.com/tarantool/tarantool-ee/issues/358 NO_DOC=submodule update NO_TEST=submodule update NO_CHANGELOG=submodule update
-
Vladimir Davydov authored
The test checks that the number of IPROTO requests handled by a test server is reported correctly in statistics. Since a net.box connection sends a few "service" requests (e.g. to fetch schema), the test excludes them from the total count. The problem is this doesn't always work with service requests sent to enable graceful shutdown. To enable graceful shutdown a client sends an IPROTO_WATCH request. The server replies to the client with IPROTO_EVENT. Upon receiving the event, the client sends another IPROTO_WATCH request to ack it. The whole procedure is fully asynchronous, which means it may finish after we start processing user requests over the connection. To correctly account service requests, let's disable this feature. Closes tarantool/tarantool-qa#269 NO_DOC=test fix NO_CHANGELOG=test fix
-
- Mar 11, 2023
-
-
Igor Munkin authored
* ARM64: Avoid side-effects of constant rematerialization. * ARM64: Fix {AHUV}LOAD specialized to nil/false/true. * ARM64: Fix pcall() error case. * Fix math.min()/math.max() inconsistencies. * test: add test case for math.modf Closes #6163 Part of #8069 Follows up #7230 NO_DOC=LuaJIT submodule bump NO_TEST=LuaJIT submodule bump
-
- Mar 10, 2023
-
-
Nikolay Shirokovskiy authored
This is the maximum record size we can store in the buffer. Needed for: https://github.com/tarantool/tarantool-ee/issues/358 NO_DOC=internal NO_CHANGELOG=internal
-
Georgiy Lebedev authored
Apparently, push responses were not considered when designing flight recorder: write push responses to flight recorder immediately when a push is initiated (i.e., synchronously). Needed for tarantool/tarantool-ee#338 NO_CHANGELOG=<affects EE feature> NO_DOC=<bugfix> NO_TEST=<tested in EE PR>
-
Ilya Verbin authored
Periodically this test hangs on pthread_join() on macOS. This patch adds a workaround until #8423 is implemented. Closes #8420 NO_DOC=test fix NO_CHANGELOG=test fix
-
Andrey Saranchin authored
Method `getDangiCalZoneAstroCalc` is used to calculate an argument for base class constructor when it is not built yet. Fortunately, it does not use class fields - let's make it static to use it before class initialization legitimately. Closes tarantool/security#96 NO_TEST=no behaviour changes NO_CHANGELOG=no behaviour changes NO_DOC=no behaviour changes
-
Andrey Saranchin authored
Method `func_index_def_new` is used to calculate an argument for base class constructor when it is not built yet. Fortunately, it does not use class fields - let's make it static to use it before class initialization legitimately. Part of tarantool/security#96 NO_TEST=no behaviour changes NO_CHANGELOG=no behaviour changes NO_DOC=no behaviour changes
-
- Mar 09, 2023
-
-
Gleb Kashkin authored
Continuation marker can be set up with `\set continuation` command. Works on both server and client side in any language. Closes #4317 Requires #7357 @TarantoolBot document Title: introduce line carrying slash Now we can use multiline commands with lines ending by configuring continuation symbol. Works only when there is no set delimiter. Consider the example where the marker is set, used and removed: ``` tarantool> \set continuation on --- - true ... tarantool> a = 10\ > + 12 --- ... tarantool> \set continuation off --- - true ... tarantool> a = 10\ --- - error: '[string "a = 10\"]:1: unexpected symbol near ''\''' ... tarantool> ```
-
Gleb Kashkin authored
Language in `local_read()` used to be set to `box.session.language` while the latter is always `nil` and `set_language()` sets `self.language`. Now the language in `local_read()` is identified correctly. This is required for performing continuation check (gh-4317) on any language while the check for complete lua statement happens only in Lua mode. Needed for #4317 NO_DOC=refactoring NO_CHANGELOG=refactoring NO_TEST=invisible to user
-
Gleb Kashkin authored
GNU Readline starting from version 8.1 has bracketed paste[0] enabled by default which complicates handling pasted multiline text and is not supported for now. This patch disables the feature even if it is enabled in inputrc, by user or by default. [0] https://cirw.in/blog/bracketed-paste Needed for #4317 NO_TEST=readline config NO_DOC=readline config NO_CHANGELOG=readline config
-
- Mar 07, 2023
-
-
Nikita Zheleztsov authored
In the test we start replicas only with master in box.cfg.replication. We cannot use bootstrap_strategy = 'auto' mode, which is default, as it properly works only when all participants of the cluster are listed in replication parameter. Sometimes, when one replica connects to the master, the other one has already successfully joined, so the first replica sees in ballot, that it doesn't have all nodes from cluster in box.cfg.replication and fails to start. Let's use 'legacy' bootstrap strategy for now. Closes tarantool/tarantool-qa#310 NO_DOC=test-fix NO_CHANGELOG=test-fix
-
Georgiy Lebedev authored
In some cases unsafe extension decoding was done without bound and type checks: add necessary checks. Closes tarantool/security#73 NO_DOC=bugfix
-
- Mar 06, 2023
-
-
Oleg Jukovec authored
This patch addresses coverity complain 1535241. Follow-up #8047 NO_TEST=nit NO_CHANGELOG=nit NO_DOC=nit
-
Vladimir Davydov authored
If the 'after' key is less than the search key in case of ge/gt or greater than the search key in case of le/lt, the iterator either crashes (vinyl) or returns invalid result (memtx). This happens because the engine implementation doesn't expect an invalid 'after' key. Let's fix this by raising an error at the top level in case the 'after' key doesn't meet the search criteria. Closes #8403 Closes #8404 NO_DOC=bug fix NO_CHANGELOG=unreleased
-
Vladimir Davydov authored
Currently, if the position isn't compatible with the index, we raise an error like "Invalid key part count ...". From this error it's difficult to figure out whether it's for the given iterator position of for the search key. Let's always raise ER_ITERATOR_POSITION in this case. Later on we'll use stacked diag to add extra error info. Needed for #8403 Needed for #8404 NO_DOC=bug fix NO_CHANGELOG=unreleased
-
Vladimir Davydov authored
We need to compare a tuple position with a search key in select() and pairs() to make sure the tuple position meets the search criteria. The problem is that we strip the MessagePack header from the position while key_compare() takes keys with headers. Let's make key_compare take keys without headers like the rest of comparator functions. Since in Vinyl we often need to compare keys with headers, we also add vy_key_compare() helper function. Needed for #8403 Needed for #8404 NO_DOC=refactoring NO_TEST=refactoring NO_CHANGELOG=refactoring
-
Yaroslav Lobankov authored
NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci
-
Yaroslav Lobankov authored
Enable CI for branches with names `release/x.y.z`. Sometimes we are going to create such branches, and we need to have working CI for them. NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci
-
Mergen Imeev authored
This patch adds a rule to ignore the Makefile on the path test/*/*/. NO_DOC=No need, changes in .gitignore NO_TEST=No need, changes in .gitignore NO_CHANGELOG=No need, changes in .gitignore
-
- Mar 03, 2023
-
-
Yaroslav Lobankov authored
NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci
-
Yaroslav Lobankov authored
The 1.10 branch is not supported anymore and there is no need to keep the logic for it. NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci
-
Yaroslav Lobankov authored
Sources should be pushed to the repo on a release tag only, an `*-entrypoint` tag is an auxiliary one. NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci
-
Vladimir Davydov authored
If the tuple pointed to by 'after' isn't in the space, eq pagination would skip it because of the broken 'equals' flag update in the memtx iterator. Closes #8373 NO_DOC=bug fix NO_CHANGELOG=unreleased
-
Igor Munkin authored
Since JIT is disabled in the previous commit, regular testing on macOS/M1 can be returned back to Tarantool CI routine. Furthermore, all specialized targets in .test.mk and auxiliary environment tweaks in macOS-related workflows are also removed in scope of this patch. Follows up #8252 NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci
-
Igor Munkin authored
Regular testing routine on macOS/M1 platforms will be enabled back in the last patch of the series, but there are some failures unrelated to the changes made within the previous commits. Hence it was decided to add the skip_if directive to app-luatest/fiber_parent_backtrace_test.lua for now. Relates to tarantool/tarantool-qa#309 NO_DOC=tests NO_CHANGELOG=tests
-
Igor Munkin authored
Regular testing routine on macOS/M1 platforms will be enabled back in the last patch of the series, but there are some failures unrelated to the changes made within the previous commits. Hence it was decided to add the skipcond unit to app/fiber.test.lua for now. Relates to tarantool/tarantool-qa#308 NO_DOC=tests NO_CHANGELOG=tests
-
Igor Munkin authored
To improve customer experience it was decided to disable JIT engine on Tarantool startup for macOS builds. Either way, JIT will be aboard as a result of the changes and more adventurous users will be able to enable it via <jit.on> in their code. Furthermore, for convenient maintenance of JIT default behaviour CMake configuration option "LUAJIT_JIT_STATUS" is introduced. Closes #8252 NO_DOC=no behaviour changes
-
Igor Munkin authored
Since luatest provides <skip_if> helper, .skipcond file is not necessary anymore and is removed. Needed for #8252 NO_DOC=refactoring NO_TEST=refactoring NO_CHANGELOG=refactoring
-
Igor Munkin authored
As a result of the patch, all required files are moved to app-luatest subdirectory. The test itself is rewritten via <justrun> and <treegen> helpers to make it more clear and easy to maintain. Since luatest provides <skip_if> helper, .skipcond file is not necessary anymore and is removed. Needed for #8252 NO_DOC=refactoring NO_TEST=refactoring NO_CHANGELOG=refactoring
-
Igor Munkin authored
As a result of the patch, all required files are moved to app-luatest subdirectory. introducing the following layout: app-luatest/ |- <name>_test.lua |- lib/ |- CMakeLists.txt |- <libname>.c The test itself is rewritten via <justrun> and <treegen> helpers to make it more clear and easy to maintain. Since luatest provides <skip_if> helper, .skipcond file is not necessary anymore and is removed. Needed for #8252 NO_DOC=refactoring NO_TEST=refactoring NO_CHANGELOG=refactoring
-
Sergey Bronnikov authored
Updated third_party/zstd submodule from v1.5.2 to pre-1.5.5 version. The new version fixes a rare bug that was introduced in 1.5.0 [1]. A v1.5.5 release version will be produced in March. 1. https://github.com/facebook/zstd/pull/3517 Fixes #8391 NO_DOC=build NO_TEST=build
-
Igor Munkin authored
* ci: add nojit flavor for exotic builds * test: fix lua-Harness JIT-related tests * test: adjust JIT-related tests in tarantool-tests * build: fix build with JIT disabled * Minor fixes. NO_DOC=LuaJIT submodule bump NO_TEST=LuaJIT submodule bump NO_CHANGELOG=test
-
- Mar 02, 2023
-
-
Georgiy Lebedev authored
Refactor logging of dangerous `select` call out of `check_select_safety` and add it to `box.internal` so that it can be reused for read views. Change all occurrences of 'dangerous' to 'long' to be consistent with the log message. Needed for tarantool/tarantool-ee#211 NO_CHANGELOG=<refactoring> NO_DOC=<refactoring> NO_TEST=<refactoring>
-
Ilya Verbin authored
The `log_level' configuration parameter can be set as a number or a string. When it is a string, cfg_geti() returns 0. Use log_default->level instead, which is initialized earlier during box_init_say(). Closes #8287 NO_DOC=bugfix NO_CHANGELOG=minor bug
-
Serge Petrenko authored
We use coio_connect() to connect the replica to a remote peer. It implies no timeout, and does a non-blocking connect() to the peer and then waits for the socket to become writable indefinitely. When the remote peer changes its IP address, connect() might try connecting to the old address for as long as ~ 2 minutes (given the default tcp_syn_retries value of 6). This blocks replica from trying to reconnect to the updated address and is pretty inconvenient. Let's use coio_connect_timeout() instead and use replication_disconnect_timeout() as a timeout, like everywhere else in master-replica communication. Closes #7294 NO_DOC=bugfix
-
Yaroslav Lobankov authored
Add missing `server:drop()` to digest_crc32_recording_test.lua to avoid running tarantool processes after the test. NO_DOC=test fix NO_TEST=test fix NO_CHANGELOG=test fix
-