Sort case insensitive, date by newest first (#3560)

* Case insensitive search
* Fix not adding extra sort when no sort specified.
* Using newer version of fvbommel/sortorder package
This commit is contained in:
Flashy78
2023-04-16 22:21:13 -07:00
committed by GitHub
parent e685f80e3d
commit 75f22042b7
19 changed files with 311 additions and 165 deletions

View File

@@ -5,7 +5,7 @@ import (
"database/sql/driver"
"fmt"
"github.com/fvbommel/sortorder"
"github.com/fvbommel/sortorder/casefolded"
sqlite3 "github.com/mattn/go-sqlite3"
)
@@ -37,9 +37,9 @@ func (d *CustomSQLiteDriver) Open(dsn string) (driver.Conn, error) {
}
}
// COLLATE NATURAL_CS - Case sensitive natural sort
err := conn.RegisterCollation("NATURAL_CS", func(s string, s2 string) int {
if sortorder.NaturalLess(s, s2) {
// COLLATE NATURAL_CI - Case insensitive natural sort
err := conn.RegisterCollation("NATURAL_CI", func(s string, s2 string) int {
if casefolded.NaturalLess(s, s2) {
return -1
} else {
return 1