Urgent.News

One page, thousands of outlets. See who else covered it.

Editions

Tech

OrioleDB Multi-Version Concurrency Control

MVCC not only tracks row history but also records the search-key space. To better understand PostgreSQL MVCC, it's useful to look at some alternatives. One is zheap, which introduced out-of-place undo logging to rebuild historical row versions by storing old tuples in an undo log instead of the heap. This was done entirely at the table access method level, without modifying the index access…

OrioleDB is a PostgreSQL table access method that replaces the traditional heap structure with version-aware B-trees, enabling multi-version concurrency control (MVCC) for the database. Unlike traditional MVCC solutions, OrioleDB extends MVCC to cover the search-key space, allowing for a more comprehensive preservation of historical row versions.

This is achieved through the use of page-level undo logging, which reconstructs older B-tree leaf contents and key ranges, ensuring that old queries can still find their respective rows even as the database evolves. By using native secondary indexes, OrioleDB maintains compatibility with PostgreSQL's diverse index types and guarantees MVCC compatibility within the extensive PostgreSQL ecosystem.

Brief written by urgent.news from Dev.to's own syndicated text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Fixing Low USB-C Audio on Fedora Linux: My Battle with the Razer Leviathan

TL;DR: If you have a Razer Leviathan connected via USB-C on Linux and the volume is incredibly quiet even at 100%, PipeWire is likely crushing your ALSA hardware baseline on boot.

  • Fedora Linux user faced low audio volume on Razer Leviathan USB-C speaker
  • PipeWire session manager compressed hardware volume limits during boot
  • Bash script automatically adjusts audio settings upon login to restore full volume

Why a two-user Convex chat app read tens of MB a day

I was staring at my Convex dashboard, confused. Convex is the reactive backend I use for a chat app: it stores the data and, the part that matters here, it keeps your queries live , so the UI updates…

  • Convex app's high bandwidth due to reactive queries
  • Queries re-run on every data change, amplifying bandwidth usage
  • Solutions include pagination, optimized .collect(), stable arguments

Why a static Three.js scene still cooks your phone, and the dirty-flag fix

So I have a bunch of small games on my site. Ludo, tic-tac-toe, carrom, rock-paper-scissors. Nothing fancy, the kind of thing you'd think runs on a potato.

  • Static Three.js scenes cause phone heating due to continuous repainting in render loop.
  • Dirty flag system implemented to render scene only when necessary.
  • Ludo board renders frames only when game state changes, reducing GPU workload.

More from Sunday 16 August →