<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/yql, branch CLI_2.26.0</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=CLI_2.26.0</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=CLI_2.26.0'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2025-09-25T10:52:20Z</updated>
<entry>
<title>fix YQL local script</title>
<updated>2025-09-25T10:52:20Z</updated>
<author>
<name>vvvv</name>
<email>vvvv@yandex-team.com</email>
</author>
<published>2025-09-25T10:04:41Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=101b49b4a976e0a5217a0f9cc612fb8811841258'/>
<id>urn:sha1:101b49b4a976e0a5217a0f9cc612fb8811841258</id>
<content type='text'>
commit_hash:44ab981454da32833ff609068478e1ff3067fd97
</content>
</entry>
<entry>
<title>isCompact flag explicitly set to false in PROFILE_MEMORY_ALLOCATIONS mode</title>
<updated>2025-09-24T12:56:52Z</updated>
<author>
<name>michaelvovk</name>
<email>michaelvovk@yandex-team.com</email>
</author>
<published>2025-09-24T12:34:43Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=60024cbb3f93d321368d37ecaff2e6dd1c323c57'/>
<id>urn:sha1:60024cbb3f93d321368d37ecaff2e6dd1c323c57</id>
<content type='text'>
Флаг isCompact установлен в false в режиме профилирования памяти, т.к. tcmalloc не поддерживает необходимое для работы TCompactHash свойство выравнивания страницу по POOL\_PAGE\_SIZE
commit_hash:eafa88c954abb508b3632307376885d7bbce2a0d
</content>
</entry>
<entry>
<title>QPlayer - handle SqlTranslation section from gateways patch</title>
<updated>2025-09-24T11:46:54Z</updated>
<author>
<name>ziganshinmr</name>
<email>ziganshinmr@yandex-team.com</email>
</author>
<published>2025-09-24T11:22:11Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=c9ea6833e3c249b036ab59be9943a15050b3af81'/>
<id>urn:sha1:c9ea6833e3c249b036ab59be9943a15050b3af81</id>
<content type='text'>
commit_hash:ac2cdbe3d5001baccbd9b9c00becaebe8981fbca
</content>
</entry>
<entry>
<title>YQL support fulltext index type</title>
<updated>2025-09-23T16:22:34Z</updated>
<author>
<name>kungasc</name>
<email>kungasc@yandex-team.com</email>
</author>
<published>2025-09-23T16:02:29Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=ca6a4519ce8972481aa637055e8af16874b0c736'/>
<id>urn:sha1:ca6a4519ce8972481aa637055e8af16874b0c736</id>
<content type='text'>
part of https://github.com/ydb-platform/ydb/issues/23384
commit_hash:dc3c331d4054a7739ca632ddce312c985d4b8a13
</content>
</entry>
<entry>
<title>Intermediate changes</title>
<updated>2025-09-23T16:14:59Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2025-09-23T16:02:26Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=61748dcf22ae75c2d56e64c29bac001a711cd2fc'/>
<id>urn:sha1:61748dcf22ae75c2d56e64c29bac001a711cd2fc</id>
<content type='text'>
commit_hash:b09da3c539f96285419491714aac383f03c58568
</content>
</entry>
<entry>
<title>YQL-20448: Fix block just node</title>
<updated>2025-09-23T14:47:33Z</updated>
<author>
<name>atarasov5</name>
<email>atarasov5@yandex-team.com</email>
</author>
<published>2025-09-23T14:27:55Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=84cfb69f3c48f84e450c7f234e442336aba79994'/>
<id>urn:sha1:84cfb69f3c48f84e450c7f234e442336aba79994</id>
<content type='text'>
YQL-20448: Fix block just node
commit_hash:0d4f0571b83868f9d1f0518fb29d54244a55fde7
</content>
</entry>
<entry>
<title>The ability to specify not null, default, family in any order</title>
<updated>2025-09-23T10:05:39Z</updated>
<author>
<name>flown4qqqq</name>
<email>flown4qqqq@yandex-team.com</email>
</author>
<published>2025-09-23T09:50:47Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=02f803b5fcdd27b7865b981fd880e37c4e021b10'/>
<id>urn:sha1:02f803b5fcdd27b7865b981fd880e37c4e021b10</id>
<content type='text'>
Проблема в следующем.

Есть запрос:

```sql
CREATE TABLE series_with_families (
  series_id Uint64,
  title Utf8,
  series_info Utf8  NOT NULL FAMILY family_large,
  release_date Uint64,
  PRIMARY KEY (series_id),
  FAMILY default (
    DATA = "ssd",
    COMPRESSION = "off"
  ),
  FAMILY family_large (
    DATA = "rot",
    COMPRESSION = "lz4"
  )
);
```

Такой запрос является на данный момент неверным на уровне грамматики. Ругается на строку \``series_info Utf8  NOT NULL FAMILY family_large`\` Однако запрос, в котором NOT NULL и FAMILY поменяны местами, отрабатывает корректно:

```sql
CREATE TABLE series_with_families (
  series_id Uint64,
  title Utf8,
  series_info Utf8 FAMILY family_large NOT NULL,
  release_date Uint64,
  PRIMARY KEY (series_id),
  FAMILY default (
    DATA = "ssd",
    COMPRESSION = "off"
  ),
  FAMILY family_large (
    DATA = "rot",
    COMPRESSION = "lz4"
  )
);
```

В этом Pull Request'е  я меняю грамматику таким образом, чтобы была возможность задавать "опции" колонки (DEFAULT, NOT NULL, FAMILY).

Особое внимание стоит обратить внимание на тест `CreateTableDefaultAndNotNullInOrderSpace`: в нем показывается, что можно использовать синтаксис

```sql
CREATE TABLE tbl (
    k Uint64,
    v Bool DEFAULT false NOT NULL,
    PRIMARY KEY (k)
);
```

И такое поведение означает именно DEFAULT (false NOT NULL), то есть DEFAULT true. Дело в том, что выражение "false NOT NULL" эквивалентно "false IS NOT NULL", что является, безусловно, истиной. Ровно для того, чтобы была вообще возможность одновременно указать и default, и not null, было добавлено расширение синтаксиса: теперь можно указывать скобки для указания опций столбца, а сами опции внутри них можно перечислять через запятую:

```sql
CREATE TABLE tbl (
    k Uint64,
    v Bool (DEFAULT false, NOT NULL),
    PRIMARY KEY (k)
);
```

Запрос выше означает, что столбец должен по умолчанию заполняться false'ами, но при этом он должен быть NOT NULL.
commit_hash:67cc27a5fe6ae73f8725b051b232c2ca0d1ec54f
</content>
</entry>
<entry>
<title>Intermediate changes</title>
<updated>2025-09-22T19:30:48Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2025-09-22T19:21:14Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=5b37d0c83e94bcc29271b724aed32d431e081e4f'/>
<id>urn:sha1:5b37d0c83e94bcc29271b724aed32d431e081e4f</id>
<content type='text'>
commit_hash:cbab5e9b887af331c146fd3ca6511d46fff92ed1
</content>
</entry>
<entry>
<title>YQL-20339 expr high level funcs</title>
<updated>2025-09-22T11:09:17Z</updated>
<author>
<name>vvvv</name>
<email>vvvv@yandex-team.com</email>
</author>
<published>2025-09-22T10:47:31Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=fcacd313e6f9c84b89fe898b489cd8de620b4cf1'/>
<id>urn:sha1:fcacd313e6f9c84b89fe898b489cd8de620b4cf1</id>
<content type='text'>
init
commit_hash:479f16e9cd255b616573d811910403290f9ef656
</content>
</entry>
<entry>
<title>Don't add diagnostics for system queries</title>
<updated>2025-09-22T10:42:45Z</updated>
<author>
<name>vvvv</name>
<email>vvvv@yandex-team.com</email>
</author>
<published>2025-09-22T09:41:53Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=7b6c3a065f5d15f19a284c0e3668d9c3e02f7406'/>
<id>urn:sha1:7b6c3a065f5d15f19a284c0e3668d9c3e02f7406</id>
<content type='text'>
commit_hash:3bbbdf333ab388eccf27a7cfa448a2b0a815a3db
</content>
</entry>
</feed>
