1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-19 13:19:43 +02:00

Implemented per database provider DATE INTERVAL queries

This commit is contained in:
sauls8t 2018-10-01 13:31:22 +01:00
parent 97d36fa2c8
commit 075060d11c
4 changed files with 22 additions and 0 deletions

View file

@ -91,6 +91,10 @@ type StoreProvider interface {
// QueryTableList returns a list tables in Documize database.
QueryTableList() string
// QueryDateInterval returns provider specific
// interval style date SQL.
QueryDateInterval(days int64) string
// JSONEmpty returns empty SQL JSON object.
// Typically used as 2nd parameter to COALESCE().
JSONEmpty() string

View file

@ -52,6 +52,8 @@ func BuildExport(ctx domain.RequestContext, s store.Store, spec exportSpec) (htm
if e == nil {
content.WriteString(c)
toc = append(toc, t...)
} else {
fmt.Println("export.space", err)
}
}
@ -60,6 +62,8 @@ func BuildExport(ctx domain.RequestContext, s store.Store, spec exportSpec) (htm
if e == nil {
content.WriteString(c)
toc = append(toc, t...)
} else {
fmt.Println("export.category", err)
}
case "document":
@ -67,6 +71,8 @@ func BuildExport(ctx domain.RequestContext, s store.Store, spec exportSpec) (htm
if e == nil {
content.WriteString(c)
toc = append(toc, t...)
} else {
fmt.Println("export.document", err)
}
}

View file

@ -298,6 +298,12 @@ func (p MySQLProvider) QueryTableList() string {
WHERE TABLE_SCHEMA = '` + p.DatabaseName() + `' AND TABLE_TYPE='BASE TABLE'`
}
// QueryDateInterval returns provider specific interval style
// date SQL.
func (p MySQLProvider) QueryDateInterval(days int64) string {
return fmt.Sprintf("DATE(NOW()) - INTERVAL %d DAY", days)
}
// JSONEmpty returns empty SQL JSON object.
// Typically used as 2nd parameter to COALESCE().
func (p MySQLProvider) JSONEmpty() string {

View file

@ -263,6 +263,12 @@ func (p PostgreSQLProvider) QueryTableList() string {
WHERE table_type='BASE TABLE' AND table_schema NOT IN ('pg_catalog', 'information_schema') AND table_catalog='%s'`, p.DatabaseName())
}
// QueryDateInterval returns provider specific interval style
// date SQL.
func (p PostgreSQLProvider) QueryDateInterval(days int64) string {
return fmt.Sprintf("DATE(NOW()) - INTERVAL '%d day'", days)
}
// JSONEmpty returns empty SQL JSON object.
// Typically used as 2nd parameter to COALESCE().
func (p PostgreSQLProvider) JSONEmpty() string {