mirror of
https://github.com/mindoc-org/mindoc.git
synced 2025-06-28 15:45:35 +08:00
读取 dbadapter 以尽可能的兼容不同数据库
This commit is contained in:
parent
d254f72d43
commit
e79d60e4f4
@ -36,6 +36,15 @@ func need_escape(keyword string) bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func escape_name(name string) string {
|
||||||
|
dbadapter, _ := web.AppConfig.String("db_adapter")
|
||||||
|
ch := "`"
|
||||||
|
if strings.EqualFold(dbadapter, "postgres") {
|
||||||
|
ch = `"`
|
||||||
|
}
|
||||||
|
return fmt.Sprintf("%s%s%s", ch, name, ch)
|
||||||
|
}
|
||||||
|
|
||||||
func NewDocumentSearchResult() *DocumentSearchResult {
|
func NewDocumentSearchResult() *DocumentSearchResult {
|
||||||
return &DocumentSearchResult{}
|
return &DocumentSearchResult{}
|
||||||
}
|
}
|
||||||
@ -294,7 +303,7 @@ WHERE (book.privately_owned = 0 OR rel1.relationship_id > 0 or team.team_member_
|
|||||||
func (m *DocumentSearchResult) SearchDocument(keyword string, bookId int) (docs []*DocumentSearchResult, err error) {
|
func (m *DocumentSearchResult) SearchDocument(keyword string, bookId int) (docs []*DocumentSearchResult, err error) {
|
||||||
o := orm.NewOrm()
|
o := orm.NewOrm()
|
||||||
|
|
||||||
sql := `SELECT * FROM md_documents WHERE book_id = ? AND (document_name LIKE ? OR "release" LIKE ?) `
|
sql := fmt.Sprintf("SELECT * FROM md_documents WHERE book_id = ? AND (document_name LIKE ? OR %s LIKE ?) ", escape_name("release"))
|
||||||
keyword = "%" + keyword + "%"
|
keyword = "%" + keyword + "%"
|
||||||
|
|
||||||
_need_escape := need_escape(keyword)
|
_need_escape := need_escape(keyword)
|
||||||
@ -313,7 +322,7 @@ func (m *DocumentSearchResult) SearchDocument(keyword string, bookId int) (docs
|
|||||||
func (m *DocumentSearchResult) SearchAllDocument(keyword string) (docs []*DocumentSearchResult, err error) {
|
func (m *DocumentSearchResult) SearchAllDocument(keyword string) (docs []*DocumentSearchResult, err error) {
|
||||||
o := orm.NewOrm()
|
o := orm.NewOrm()
|
||||||
|
|
||||||
sql := `SELECT * FROM md_documents WHERE (document_name LIKE ? OR "release" LIKE ?) `
|
sql := fmt.Sprintf("SELECT * FROM md_documents WHERE (document_name LIKE ? OR %s LIKE ?) ", escape_name("release"))
|
||||||
keyword = "%" + keyword + "%"
|
keyword = "%" + keyword + "%"
|
||||||
|
|
||||||
_need_escape := need_escape(keyword)
|
_need_escape := need_escape(keyword)
|
||||||
|
Loading…
Reference in New Issue
Block a user