diff --git a/app/server/config/config.debug.yaml b/app/server/config/config.debug.yaml index 2ad907c6..89e4bb94 100644 --- a/app/server/config/config.debug.yaml +++ b/app/server/config/config.debug.yaml @@ -10,7 +10,7 @@ logger: metrics_server: endpoint: host: "0.0.0.0" - port: 8766 + port: 8767 pprof_server: endpoint: diff --git a/scripts/debug/kqprun/scheme.clickhouse.local.txt b/scripts/debug/kqprun/scheme.clickhouse.local.txt new file mode 100644 index 00000000..d8d14835 --- /dev/null +++ b/scripts/debug/kqprun/scheme.clickhouse.local.txt @@ -0,0 +1,11 @@ +CREATE OBJECT local_password (TYPE SECRET) WITH (value = "password"); + +CREATE EXTERNAL DATA SOURCE external_datasource WITH ( + SOURCE_TYPE="ClickHouse", + LOCATION="localhost:9000", + AUTH_METHOD="BASIC", + PROTOCOL="NATIVE", + LOGIN="admin", + DATABASE_NAME="default", + PASSWORD_SECRET_NAME="local_password" +); diff --git a/scripts/debug/kqprun/scheme.mysql.local.txt b/scripts/debug/kqprun/scheme.mysql.local.txt index f2a54e75..85ea3510 100644 --- a/scripts/debug/kqprun/scheme.mysql.local.txt +++ b/scripts/debug/kqprun/scheme.mysql.local.txt @@ -2,7 +2,7 @@ CREATE OBJECT mysql_local_password (TYPE SECRET) WITH (value = "password"); CREATE EXTERNAL DATA SOURCE mysql_external_datasource WITH ( SOURCE_TYPE="MySQL", - LOCATION="mysql:3306", + LOCATION="localhost:3306", AUTH_METHOD="BASIC", LOGIN="root", DATABASE_NAME="fq", diff --git a/scripts/debug/kqprun/script.clickhouse.local.txt b/scripts/debug/kqprun/script.clickhouse.local.txt new file mode 100644 index 00000000..e6cdc3c3 --- /dev/null +++ b/scripts/debug/kqprun/script.clickhouse.local.txt @@ -0,0 +1,2 @@ +--SELECT * FROM external_datasource.example_table WHERE datetimeValue = Timestamp("2023-12-31T15:00:00.000000Z"); +SELECT * FROM external_datasource.example_table; diff --git a/scripts/debug/kqprun/script.mysql.local.txt b/scripts/debug/kqprun/script.mysql.local.txt index 132e8b2a..4b7a048f 100644 --- a/scripts/debug/kqprun/script.mysql.local.txt +++ b/scripts/debug/kqprun/script.mysql.local.txt @@ -1 +1 @@ -SELECT * FROM mysql_external_datasource.simple; +SELECT * FROM mysql_external_datasource.datetimes; diff --git a/scripts/debug/kqprun/script.postgresql.local.txt b/scripts/debug/kqprun/script.postgresql.local.txt index 65638304..2d9e6e53 100644 --- a/scripts/debug/kqprun/script.postgresql.local.txt +++ b/scripts/debug/kqprun/script.postgresql.local.txt @@ -1 +1,2 @@ -SELECT * FROM external_datasource.`datetime` WHERE col_01_timestamp = Timestamp("1988-11-20T12:55:28.123Z"); +-- SELECT * FROM external_datasource.`datetime` WHERE col_01_timestamp = Timestamp("1988-11-20T12:55:28.123Z"); +SELECT * FROM external_datasource.`datetime`; diff --git a/tools/clickhouse/timestamp_pushdown/main.go b/tools/clickhouse/timestamp_pushdown/main.go index cab3d7fc..5822f6b4 100644 --- a/tools/clickhouse/timestamp_pushdown/main.go +++ b/tools/clickhouse/timestamp_pushdown/main.go @@ -42,7 +42,8 @@ func main() { createTableQuery := ` CREATE TABLE IF NOT EXISTS example_table ( id UInt32, - datetimeValue DateTime64(8, 'UTC') + datetimeValue DateTime64(8, 'Asia/Tokyo') + --datetimeValue DateTime64(8, 'UTC') ) ENGINE = MergeTree() PRIMARY KEY id;` @@ -56,7 +57,7 @@ func main() { // 3. Insert some data into the table insertQuery := ` INSERT INTO example_table (*) VALUES - (1, '1988-11-20 12:55:28.123456000') + (1, '2024-01-01 00:00:00.00000000') ` _, err = db.ExecContext(ctx, insertQuery) @@ -67,9 +68,7 @@ func main() { fmt.Println("Data inserted successfully.") // 4. Query the table with a filtering expression - timeValue := time.Date(1988, 11, 20, 12, 55, 28, 123456000, time.UTC) - - rows, err := db.QueryContext(ctx, "SELECT id, datetimeValue FROM example_table WHERE datetimeValue = ?", timeValue) + rows, err := db.QueryContext(ctx, "SELECT id, datetimeValue FROM example_table") if err != nil { log.Fatalf("failed to execute query: %v", err) } @@ -88,7 +87,7 @@ func main() { log.Fatalf("failed to scan row: %v", err) } - fmt.Printf("ID: %d, DateTime: %s\n", id, datetimeValue.Format(time.RFC3339Nano)) + fmt.Printf("ID: %d, DateTime: %v (%s)\n", id, datetimeValue, datetimeValue.Format(time.RFC3339Nano)) } if err := rows.Err(); err != nil {