暫無描述
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

query_csv.go 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package functions
  2. import (
  3. "git.x2erp.com/qdy/go-base/ctx"
  4. "git.x2erp.com/qdy/go-base/model/request/dorisreq"
  5. "git.x2erp.com/qdy/go-db/factory/database"
  6. )
  7. // 执行查询,返回CSV数据格式。无参数查询
  8. func QueryToCSV(dbname string, dbsFactory *database.DBSFactory, req dorisreq.QueryRequest, reqCtx *ctx.RequestContext) ([]byte, error) {
  9. if dbFactory, err := dbsFactory.CreateDBFactory(dbname); err != nil {
  10. return nil, err
  11. } else {
  12. return dbFactory.QueryToCSV(req.SQL, req.WriterHeader, reqCtx)
  13. }
  14. }
  15. // 执行查询,返回CSV数据格式。带参数名称进行查询
  16. func QueryParamNameToCSV(dbname string, dbsFactory *database.DBSFactory, req dorisreq.QueryRequest, reqCtx *ctx.RequestContext) ([]byte, error) {
  17. if dbFactory, err := dbsFactory.CreateDBFactory(dbname); err != nil {
  18. return nil, err
  19. } else {
  20. return dbFactory.QueryParamsNameToCSV(req.SQL, req.WriterHeader, req.Params, reqCtx)
  21. }
  22. }
  23. // 执行查询,返回CSV数据格式。带占位参数进行查询
  24. func QueryPositionalToCSV(dbname string, dbsFactory *database.DBSFactory, req dorisreq.QueryRequest, reqCtx *ctx.RequestContext) ([]byte, error) {
  25. if dbFactory, err := dbsFactory.CreateDBFactory(dbname); err != nil {
  26. return nil, err
  27. } else {
  28. return dbFactory.QueryPositionalToCSV(req.SQL, req.WriterHeader, req.PositionalParams, reqCtx)
  29. }
  30. }