Files
cc-1c-skills/tests/skills/cases/meta-remove/eds-table-orphan-registration.json
T
Nick ShirokovandClaude Opus 5 a38f30c9dd fix(meta-*): двоичные данные с длиной, корень реестра в py, ХранилищеЗначения в meta-info
Мелкие находки ревью, по одному кейсу на каждую:

- meta-compile: BinaryData(N[,fixed|variable]) — фиксированная длина больше не теряется;
  голая форма по-прежнему 4294967292/Fixed, как её пишет платформа при импорте из СУБД.
  Посторонний текст в скобках (BinaryData(abc)) отвергается, а не даёт тихий безлимит —
  PS принимал его и молча подставлял дефолт, py такой тип не понимал вовсе.
- meta-decompile: сворачивает в голый BinaryData только точное совпадение с этим дефолтом.
- meta-info: xs:base64Binary без квалификаторов — вторая форма ХранилищаЗначения, а не
  двоичные данные; раньше два навыка читали один и тот же узел по-разному.
- meta-remove (py): в ветке «файлов нет» корень реестра был жёстко Configuration, поэтому
  осиротевшая таблица внешнего источника не находилась и навык падал, тогда как PS её
  разрегистрировал. Сообщение в обоих портах теперь называет реальный реестр.

Проверено: наборы meta-compile/decompile/info/remove/edit/validate зелёные в обоих
рантаймах, гарды прошли, снэпшот eds-binary-data принят платформой 8.3.24.1691.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NBsZA5cr2WFThtgp7i5WVi
2026-09-06 19:11:29 +03:00

30 lines
1.1 KiB
JSON

{
"name": "Осиротевшая таблица: файла нет, регистрация в источнике снимается",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": {
"type": "ExternalDataSource",
"name": "PG",
"tables": {
"products": { "keyFields": ["id"], "fields": ["id: Number(10,0)"] },
"prices": ["product_id: Number(10,0)", "price: Number(15,2)"]
}
},
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
},
{ "deletePath": "ExternalDataSources/PG/Tables/prices.xml" }
],
"object": "ExternalDataSource.PG.Table.prices",
"expect": {
"stdoutContains": ["Object files not found", "Proceeding with deregistration only"],
"files": ["ExternalDataSources/PG.xml", "ExternalDataSources/PG/Tables/products.xml"],
"fileContains": [
{ "file": "ExternalDataSources/PG.xml", "text": "<Table>products</Table>" }
],
"fileNotContains": [
{ "file": "ExternalDataSources/PG.xml", "text": "<Table>prices</Table>" }
]
}
}