<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Optimistic Concurrency on Nalar</title>
    <link>https://nalar.dev/tags/optimistic-concurrency/</link>
    <description>Recent content in Optimistic Concurrency on Nalar</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 15 Sep 2026 00:00:00 +0700</lastBuildDate>
    <atom:link href="https://nalar.dev/tags/optimistic-concurrency/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Version Columns Turn Lost Updates Into Explicit Conflicts</title>
      <link>https://nalar.dev/version-columns-turn-lost-updates-into-explicit-conflicts/</link>
      <pubDate>Tue, 15 Sep 2026 00:00:00 +0700</pubDate>
      <guid>https://nalar.dev/version-columns-turn-lost-updates-into-explicit-conflicts/</guid>
      <description>&lt;p&gt;Two clients can read the same database row, derive different changes, and then write in sequence. If each update replaces values without checking the state that produced its decision, the later write can silently erase part or all of the earlier one. The database has serialized the statements, yet the application-level read-modify-write operation has still lost a concurrent change.&lt;/p&gt;&#xA;&lt;p&gt;A version column changes the admission rule for the write. The update is accepted only if the row still carries the version observed by the client. A competing update advances that version, so a stale writer affects zero rows instead of overwriting newer state.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
