- Oct 12, 2017
-
-
Roman Tsisyk authored
Use existing virtual dispatch in _say funcptr to remove branching on logger_type in runtime. In context of #2795
-
Roman Tsisyk authored
Create a different type of logger for boot mode. In context of #2795
-
Roman Tsisyk authored
This patch is pure refactoring. No functional changes intended. Needed for #2795
-
- Oct 11, 2017
-
-
Vladislav Shpilevoy authored
-
Vladimir Davydov authored
If EOF is reached, recover_remaining_wals() closes recovery->cursor. The next time it is called, it looks up the next xlog to scan with vclockset_match(), but the latter will return vclock of the last scanned xlog unless a new xlog has appeared since the last call. As a result, the last xlog is scanned three times during recovery: by recover_follow_local(), hot_standby_f(), and recovery_finalize(). To fix that, let's make recover_remaining_wals() start recovery from recovery->vclock if it reached EOF while reading the last xlog. Closes #2768
-
Vladimir Davydov authored
It isn't a good practice to access xlog_cursor::state directly, because it may include implementation-specific states, e.g. we might want to differentiate CLOSED_AFTER_EOF and CLOSED_WITHOUT_EOF or CLOSED and NOT_YET_OPENED (see the next patch). Let's introduce convenient helpers to check if a cursor is open and if it reached EOF and use them outside xlog.c. Needed for #2768
-
Alexandr Lyapunov authored
Allow long with field_no pass field_name for index creation (alteration) routines. Add new method of defining indexes: - parts = { {field = field_name1, type = field_type}, {field = field_name2, type = field_type}, ...} - parts = { {field_name1, field_type}, {field_name2, field_type}, ...} - parts = { {field_name1}, {field_name2}, ...} - parts = {field_name1, field_name2} - parts = {field_id, field_id} Fix 2814
-
Alexandr Lyapunov authored
In addition to current syntax of space fileds format definition: - space:format({{name='field_id', type='integer'}, ...}) Add more ways to define it: - space:format({{'field_name', 'integer'}, ...}) - space:format({{'field_name', type='integer'}, ...}) - space:format({{'field_name'}, ...}) - space:format({'field_name', ...}) Fix #2815
-
Roman Tsisyk authored
ucol_open() expects null-terminated string. GCC doesn't initialize locale name buffer in RelWithDebInfo. Fixes #2819
-
- Oct 10, 2017
-
-
Alexandr Lyapunov authored
It is appeared that ICU v50 supports CLRD-22 when ICU v51+ supports CLRD-23+. One of the CLRD-23 changes comparing to CLRD-22 is local script collates before other scripts. In general that means that having different ICU version we get different order with non-Latin locales. The main problem is that a run that was sorted with one version of tarantool becomes unsorted in another. Fix tests that depends on that order and disable collation in vinyl.
-
- Oct 09, 2017
-
-
Vladimir Davydov authored
Older versions of gcc do not support designated initializers. Fixes 9a880ae6 ("Turn class Handler into struct space_vtab").
-
Tony Freeman authored
-
Roman Tsisyk authored
-
Roman Tsisyk authored
PackageCloud doesn't support Ubuntu Artful yet. Follow up e3d97f6d
-
- Oct 06, 2017
-
-
Roman Tsisyk authored
-
Roman Tsisyk authored
Closes #2805
-
Vladimir Davydov authored
The typo caused the following box.schema.user.info() failure if the user was granted a permission to use a sequence: tarantool> box.schema.user.info() --- - error: 'builtin/box/schema.lua:1542: assign to undeclared variable ''seq''' ---
-
Vladimir Davydov authored
Class Handler contains only function pointers so we can easily convert it to a C struct. This is needed to introduce internal C API to perfrom DML requests on spaces which is required by SQL. Needed for #2776
-
Vladimir Davydov authored
- Engines should inherit struct space if they need to store engine specific data per space. - Engine::createSpace() now returns struct space instead of Handler. - Engines should overwrite Handler::destroy() to implement struct space destructor. This is a step towards converting class Handler to struct space_vtab. Needed for #2776
-
Vladimir Davydov authored
Currently, the format is stored in Handler and can be retrieved with Handler::format(). The only reason for such a layer of indirection is that the format should be created by an Engine method and currently it is created by Engine::createSpace(). Let's introduce a separate method for create a space format, Engine::createFormat(), and move the format back to where it belongs, i.e. to struct space. This is a step towards converting class Handler to struct space_vtab. Needed for #2776
-
Vladimir Davydov authored
We gain no benefit from having them separated from corresponding MemtxSpace::execute* methods. This is a step towards converting class Handler to struct space_vtab. Needed for #2776
-
Vladimir Davydov authored
space->handler->engine->... looks ugly. Since all Handler methods receive space as an argument anyway, let's move engine to struct space. This is a step towards converting class Handler to struct space_vtab. Needed for #2776
-
Alexandr Lyapunov authored
Make new option in index part - collation - where user can pass a name of a collation that he wants to use for comparison of the field. Fix #2649
-
Alexandr Lyapunov authored
Add a new space that contains collation definitions for future index collation and more. Add a collation cache for fast retrieving a collation object by its name. Needed for #2649
-
Alexandr Lyapunov authored
Introduce coll object that allows to compare strings. Add coll_def structure and functions for its setup. Add unit test. Needed for #2649
-
Alexandr Lyapunov authored
-
- Oct 05, 2017
-
-
Alexandr Lyapunov authored
Support [{field=<field_no>, type=<type>}, ...] index part format both in box.space._index and box.schema.index.create() Lua API. box.space_index now supports the following formats of index parts: 1. <field_no>, <type>, <field_no>, <type>, ... -- Tarantool 1.6.0+ 2. [[<field_no>, <type>], ...] -- Tarantool 1.6.6+ 3. [{field=<field_no>, type=<type>}] -- Tarantool 1.7.6+, this patch box.schema.upgrade() converts format #1 to #2. Format #2 is not converted automatically to #3 yet. Let's extend box.schema.upgrade() to do that later in order to keep upward compatibility for existing 1.7.x customers. Lua API now supports the following formats: 1. [<field1_no>, <type1>, ,..] -- Tarantool 1.6.0+ 2. [{field=<field_no>, type=<type>}] -- Tarantool 1.7.6+, this patch In addition to format #2, [{<field_no>, type = <type>}] and [<field_no>, <type>, may_be_added_in_the_future=xxx}] shortcut is supported. box.schema.space.create() automatically converts format #1 to #2, therefor all new indexes will have the new format. Closes #2802
-
Alexandr Lyapunov authored
By some philosophic reasons it was decided to name functions that deal with old format by name with a suffix - version of tarantool when the format was initially introduced instead of last version when this format was used.
-
Alexandr Lyapunov authored
-
Alexandr Lyapunov authored
Change type of 'map' argument to const char ** and return in it the end of parsed msgpack map.
-
Alexandr Lyapunov authored
Move opt_def functions from alter.cc to opt_def.c. Make no logical changes.
-
Alexandr Lyapunov authored
-
Alexandr Lyapunov authored
-
Ilya authored
Headers duplicates are written in string separated with comma Except special headers described in: https://nodejs.org/api/http.html#http_message_headers Relates to #2658
-
Roman Tsisyk authored
Fixes #2658
-
Vladislav Shpilevoy authored
In a case of collision of field and method names, the field name have higher priority. Closes #1014
-
Vladislav Shpilevoy authored
-
Vladislav Shpilevoy authored
Aliases will allow to call tuple methods, when tuple has fields with same names as methods. In such a case a field name has higher priority and the tuple method with the same name becomes inaccessible via tuple:...() API. Needed for #1014
-
Roman Tsisyk authored
-
Ilya authored
* Add package.search function * Fix failing tests after patch for new loaders Closes #2797
-