- Nov 15, 2021
-
-
Georgy Moiseev authored
Actualize changelog based on GitHub release pages changelogs. Some entries were skipped since they are not relevant to modern packages. Versions 1.8.1 and 2.0.4 changelogs were merged to 2.1.1 changelog. Part of #6397
-
Yaroslav Lobankov authored
This patch extends the 'integration.yml' workflow and adds a new workflow call for running tests to verify integration between tarantool and the expiration module. Part of #5265 Part of #6056 Closes #6528
-
- Nov 11, 2021
-
-
Vladimir Davydov authored
This commit fixes the following failure: ``` [028] --- wal_off/snapshot_stress.result Fri Jun 5 06:49:36 2020 [028] +++ wal_off/snapshot_stress.reject Fri Oct 16 13:48:23 2020 [028] @@ -375,7 +375,7 @@ [028] ... [028] snaps_find_status; [028] --- [028] -- snaps found [028] +- where are my snapshots? [028] ... [028] snapshot_check_failed = false [028] while #snaps > initial_snap_count do [028] ``` It happens, because the fiber making snapshots is started after worker fibers and it works until all worker fibers are done so it might occur that it doesn't make any snapshots. Fix this by replacing the while-loop with a repeat-loop, thus ensuring that the worker fiber makes at least one snapshot. Closes #5431
-
Vladimir Davydov authored
Just need to replace scoped guards with labels and add struct keyword to the sockaddr types. While we are at it, replace malloc with xmalloc in coio_fill_addrinfo - we don't check if the returned valued is NULL anyway.
-
Vladimir Davydov authored
There are just a few places outside coio.cc and coio_buf.h where these functions are used directly (most users use helpers from coio_buf.h or xrow_io.h): popen, console, applier. This is a step towards conversion of coio to C.
-
Vladimir Davydov authored
This commit makes coio_stat_stat_timeout, coio_waitpid, and coio_service_start exception-free. None of the functions is used anywhere in the code except for tests. This is a step towards conversion of coio to C.
-
Vladimir Davydov authored
Note, the only place where coio_connect is used is applier_connect, while coio_accept isn't used anywhere. This is needed to convert the net.box state machine to C.
-
Vladimir Davydov authored
So that users that don't have an uri at hand can use it. This is needed to convert the net.box state machine to C.
-
Mergen Imeev authored
Closes #3174 @TarantoolBot document Title: Field type ANY in SQL Properties of type ANY in SQL: 1) typeof() with an argument of type ANY returns "any"; 2) any value of any type can be implicitly and explicitly cast to the ANY type; 3) a value of type ANY cannot be implicitly cast to any other type; 4) a value of type ANY cannot participate in arithmetic, bitwise, comparison, and concationation operations.
-
Mergen Imeev authored
After this patch, the built-in SQL function implementation definitions will use field_type_MAX to indicate that they accept values of any type, instead of FIELD_TYPE_ANY. Part of #3174
-
Mergen Imeev authored
Prior to this patch, in some cases a struct Expr value with an opcode TK_INTEGER could have field type ANY. This patch sets such values to the INTEGER field type. Part of #3174
-
Yaroslav Lobankov authored
This patch extends the 'integration.yml' workflow and adds a new workflow call for running tests to verify integration between tarantool and the tarantool-php/queue connector. Part of #5265 Part of #6056 Closes #6595
-
Mergen Imeev authored
This patch forces SQL built-in function implementations to accept 'const struct Mem *' instead of just 'struct Mem *'. Needed for #4145
-
Mergen Imeev authored
This patch removes the MEM_Term flag, because after changes in the SQL built-in functions, this flag is no longer used. Needed for #4145
-
Mergen Imeev authored
This patch removes the MEM_Dyn flag, because after changes in the SQL built-in functions, this flag is no longer used. Needed for #4145
-
Mergen Imeev authored
Some of the code is no longer used after changes in the SQL built-in functions. This patch removes part of the unused code. Needed for #4145
-
Mergen Imeev authored
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
This patch refactors UUID() function. Also, UUID(NULL) now returns NULL. Part of #4145
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
This patch refactors RANDOMBLOB() function. Also, RANDOMBLOB(0) now returns empty string. part of #4145
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
The CHAR() function now uses the ICU macro to get characters. Part of #4145
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
This patch makes SUBSTR() work according to ANSI rules for SUBSTRING() function. Also, SUBSTR() can now work correctly with large INTEGER values. The SUBSTR() syntax has not changed. Part of #4145 @TarantoolBot document Title: SUBSTR() function SUBSTR() now works according to the ANSI rules for SUBSTRING(). Rules for SUBSTR() with 2 arguments: 1) let the first argument be VALUE, and the second argument be START; 2) VALUE should be STRING or VARBINARY, START should be INTEGER; 3) if any of arguments is NULL, NULL is returned; 4) let POS be MAX(START - 1, 0), END be length of the VALUE; 5) if POS >= END, the result is empty string; 6) if POS < END, the result will be substring of VALUE, starting from the position POS to the position END. Rules for SUBSTR() with 3 arguments: 1) let the first argument be VALUE, the second argument be START, and the third argument be LENGTH; 2) VALUE should be STRING or VARBINARY, START and LENGTH should be INTEGERs; 3) if any of arguments is NULL, NULL is returned; 4) if LENGTH < 0, an error is thrown; 5) let POS be MAX(START - 1, 0), END be START + LENGTH - 1; 6) if POS >= END, the result is empty string; 7) if POS < END, the result will be substring of VALUE, starting from the position POS to the position END.
-
Mergen Imeev authored
This patch is a refactoring of POSITION(). In addition, VARBINARY arguments can now be used in this function. In addition, POSITION() now uses ICU functions instead of self-created. Part of #4145
-
Mergen Imeev authored
This patch refactoring TRIM() and fixes an issue with incorrect trimming of some VARBINARY values. Also, TRIM() now use ICU functions instead of self-created. Part of #4415
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
Part of #4145
-
Mergen Imeev authored
The CHAR_LENGTH() and CHARACTER_LENGTH() functions now use ICU functions to determine the length of a string. Part of #4145 @TarantoolBot document Title: Invalid UTF-8 values and ICU Invalid UTF-8 values may be handled differently depending on the ICU version. For example, for this request: ``` SELECT CHAR_LENGTH(CAST(x'f0808080' AS STRING)); ``` On `centos 7` with `libicu-devel-50.2-4.el7_7.x86_64` the result will be: ``` tarantool> box.execute([[SELECT CHAR_LENGTH(CAST(x'f0808080' AS STRING));]]) --- - metadata: - name: COLUMN_1 type: integer rows: - [1] ... ``` On `ubuntu 20.04` with `libicu-dev` version `66.1-2ubuntu2` the result will be: ``` tarantool> box.execute([[SELECT CHAR_LENGTH(CAST(x'f0808080' AS STRING));]]) --- - metadata: - name: COLUMN_1 type: integer rows: - [4] ... ```
-