-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle 'wrong symbol )' exception in case of comparision field with nil or {} on nonindexed column #422
Comments
DifferentialOrange
added a commit
that referenced
this issue
Mar 15, 2024
Before this patch, some nil conditions failed with internal filter library build error. This patch fixes this internal error, as well as normalize filters to behave similar to core indexes. The logic in core Tarantool select is as follows. `nil` condition in index select is an absence of condition, thus all data is returned disregarding the condition (condition may affect the order). `box.NULL` condition is a condition for the null value -- in case of EQ, only records with null index value are returned, in case of GT, all non-null values are returned since nulls are in the beginning of an index and so on. `nil`s and `box.NULL`s in tuple are both satisfy `box.NULL` equity. After this patch, `nil` filter condition is treated as no condition. This is a breaking change since conditions for `'>'` and `'<'` operator with `nil` operand had resulted with empty response before this patch. But since it was inconsistent with scanning index conditions and wasn't intentional, we change it here. Closes #422
Merged
DifferentialOrange
added a commit
that referenced
this issue
Mar 15, 2024
Before this patch, some nil conditions failed with internal filter library build error. This patch fixes this internal error, as well as normalize filters to behave similar to core indexes. The logic in core Tarantool select is as follows. `nil` condition in index select is an absence of condition, thus all data is returned disregarding the condition (condition may affect the order). `box.NULL` condition is a condition for the null value -- in case of EQ, only records with null index value are returned, in case of GT, all non-null values are returned since nulls are in the beginning of an index and so on. `nil`s and `box.NULL`s in tuple are both satisfy `box.NULL` equity. After this patch, `nil` filter condition is treated as no condition. This is a breaking change since conditions for `'>'` and `'<'` operator with `nil` operand had resulted with empty response before this patch. But since it was inconsistent with scanning index conditions and wasn't intentional, we change it here. Closes #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 15, 2024
Before this patch, some nil conditions failed with internal filter library build error. This patch fixes this internal error, as well as normalize filters to behave similar to core indexes. The logic in core Tarantool select is as follows. `nil` condition in index select is an absence of condition, thus all data is returned disregarding the condition (condition may affect the order). `box.NULL` condition is a condition for the null value -- in case of EQ, only records with null index value are returned, in case of GT, all non-null values are returned since nulls are in the beginning of an index and so on. `nil`s and `box.NULL`s in tuple are both satisfy `box.NULL` equity. After this patch, `nil` filter condition is treated as no condition. This is a breaking change since conditions for `'>'` and `'<'` operator with `nil` operand had resulted with empty response before this patch. But since it was inconsistent with scanning index conditions and wasn't intentional, we change it here. Closes #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 15, 2024
There seem to be no reason to determine features on request instead of require since this operation is cheap. Part of #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 15, 2024
Generate `tarantool_supports_X` utils instead of creating a manual function for each key with copypaste. Part of #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 15, 2024
`pcall(require, module)` check is insufficient for external types since module presence often precedes box format support and index support for a type. Sometimes the nature of the module may change between versions: for example, there is a `'uuid'` module in 1.10.x, but a separate type was introduced only in 2.4.1 Part of #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 15, 2024
DifferentialOrange
added a commit
that referenced
this issue
Mar 15, 2024
Before this patch, some nil conditions failed with internal filter library build error. This patch fixes this internal error, as well as normalize filters to behave similar to core indexes. The logic in core Tarantool select is as follows. `nil` condition in index select is an absence of condition, thus all data is returned disregarding the condition (condition may affect the order). `box.NULL` condition is a condition for the null value -- in case of EQ, only records with null index value are returned, in case of GT, all non-null values are returned since nulls are in the beginning of an index and so on. `nil`s and `box.NULL`s in tuple are both satisfy `box.NULL` equity. After this patch, `nil` filter condition is treated as no condition. This is a breaking change since conditions for `'>'` and `'<'` operator with `nil` operand had resulted with empty response before this patch. But since it was inconsistent with scanning index conditions and wasn't intentional, we change it here. Closes #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 15, 2024
Before this patch, some nil conditions failed with internal filter library build error. This patch fixes this internal error, as well as normalize filters to behave similar to core indexes. The logic in core Tarantool select is as follows. `nil` condition in index select is an absence of condition, thus all data is returned disregarding the condition (condition may affect the order). `box.NULL` condition is a condition for the null value -- in case of EQ, only records with null index value are returned, in case of GT, all non-null values are returned since nulls are in the beginning of an index and so on. `nil`s and `box.NULL`s in tuple are both satisfy `box.NULL` equity. After this patch, `nil` filter condition is treated as no condition. This is a breaking change since conditions for `'>'` and `'<'` operator with `nil` operand had resulted with empty response before this patch. But since it was inconsistent with scanning index conditions and wasn't intentional, we change it here. Closes #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 18, 2024
Test scenarios which imitate "server fail" leave test cluster malfunctioning even in cartridge case. Part of #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 18, 2024
Before this patch, some nil conditions failed with internal filter library build error. This patch fixes this internal error, as well as normalize filters to behave similar to core indexes. The logic in core Tarantool select is as follows. `nil` condition in index select is an absence of condition, thus all data is returned disregarding the condition (condition may affect the order). `box.NULL` condition is a condition for the null value -- in case of EQ, only records with null index value are returned, in case of GT, all non-null values are returned since nulls are in the beginning of an index and so on. `nil`s and `box.NULL`s in tuple are both satisfy `box.NULL` equity. After this patch, `nil` filter condition is treated as no condition. This is a breaking change since conditions for `'>'` and `'<'` operator with `nil` operand had resulted with empty response before this patch. But since it was inconsistent with scanning index conditions and wasn't intentional, we change it here. Closes #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 18, 2024
Generate `tarantool_supports_X` utils instead of creating a manual function for each key with copypaste. Part of #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 18, 2024
`pcall(require, module)` check is insufficient for external types since module presence often precedes box format support and index support for a type. Sometimes the nature of the module may change between versions: for example, there is a `'uuid'` module in 1.10.x, but a separate type was introduced only in 2.4.1 Part of #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 18, 2024
DifferentialOrange
added a commit
that referenced
this issue
Mar 18, 2024
Test scenarios which imitate "server fail" leave test cluster malfunctioning even in cartridge case. Part of #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 18, 2024
DifferentialOrange
added a commit
that referenced
this issue
Mar 18, 2024
DifferentialOrange
added a commit
that referenced
this issue
Mar 18, 2024
Before this patch, some nil conditions failed with internal filter library build error. This patch fixes this internal error, as well as normalize filters to behave similar to core indexes. The logic in core Tarantool select is as follows. `nil` condition in index select is an absence of condition, thus all data is returned disregarding the condition (condition may affect the order). `box.NULL` condition is a condition for the null value -- in case of EQ, only records with null index value are returned, in case of GT, all non-null values are returned since nulls are in the beginning of an index and so on. `nil`s and `box.NULL`s in tuple are both satisfy `box.NULL` equity. After this patch, `nil` filter condition is treated as no condition. This is a breaking change since conditions for `'>'` and `'<'` operator with `nil` operand had resulted with empty response before this patch. But since it was inconsistent with scanning index conditions and wasn't intentional, we change it here. Closes #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 20, 2024
There seem to be no reason to determine features on request instead of require since this operation is cheap. Part of #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 20, 2024
Generate `tarantool_supports_X` utils instead of creating a manual function for each key with copypaste. Part of #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 20, 2024
`pcall(require, module)` check is insufficient for external types since module presence often precedes box format support and index support for a type. Sometimes the nature of the module may change between versions: for example, there is a `'uuid'` module in 1.10.x, but a separate type was introduced only in 2.4.1 Part of #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 20, 2024
DifferentialOrange
added a commit
that referenced
this issue
Mar 20, 2024
Test scenarios which imitate "server fail" leave test cluster malfunctioning even in cartridge case. Part of #422
DifferentialOrange
added a commit
that referenced
this issue
Mar 20, 2024
DifferentialOrange
added a commit
that referenced
this issue
Mar 20, 2024
DifferentialOrange
added a commit
that referenced
this issue
Mar 20, 2024
Before this patch, some nil conditions failed with internal filter library build error. This patch fixes this internal error, as well as normalize filters to behave similar to core indexes. The logic in core Tarantool select is as follows. `nil` condition in index select is an absence of condition, thus all data is returned disregarding the condition (condition may affect the order). `box.NULL` condition is a condition for the null value -- in case of EQ, only records with null index value are returned, in case of GT, all non-null values are returned since nulls are in the beginning of an index and so on. `nil`s and `box.NULL`s in tuple are both satisfy `box.NULL` equity. After this patch, `nil` filter condition is treated as no condition. This is a breaking change since conditions for `'>'` and `'<'` operator with `nil` operand had resulted with empty response before this patch. But since it was inconsistent with scanning index conditions and wasn't intentional, we change it here. Closes #422
DifferentialOrange
added a commit
that referenced
this issue
Apr 3, 2024
Overview This release introduces roles for Tarantool 3 configuration (supported for versions 3.0.2, 3.1.0 and newer). Added * Asynchronous bootstrap support for storages (#412). * Tarantool 3 roles for setting up crud routers and storages (#415). * Ability to configure crud through Tarantool 3 roles configuration (#415). Changed * Explicitly forbid datetime interval conditions (#373). * Storage initialization is now asynchronous by default for Tarantool 3.0+ (#412). * Additionally check backoff error on storage info fetch (#427). Fixed * Working with datetime conditions in case of non-indexed fields or non-iterating indexes (#373). * Precision loss for decimal conditions in case of non-indexed fields or non-iterating indexes (#373). * Passing errors from storages for merger operations (`crud.select`, `crud.pairs`, `readview:select`, `readview:pairs`) (#423). * Working with `nil` operand conditions in case of non-indexed fields or non-iterating indexes (#422).
Merged
DifferentialOrange
added a commit
that referenced
this issue
Apr 4, 2024
Overview This release introduces roles for Tarantool 3 configuration (supported for versions 3.0.2, 3.1.0 and newer). Added * Asynchronous bootstrap support for storages (#412). * Tarantool 3 roles for setting up crud routers and storages (#415). * Ability to configure crud through Tarantool 3 roles configuration (#415). Changed * Explicitly forbid datetime interval conditions (#373). * Storage initialization is now asynchronous by default for Tarantool 3.0+ (#412). * Additionally check backoff error on storage info fetch (#427). Fixed * Working with datetime conditions in case of non-indexed fields or non-iterating indexes (#373). * Precision loss for decimal conditions in case of non-indexed fields or non-iterating indexes (#373). * Passing errors from storages for merger operations (`crud.select`, `crud.pairs`, `readview:select`, `readview:pairs`) (#423). * Working with `nil` operand conditions in case of non-indexed fields or non-iterating indexes (#422).
DifferentialOrange
added a commit
that referenced
this issue
May 20, 2024
Overview This release introduces roles for Tarantool 3 configuration (supported for versions 3.0.2, 3.1.0 and newer). Added * Asynchronous bootstrap support for storages (#412). * Tarantool 3 roles for setting up crud routers and storages (#415). * Ability to configure crud through Tarantool 3 roles configuration (#415). Changed * Explicitly forbid datetime interval conditions (#373). * Storage initialization is now asynchronous by default for Tarantool 3.0+ (#412). * Additionally check backoff error on storage info fetch (#427). Fixed * Working with datetime conditions in case of non-indexed fields or non-iterating indexes (#373). * Precision loss for decimal conditions in case of non-indexed fields or non-iterating indexes (#373). * Passing errors from storages for merger operations (`crud.select`, `crud.pairs`, `readview:select`, `readview:pairs`) (#423). * Working with `nil` operand conditions in case of non-indexed fields or non-iterating indexes (#422).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Please wrap a meaningless exception with something like this:
Please add index on column bla-bla like COMMAND
The text was updated successfully, but these errors were encountered: