From 0499725d185d716f6338d3d987fd5e89c19389ae Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Thu, 8 Jan 2026 22:45:54 +0100 Subject: [PATCH] Add an insertedat date --- main.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index dea793d..13ca4c6 100644 --- a/main.go +++ b/main.go @@ -10,6 +10,7 @@ import ( "strconv" "strings" "sync/atomic" + "time" logger "git.site.quack-lab.dev/dave/cylogger" utils "git.site.quack-lab.dev/dave/cyutils" @@ -67,7 +68,8 @@ func InitClickhouseTable() error { price UInt64, volume_remain UInt64, volume_total UInt64, - is_buy_order Bool + is_buy_order Bool, + inserted_at DateTime ) ENGINE = MergeTree() ORDER BY (type_id, issued, order_id) @@ -79,6 +81,7 @@ func InitClickhouseTable() error { indices := []string{ "CREATE INDEX IF NOT EXISTS idx_price_skip_index ON market_orders (price, type_id) TYPE minmax GRANULARITY 4", "CREATE INDEX IF NOT EXISTS idx_buy_order_skip_index ON market_orders (is_buy_order, type_id) TYPE set(4) GRANULARITY 4", + "CREATE INDEX IF NOT EXISTS idx_inserted_at_skip_index ON market_orders (inserted_at) TYPE minmax GRANULARITY 4", } // Create table @@ -189,15 +192,16 @@ func FetchMarketPage(page int) (MarketResponse, error) { func InsertClickhouse(marketData MarketResponse) error { // Build ClickHouse batch INSERT query var insertParts = []string{ - "INSERT INTO market_orders (order_id,type_id,issued,price,volume_remain,volume_total,is_buy_order)", + "INSERT INTO market_orders (order_id,type_id,issued,price,volume_remain,volume_total,is_buy_order,inserted_at)", "VALUES", } values := make([]string, 0, len(marketData)) + insertedAt := time.Now().Format("2006-01-02 15:04:05") for _, j := range marketData { // Format issued as 'YYYY-MM-DD HH:MM:SS' issued := j.Issued.Format("2006-01-02 15:04:05") - val := fmt.Sprintf("(%d, %d, '%s', %f, %d, %d, %t)", j.OrderID, j.TypeID, issued, j.Price, j.VolumeRemain, j.VolumeTotal, j.IsBuyOrder) + val := fmt.Sprintf("(%d, %d, '%s', %f, %d, %d, %t, '%s')", j.OrderID, j.TypeID, issued, j.Price, j.VolumeRemain, j.VolumeTotal, j.IsBuyOrder, insertedAt) values = append(values, val) }