FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
IvorySQL/src/fe_utils/query_utils.c at master · HighgoSoftware/IvorySQL · GitHub
This repository was archived by the owner on Nov 28, 2023. It is now read-only.
HighgoSoftware
IvorySQL
Repository navigation
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
IvorySQL
/
src
/
fe_utils
/
query_utils.c
Copy path
More file actions
More file actions
Latest commit
History
History
History
91 lines (74 loc) · 1.79 KB
Breadcrumbs
IvorySQL
/
src
/
fe_utils
/
query_utils.c
Copy path
File metadata and controls
91 lines (74 loc) · 1.79 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/*-------------------------------------------------------------------------
*
* Facilities for frontend code to query a databases.
*
* Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/fe_utils/query_utils.c
*
*-------------------------------------------------------------------------
*/
#include
"postgres_fe.h"
#include
"common/logging.h"
#include
"fe_utils/cancel.h"
#include
"fe_utils/query_utils.h"
/*
* Run a query, return the results, exit program on failure.
*/
PGresult
*
executeQuery
(
PGconn
*
conn
,
const
char
*
query
,
bool
echo
)
{
PGresult
*
res
;
if
(
echo
)
printf
(
"%s\n"
,
query
);
res
=
PQexec
(
conn
,
query
);
if
(!
res
||
PQresultStatus
(
res
)
!=
PGRES_TUPLES_OK
)
{
pg_log_error
(
"query failed: %s"
,
PQerrorMessage
(
conn
));
pg_log_error_detail
(
"Query was: %s"
,
query
);
PQfinish
(
conn
);
exit
(
1
);
}
return
res
;
}
/*
* As above for a SQL command (which returns nothing).
*/
void
executeCommand
(
PGconn
*
conn
,
const
char
*
query
,
bool
echo
)
{
PGresult
*
res
;
if
(
echo
)
printf
(
"%s\n"
,
query
);
res
=
PQexec
(
conn
,
query
);
if
(!
res
||
PQresultStatus
(
res
)
!=
PGRES_COMMAND_OK
)
{
pg_log_error
(
"query failed: %s"
,
PQerrorMessage
(
conn
));
pg_log_error_detail
(
"Query was: %s"
,
query
);
PQfinish
(
conn
);
exit
(
1
);
}
PQclear
(
res
);
}
/*
* As above for a SQL maintenance command (returns command success).
* Command is executed with a cancel handler set, so Ctrl-C can
* interrupt it.
*/
bool
executeMaintenanceCommand
(
PGconn
*
conn
,
const
char
*
query
,
bool
echo
)
{
PGresult
*
res
;
bool
r
;
if
(
echo
)
printf
(
"%s\n"
,
query
);
SetCancelConn
(
conn
);
res
=
PQexec
(
conn
,
query
);
ResetCancelConn
();
r
=
(
res
&&
PQresultStatus
(
res
)
==
PGRES_COMMAND_OK
);
PQclear
(
res
);
return
r
;
}
Back
|
FazBrowse Home
|
New Git URL