update exec to clickhouse v2 api; update the queries

This commit is contained in:
Srikanth Chekuri 2022-05-12 16:22:59 +05:30
parent eb397babcd
commit d0b21fce01

View File

@ -2337,23 +2337,31 @@ func (r *ClickHouseReader) RemoveTTL(ctx context.Context,
params *model.RemoveTTLParams) (*model.RemoveTTLResponseItem, *model.ApiError) { params *model.RemoveTTLParams) (*model.RemoveTTLResponseItem, *model.ApiError) {
var reqs []string var reqs []string
tracesQuery := fmt.Sprintf("ALTER TABLE default.%v REMOVE TTL", signozTraceTableName) templateQuery := `ALTER TABLE %v REMOVE TTL`
metricsQuery := fmt.Sprintf("ALTER TABLE %v REMOVE TTL", signozMetricDBName+"."+signozSampleName) tracesTables := []string{signozTraceDBName + "." + signozTraceTableName, signozTraceDBName + "." + signozDurationMVTable, signozTraceDBName + "." + signozSpansTable, signozTraceDBName + "." + signozErrorIndexTable}
metricsTables := []string{signozMetricDBName + "." + signozSampleName}
switch params.Type { switch params.Type {
case constants.TraceTTL: case constants.TraceTTL:
reqs = append(reqs, tracesQuery) for _, tableName := range tracesTables {
reqs = append(reqs, fmt.Sprintf(templateQuery, tableName))
}
case constants.MetricsTTL: case constants.MetricsTTL:
reqs = append(reqs, metricsQuery) for _, tableName := range metricsTables {
reqs = append(reqs, fmt.Sprintf(templateQuery, tableName))
}
default: default:
reqs = append(reqs, tracesQuery, metricsQuery) for _, tableName := range append(append([]string{}, tracesTables...), metricsTables...) {
reqs = append(reqs, fmt.Sprintf(templateQuery, tableName))
}
} }
zap.S().Debugf("Executing remove TTL requests: %s\n", reqs) zap.S().Debugf("Executing remove TTL requests: %s\n", reqs)
for _, req := range reqs { for _, req := range reqs {
if _, err := r.db.Exec(req); err != nil { if err := r.db.Exec(ctx, req); err != nil {
zap.S().Error(fmt.Errorf("error while removing ttl. Err=%v", err)) zap.S().Error(fmt.Errorf("error while removing ttl. Err=%v", err))
return nil, &model.ApiError{model.ErrorExec, return nil, &model.ApiError{Typ: model.ErrorExec,
fmt.Errorf("error while removing ttl. Err=%v", err)} Err: fmt.Errorf("error while removing ttl. Err=%v", err)}
} }
} }
return &model.RemoveTTLResponseItem{Message: "ttl has been successfully removed"}, nil return &model.RemoveTTLResponseItem{Message: "ttl has been successfully removed"}, nil