Skip to content

Commit 7fe474c

Browse files
Updated pending_transactions sql structure
1 parent 1500ee8 commit 7fe474c

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
-- name: CreatePendingTransactionPQ :one
2+
INSERT INTO pending_transactions_archive (
3+
id,
4+
session_id,
5+
timestamp,
6+
operation,
7+
target_path,
8+
entries,
9+
status,
10+
error_msg,
11+
output,
12+
executed_by,
13+
duration_ms
14+
) VALUES (
15+
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11
16+
) RETURNING *;
17+
18+
-- name: GetPendingTransactionPQ :one
19+
SELECT * FROM pending_transactions_archive
20+
WHERE id = $1;
21+
22+
-- name: GetPendingTransactionsBySessionPQ :many
23+
SELECT * FROM pending_transactions_archive
24+
WHERE session_id = $1
25+
ORDER BY timestamp DESC;
26+
27+
-- name: GetPendingTransactionsPQ :many
28+
SELECT * FROM pending_transactions_archive
29+
WHERE session_id = $1 AND status = 'pending'
30+
ORDER BY timestamp DESC;
31+
32+
-- name: GetPendingTransactionsByOperationPQ :many
33+
SELECT * FROM pending_transactions_archive
34+
WHERE session_id = $1 AND operation = $2
35+
ORDER BY timestamp DESC;
36+
37+
-- name: GetPendingTransactionsByPathPQ :many
38+
SELECT * FROM pending_transactions_archive
39+
WHERE session_id = $1 AND target_path = $2
40+
ORDER BY timestamp DESC;
41+
42+
-- name: UpdatePendingTransactionStatusPQ :one
43+
UPDATE pending_transactions_archive
44+
SET
45+
status = $2,
46+
error_msg = $3,
47+
output = $4,
48+
duration_ms = $5
49+
WHERE id = $1
50+
RETURNING *;
51+
52+
-- name: DeletePendingTransactionPQ :exec
53+
DELETE FROM pending_transactions_archive
54+
WHERE id = $1;
55+
56+
-- name: DeletePendingTransactionsBySessionPQ :exec
57+
DELETE FROM pending_transactions_archive
58+
WHERE session_id = $1;
59+
60+
-- name: CountPendingTransactionsByStatusPQ :one
61+
SELECT COUNT(*) FROM pending_transactions_archive
62+
WHERE session_id = $1 AND status = $2;
63+
64+
-- name: CountPendingTransactionsByOperationPQ :one
65+
SELECT COUNT(*) FROM pending_transactions_archive
66+
WHERE session_id = $1 AND operation = $2;
67+
68+
-- name: GetPendingTransactionStatsPQ :one
69+
SELECT
70+
COUNT(*) as total_transactions,
71+
COUNT(CASE WHEN status = 'pending' THEN 1 END) as pending_transactions,
72+
AVG(duration_ms) as avg_duration_ms
73+
FROM pending_transactions_archive
74+
WHERE session_id = $1;

0 commit comments

Comments
 (0)