Code Explainers

Code explainers tagged #optimistic-locking

go
func UpdateArticle(store *ArticleStore) gin.HandlerFunc {
	return func(c *gin.Context) {
		id := c.Param("id")
 

Optimistic concurrency with If-Match in Gin

optimistic-locking http-preconditions etag
Intermediate 9 steps
javascript
const express = require('express');
const crypto = require('crypto');
const router = express.Router();
 

Optimistic locking with ETags in Express

optimistic-locking etag conditional-requests
Intermediate 7 steps
python
from flask import Blueprint, request, jsonify, abort
from sqlalchemy import update
 
from .models import db, Document

Optimistic locking in a Flask PATCH endpoint

optimistic-locking concurrency rest-api
Intermediate 7 steps
java
public class AccountRepository {
 
    private final DataSource dataSource;
 

Optimistic locking with a version column in JDBC

optimistic-locking jdbc concurrency
Intermediate 8 steps
ruby
class Document < ApplicationRecord
  class StaleObjectError < StandardError
    def initialize(id)
      super("Document ##{id} was modified by another process")

Optimistic locking with retries in Rails

optimistic-locking concurrency transactions
Advanced 8 steps
typescript
import {
  ArgumentsHost,
  Catch,
  ConflictException,

Turning TypeORM lock errors into 409s in NestJS

exception-handling optimistic-locking http-status
Intermediate 6 steps
php
<?php
 
namespace App\Services;
 

Optimistic locking on invoices in Laravel

optimistic-locking transactions concurrency
Advanced 6 steps
ruby
class InventoryItem < ApplicationRecord
  belongs_to :warehouse
 
  validates :quantity, numericality: { greater_than_or_equal_to: 0 }

Safe inventory updates in Rails

concurrency pessimistic-locking optimistic-locking
Advanced 7 steps
java
@Entity
@Table(name = "accounts")
public class Account {
 

Optimistic locking with @Version in Spring

optimistic-locking jpa concurrency
Advanced 7 steps