3
3
*
4
4
* Copyright (c) 2000-2008, PostgreSQL Global Development Group
5
5
*
6
- * $PostgreSQL: pgsql/src/bin/psql/common.c,v 1.138 2008/01/01 19:45:55 momjian Exp $
6
+ * $PostgreSQL: pgsql/src/bin/psql/common.c,v 1.139 2008/05/14 19:10:29 tgl Exp $
7
7
*/
8
8
#include "postgres_fe.h"
9
9
#include "common.h"
17
17
#include <win32.h>
18
18
#endif
19
19
20
+ #include "portability/instr_time.h"
21
+
20
22
#include "pqsignal.h"
21
23
22
24
#include "settings.h"
@@ -844,11 +846,11 @@ SendQuery(const char *query)
844
846
if (pset .fetch_count <= 0 || !is_select_command (query ))
845
847
{
846
848
/* Default fetch-it-all-and-print mode */
847
- TimevalStruct before ,
849
+ instr_time before ,
848
850
after ;
849
851
850
852
if (pset .timing )
851
- GETTIMEOFDAY ( & before );
853
+ INSTR_TIME_SET_CURRENT ( before );
852
854
853
855
results = PQexec (pset .db , query );
854
856
@@ -858,8 +860,9 @@ SendQuery(const char *query)
858
860
859
861
if (pset .timing )
860
862
{
861
- GETTIMEOFDAY (& after );
862
- elapsed_msec = DIFF_MSEC (& after , & before );
863
+ INSTR_TIME_SET_CURRENT (after );
864
+ INSTR_TIME_SUBTRACT (after , before );
865
+ elapsed_msec = INSTR_TIME_GET_MILLISEC (after );
863
866
}
864
867
865
868
/* but printing results isn't: */
@@ -961,7 +964,7 @@ ExecQueryUsingCursor(const char *query, double *elapsed_msec)
961
964
bool did_pager = false;
962
965
int ntuples ;
963
966
char fetch_cmd [64 ];
964
- TimevalStruct before ,
967
+ instr_time before ,
965
968
after ;
966
969
967
970
* elapsed_msec = 0 ;
@@ -972,7 +975,7 @@ ExecQueryUsingCursor(const char *query, double *elapsed_msec)
972
975
my_popt .topt .prior_records = 0 ;
973
976
974
977
if (pset .timing )
975
- GETTIMEOFDAY ( & before );
978
+ INSTR_TIME_SET_CURRENT ( before );
976
979
977
980
/* if we're not in a transaction, start one */
978
981
if (PQtransactionStatus (pset .db ) == PQTRANS_IDLE )
@@ -1001,8 +1004,9 @@ ExecQueryUsingCursor(const char *query, double *elapsed_msec)
1001
1004
1002
1005
if (pset .timing )
1003
1006
{
1004
- GETTIMEOFDAY (& after );
1005
- * elapsed_msec += DIFF_MSEC (& after , & before );
1007
+ INSTR_TIME_SET_CURRENT (after );
1008
+ INSTR_TIME_SUBTRACT (after , before );
1009
+ * elapsed_msec += INSTR_TIME_GET_MILLISEC (after );
1006
1010
}
1007
1011
1008
1012
snprintf (fetch_cmd , sizeof (fetch_cmd ),
@@ -1028,15 +1032,16 @@ ExecQueryUsingCursor(const char *query, double *elapsed_msec)
1028
1032
for (;;)
1029
1033
{
1030
1034
if (pset .timing )
1031
- GETTIMEOFDAY ( & before );
1035
+ INSTR_TIME_SET_CURRENT ( before );
1032
1036
1033
1037
/* get FETCH_COUNT tuples at a time */
1034
1038
results = PQexec (pset .db , fetch_cmd );
1035
1039
1036
1040
if (pset .timing )
1037
1041
{
1038
- GETTIMEOFDAY (& after );
1039
- * elapsed_msec += DIFF_MSEC (& after , & before );
1042
+ INSTR_TIME_SET_CURRENT (after );
1043
+ INSTR_TIME_SUBTRACT (after , before );
1044
+ * elapsed_msec += INSTR_TIME_GET_MILLISEC (after );
1040
1045
}
1041
1046
1042
1047
if (PQresultStatus (results ) != PGRES_TUPLES_OK )
@@ -1112,7 +1117,7 @@ ExecQueryUsingCursor(const char *query, double *elapsed_msec)
1112
1117
1113
1118
cleanup :
1114
1119
if (pset .timing )
1115
- GETTIMEOFDAY ( & before );
1120
+ INSTR_TIME_SET_CURRENT ( before );
1116
1121
1117
1122
/*
1118
1123
* We try to close the cursor on either success or failure, but on failure
@@ -1137,8 +1142,9 @@ ExecQueryUsingCursor(const char *query, double *elapsed_msec)
1137
1142
1138
1143
if (pset .timing )
1139
1144
{
1140
- GETTIMEOFDAY (& after );
1141
- * elapsed_msec += DIFF_MSEC (& after , & before );
1145
+ INSTR_TIME_SET_CURRENT (after );
1146
+ INSTR_TIME_SUBTRACT (after , before );
1147
+ * elapsed_msec += INSTR_TIME_GET_MILLISEC (after );
1142
1148
}
1143
1149
1144
1150
return OK ;
0 commit comments