mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 02:54:26 +00:00
fix(database_query): keep psql's command tags out of the returned rows
With `-tA` psql drops headers and the row-count footer but still prints
the command tag of every write statement. A guarded
`UPDATE … RETURNING` that matched nothing therefore came back as
`rows: [['UPDATE 0']]`, and web-app-peertube's oidc/enable.yml, which
judges its change by the row count, reported `changed` and restarted
PeerTube on every deploy after the first.
The PostgreSQL rows flags are now `-qtA`. Probed against a running
postgres container:
-tA -> CREATE TABLE / INSERT 0 1 / UPDATE 0 / 3 / UPDATE 1
-qtA -> 3
SELECT output and the MariaDB path (`--batch --skip-column-names`, no
status line) are unchanged.
Fixes #1164
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
db849282d0
commit
628e2587b8
2 files changed
+4
-4
No files matched your search
@@ -109,7 +109,7 @@ _ENGINES: dict[str, dict[str, object]] = {
|
||||
"user_flag": "-U",
|
||||
"db_flag": "-d",
|
||||
"shared_flags": ["-v", "ON_ERROR_STOP=1"],
|
||||
"rows_flags": ["-tA"],
|
||||
"rows_flags": ["-qtA"],
|
||||
"row_separator": "|",
|
||||
"password_env": "PGPASSWORD",
|
||||
"string_quote": "'",
|
||||
|
||||
@@ -93,13 +93,13 @@ class BuildCmdPostgresTests(unittest.TestCase):
|
||||
self.assertIn("ON_ERROR_STOP=1", cmd)
|
||||
self.assertNotIn("s3cret", cmd)
|
||||
|
||||
def test_postgres_expect_rows_adds_tuples_only_flag(self):
|
||||
def test_postgres_expect_rows_adds_quiet_tuples_only_flag(self):
|
||||
cmd, _ = _DB_MOD._build_cmd(_BASE_CONFIG, expect_rows=True)
|
||||
self.assertIn("-tA", cmd)
|
||||
self.assertIn("-qtA", cmd)
|
||||
|
||||
def test_postgres_no_rows_omits_tuples_only_flag(self):
|
||||
cmd, _ = _DB_MOD._build_cmd(_BASE_CONFIG, expect_rows=False)
|
||||
self.assertNotIn("-tA", cmd)
|
||||
self.assertNotIn("-qtA", cmd)
|
||||
|
||||
|
||||
class BuildCmdMariadbTests(unittest.TestCase):
|
||||
|
||||
Reference in new issue
Block a user