From 27eda3deb66f08120d71117d4a23a7c70c75a181 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mickae=CC=88l=20Menu?= Date: Sat, 27 Feb 2021 11:23:16 +0100 Subject: [PATCH] Override default sort orders with --sort --- adapter/handlebars/handlebars_test.go | 2 +- adapter/sqlite/note_dao.go | 6 ++++-- adapter/sqlite/note_dao_test.go | 17 +++++++++++++++++ core/zk/config_test.go | 2 +- go | 2 +- run | 2 +- 6 files changed, 25 insertions(+), 6 deletions(-) diff --git a/adapter/handlebars/handlebars_test.go b/adapter/handlebars/handlebars_test.go index b8a38f6..57e3393 100644 --- a/adapter/handlebars/handlebars_test.go +++ b/adapter/handlebars/handlebars_test.go @@ -12,7 +12,7 @@ import ( ) func init() { - Init("en", &util.NullLogger, &styler{}) + Init("en", true, &util.NullLogger, &styler{}) } // styler is a test double for core.Styler diff --git a/adapter/sqlite/note_dao.go b/adapter/sqlite/note_dao.go index 4fe795a..b3568db 100644 --- a/adapter/sqlite/note_dao.go +++ b/adapter/sqlite/note_dao.go @@ -337,7 +337,7 @@ func (d *NoteDAO) findRows(opts note.FinderOpts) (*sql.Rows, error) { snippetCol := `n.lead` joinClauses := make([]string, 0) whereExprs := make([]string, 0) - orderTerms := make([]string, 0) + additionalOrderTerms := make([]string, 0) args := make([]interface{}, 0) groupBy := "" @@ -419,7 +419,7 @@ func (d *NoteDAO) findRows(opts note.FinderOpts) (*sql.Rows, error) { case note.MatchFilter: snippetCol = `snippet(notes_fts, 2, '', '', '…', 20) as snippet` joinClauses = append(joinClauses, "JOIN notes_fts ON n.id = notes_fts.rowid") - orderTerms = append(orderTerms, `bm25(notes_fts, 1000.0, 500.0, 1.0)`) + additionalOrderTerms = append(additionalOrderTerms, `bm25(notes_fts, 1000.0, 500.0, 1.0)`) whereExprs = append(whereExprs, "notes_fts MATCH ?") args = append(args, fts5.ConvertQuery(string(filter))) @@ -493,9 +493,11 @@ func (d *NoteDAO) findRows(opts note.FinderOpts) (*sql.Rows, error) { } } + orderTerms := []string{} for _, sorter := range opts.Sorters { orderTerms = append(orderTerms, orderTerm(sorter)) } + orderTerms = append(orderTerms, additionalOrderTerms...) orderTerms = append(orderTerms, `n.title ASC`) query := "" diff --git a/adapter/sqlite/note_dao_test.go b/adapter/sqlite/note_dao_test.go index 19327ae..702c6c0 100644 --- a/adapter/sqlite/note_dao_test.go +++ b/adapter/sqlite/note_dao_test.go @@ -466,6 +466,23 @@ func TestNoteDAOFindMatch(t *testing.T) { ) } +func TestNoteDAOFindMatchWithSort(t *testing.T) { + testNoteDAOFindPaths(t, + note.FinderOpts{ + Filters: []note.Filter{note.MatchFilter("daily | index")}, + Sorters: []note.Sorter{ + {Field: note.SortPath, Ascending: false}, + }, + }, + []string{ + "log/2021-02-04.md", + "log/2021-01-04.md", + "log/2021-01-03.md", + "index.md", + }, + ) +} + func TestNoteDAOFindInPath(t *testing.T) { testNoteDAOFindPaths(t, note.FinderOpts{ diff --git a/core/zk/config_test.go b/core/zk/config_test.go index 528ebd5..3415f47 100644 --- a/core/zk/config_test.go +++ b/core/zk/config_test.go @@ -19,7 +19,7 @@ func TestParseDefaultConfig(t *testing.T) { Extension: "md", BodyTemplatePath: opt.NullString, IDOptions: IDOptions{ - Length: 5, + Length: 4, Charset: CharsetAlphanum, Case: CaseLower, }, diff --git a/go b/go index 25a7b09..6d76e93 100755 --- a/go +++ b/go @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash VERSION=`git describe --tags 2> /dev/null` BUILD=`git rev-parse --short HEAD` diff --git a/run b/run index c56d9b1..f53202e 100755 --- a/run +++ b/run @@ -1,2 +1,2 @@ -#!/bin/sh +#!/bin/bash ./go run main.go $@