log_min_statement_duration for execution
Since we compare the statement start time with the one obtained by
GetCurrentTimestamp(), which returns OS time without any adjustments for clock
skew, it seems fair to use statement start time obtained by the same clock.
#endif
}
+#ifdef XCP
+/*
+ * GetCurrentLocalStatementStartTimestamp
+ */
+TimestampTz
+GetCurrentLocalStatementStartTimestamp(void)
+{
+ return stmtStartTimestamp;
+}
+#endif
/*
* GetCurrentTransactionStopTimestamp
*
int msecs;
bool exceeded;
- TimestampDifference(GetCurrentStatementStartTimestamp(),
+ /*
+ * Since GetCurrentTimestamp() returns OS time, use local time for
+ * statement-start for accurate comparison
+ */
+ TimestampDifference(GetCurrentLocalStatementStartTimestamp(),
GetCurrentTimestamp(),
&secs, &usecs);
msecs = usecs / 1000;
extern CommandId GetCurrentCommandId(bool used);
extern TimestampTz GetCurrentTransactionStartTimestamp(void);
extern TimestampTz GetCurrentStatementStartTimestamp(void);
+#ifdef XCP
+extern TimestampTz GetCurrentLocalStatementStartTimestamp(void);
+#endif
extern TimestampTz GetCurrentTransactionStopTimestamp(void);
extern void SetCurrentStatementStartTimestamp(void);
#ifdef PGXC