fix some SQL query bugs

trunk
Adam Veldhousen 2021-06-23 09:36:36 -05:00
parent c61b335635
commit 49a673b512
Signed by: adam
GPG Key ID: 6DB29003C6DD1E4B
2 changed files with 17 additions and 20 deletions

View File

@ -42,7 +42,6 @@ func NewAdminHandler(c Cache, s Storage, re *RuleEngine, content fs.FS) http.Han
handler.Use(middleware.RealIP)
handler.Use(middleware.Logger)
handler.Use(middleware.Recoverer)
// TODO: smarter way https://github.com/go-chi/chi/issues/403
handler.Route("/api/v1", func(r chi.Router) {
r.Use(cors.Handler(cors.Options{

View File

@ -389,23 +389,22 @@ func (ss *Sqlite) GetLog(in GetLogInput) (GetLogResult, error) {
sql := `
SELECT
started, clientIp, protocol, domain, totalTimeMs,
error, recurseRoundTripTimeMs, recurseUpstreamIp, status
started, clientIp, protocol, domain, totalTimeMs,
error, recurseRoundTripTimeMs, recurseUpstreamIp, status
FROM (
SELECT id,
started,
clientIp,
protocol,
domain,
totalTimeMs,
error,
recurseRoundTripTimeMs,
recurseUpstreamIp,
status
FROM log
WHERE strftime('%s', started) >= strftime('%s', ?)
AND strftime('%s', started) <= strftime('%s', ?)
ORDER BY started DESC
SELECT id,
started,
clientIp,
protocol,
domain,
totalTimeMs,
error,
recurseRoundTripTimeMs,
recurseUpstreamIp,
status
FROM log
WHERE CAST(strftime('%s', started) AS INTEGER) BETWEEN ? AND ?
ORDER BY started DESC
) WHERE id <= ? ORDER BY id DESC LIMIT ?;
`
@ -458,12 +457,11 @@ func (ss *Sqlite) GetPagingInfo(in GetLogInput) (lpi LogPageInfo, err error) {
SELECT
COUNT(*) as totalLogsEntries,
COUNT(*) / ? as pageCount,
MAX(id) - ? as firstItemId
IFNULL(MAX(id) - ?, 0) as firstItemId
FROM
log
WHERE
strftime('%s', started) > strftime('%s', ?)
AND strftime('%s', started) < strftime('%s', ?)
CAST(strftime('%s', started) AS INTEGER) BETWEEN ? AND ?
ORDER BY id DESC
`