pg.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package back
  2. import (
  3. "database/sql"
  4. "fmt"
  5. "github.com/lib/pq"
  6. )
  7. // тупо чтобы избавиться от тупого предупреждения подключения pq пакета вне main пакете
  8. var o pq.BoolArray
  9. var db *sql.DB
  10. var queries map[string]*sql.Stmt
  11. func initPostgreSQL() {
  12. var e error
  13. db, e = sql.Open("postgres", fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=disable", Setting.PgHost, Setting.PgPort, Setting.PgUser, Setting.PgPass, Setting.PgBase))
  14. if e != nil {
  15. panic(e)
  16. }
  17. queries = make(map[string]*sql.Stmt)
  18. prerareQueries()
  19. }
  20. func prerareQueries() {
  21. var ebox []string
  22. ebox = append(ebox, prepareQueriesManager()...)
  23. ebox = append(ebox, prepareQueriesMaterial()...)
  24. ebox = append(ebox, prepareQueriesSession()...)
  25. ebox = append(ebox, prepareInfa()...)
  26. if len(ebox) > 0 {
  27. logger.Println("ERROR PREPARATION QUERIES")
  28. logger.Println("-------------------------")
  29. for i, s := range ebox {
  30. logger.Println(fmt.Sprintf("%d: %s", i+1, s))
  31. }
  32. logger.Println("-------------------------")
  33. }
  34. }