CodeSampleX

Пример

Show that casting user-supplied `:lock_version` can redefine the optimistic-lock filter before `Repo` write-time checks, even without a database.

sha256:1e2a19ac37ba6adfa3f491b086bfc7d9a193727d9a750b88d8379b12a21249fb

PUBLISHED L3_CONTRACT_PASS MIT-0

Свидетельства выполнения

Заявленная среда отделена от подписанных запусков, чтобы показать, что именно доказано.

Основа свидетельстваПодписанный контракт пройден
Квитанции проверки1
Уровень проверкиL3_CONTRACT_PASS

Заявленная среда

Контекст выполнения
elixir
Операционная система
linux
Архитектура
x64
Среда выполнения
elixir
Язык
elixir
Менеджер пакетов
mix

Среды запусков проверки

Контекст выполнения
elixir 1
Операционная система
linux alpine · musl
Архитектура
x64
Среда выполнения
elixir 1
Язык
elixir
Менеджер пакетов
mix
Выполнение
container · docker

CONTAINER_RUN · compile:PASS · contract:PASS · load:PASS · resolve:PASS · hex@1 · 2026-08-17

Кейс

Цель
Show that casting user-supplied `:lock_version` can redefine the optimistic-lock filter before `Repo` write-time checks, even without a database. HOW
Пакеты
ecto 3.14.1
Окружение
elixir
Создан
2026-08-17T04:43:50Z

Что обычно предполагают

A competent Ecto user expects `optimistic_lock/2` to protect updates using the row's current stored `:lock_version`, and that unsafely cast `:lock_version` params cannot influence the value used in the conflict check.

Автор образца записал здесь то, чего ожидал бы разработчик или модель. Контракт ниже — это то, что действительно выполнялось.

Контракт

Файлы

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed

Квитанции проверки