1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-20 21:59:42 +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 returns a list tables in Documize database.
QueryTableList() string QueryTableList() string
// QueryDateInterval returns provider specific
// interval style date SQL.
QueryDateInterval(days int64) string
// JSONEmpty returns empty SQL JSON object. // JSONEmpty returns empty SQL JSON object.
// Typically used as 2nd parameter to COALESCE(). // Typically used as 2nd parameter to COALESCE().
JSONEmpty() string JSONEmpty() string

View file

@ -52,6 +52,8 @@ func BuildExport(ctx domain.RequestContext, s store.Store, spec exportSpec) (htm
if e == nil { if e == nil {
content.WriteString(c) content.WriteString(c)
toc = append(toc, t...) 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 { if e == nil {
content.WriteString(c) content.WriteString(c)
toc = append(toc, t...) toc = append(toc, t...)
} else {
fmt.Println("export.category", err)
} }
case "document": case "document":
@ -67,6 +71,8 @@ func BuildExport(ctx domain.RequestContext, s store.Store, spec exportSpec) (htm
if e == nil { if e == nil {
content.WriteString(c) content.WriteString(c)
toc = append(toc, t...) 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'` 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. // JSONEmpty returns empty SQL JSON object.
// Typically used as 2nd parameter to COALESCE(). // Typically used as 2nd parameter to COALESCE().
func (p MySQLProvider) JSONEmpty() string { 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()) 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. // JSONEmpty returns empty SQL JSON object.
// Typically used as 2nd parameter to COALESCE(). // Typically used as 2nd parameter to COALESCE().
func (p PostgreSQLProvider) JSONEmpty() string { func (p PostgreSQLProvider) JSONEmpty() string {