Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions models/HTTPReqRes/ clickhouse.go
Original file line number Diff line number Diff line change
@@ -1 +1,26 @@
package HTTPReqRes

import clickhouse "github.com/roistat/go-clickhouse"

//Add (HTTPReqRes, *bool) - Добавление новой записи в таблице HTTPReqRes.
func (_ *HTTPReqRes) Add(httpreqres HTTPReqRes, ok *bool) error {
var errs []error
*ok, errs = httpreqres.checkField("Path", "Params", "Req_data", "Created_date", "Created_time", "Res_data", "Status", "Method")
if !*ok {
return errs[0]
}
query, err := clickhouse.BuildInsert("HTTPReqRes",
clickhouse.Columns{"Path", "Params", "Req_data", "Created_date", "Created_time", "Res_data", "Status", "Method"},
clickhouse.Row{*httpreqres.Path, *httpreqres.Params, *httpreqres.ReqData, *httpreqres.CreatedDate, *httpreqres.CreatedTime, *httpreqres.ResData, *httpreqres.Status, *httpreqres.Method})
if err != nil {
*ok = false
return err
}
err = query.Exec(conn)
if err != nil {
*ok = false
return err
}
*ok = true
return nil
}
64 changes: 64 additions & 0 deletions models/HTTPReqRes/HTTPReqRes.go
Original file line number Diff line number Diff line change
@@ -1 +1,65 @@
package HTTPReqRes

import (
"fmt"

clickhouse "github.com/roistat/go-clickhouse"
)

type HTTPReqRes struct {
Path *string
Params *string
ReqData *string
CreatedDate *string //format "1970-01-01"
CreatedTime *string //format "20:12:18"
ResData *string
Status *string
Method *string
}

// transport, connection to yandex clickhouse
var conn = clickhouse.NewConn("127.0.0.1:8123", clickhouse.NewHttpTransport())

func (httpreqres *HTTPReqRes) checkField(fields ...string) (bool, []error) {
errs := make([]error, 0)
for _, field := range fields {
switch field {
case "Path":
if httpreqres.Path == nil {
errs = append(errs, fmt.Errorf("Set Path field"))
}
case "Params":
if httpreqres.Params == nil {
errs = append(errs, fmt.Errorf("Set Params field"))
}
case "Req_data":
if httpreqres.ReqData == nil {
errs = append(errs, fmt.Errorf("Set Req_Data field"))
}
case "Created_date":
if httpreqres.CreatedDate == nil {
errs = append(errs, fmt.Errorf("Set Created_date field"))
}
case "Created_time":
if httpreqres.CreatedTime == nil {
errs = append(errs, fmt.Errorf("Set Created_Time field"))
}
case "Res_data":
if httpreqres.ResData == nil {
errs = append(errs, fmt.Errorf("Set Res_Data field"))
}
case "Status":
if httpreqres.Status == nil {
errs = append(errs, fmt.Errorf("Set Status field"))
}
case "Method":
if httpreqres.Method == nil {
errs = append(errs, fmt.Errorf("Set Method field"))
}
}
}
if len(errs) != 0 {
return false, errs
}
return true, nil
}
13 changes: 13 additions & 0 deletions models/HTTPReqRes/HTTPReqRes.sql
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
--- SQL HTTPReqRes ---

CREATE TABLE HTTPReqRes(
Path String,
Params String,
Req_data String,
Created_date Date,
Created_time String,
Res_data String,
Status String,
Method String

)
ENGINE=MergeTree(Created_date, (Path, Created_date), 8192);