mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-15 01:53:41 +08:00
So far, the scanner in get_lowest_invalidated_time_for_hypertable() used a Snapshot that includes the data of all committed transactions (and not only the transactions that are started before the snapshot was created - SNAPSHOT_SELF). This could lead to a situation where we see the old and the new value of a parallel updated tuple. Since get_lowest_invalidated_time_for_hypertable() expects exactly one tuple to be found during the scan, we end up with an error. Since this is performed in our insert path (i.e., it is executed by the invalidation trigger), this error could reject inserts on the hypertable.
18 lines
437 B
Bash
Executable File
18 lines
437 B
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Wrapper for the PostgreSQL isolationtest runner. It replaces
|
|
# the chunks IDs in the output of the tests by _X_X_. So, even
|
|
# if the IDs change, the tests will not fail.
|
|
##############################################################
|
|
|
|
set -e
|
|
set -u
|
|
|
|
ISOLATIONTEST=$1
|
|
shift
|
|
|
|
$ISOLATIONTEST "$@" | \
|
|
sed -e 's!_[0-9]\{1,\}_[0-9]\{1,\}_chunk!_X_X_chunk!g' | \
|
|
sed -e 's!hypertable_[0-9]\{1,\}!hypertable_X!g'
|
|
|