You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: examples/native/bind/main.go
+10-7Lines changed: 10 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ func example() error {
30
30
var (
31
31
ctx=context.Background()
32
32
conn, err=proton.Open(&proton.Options{
33
-
Addr: []string{"127.0.0.1:9000"},
33
+
Addr: []string{"127.0.0.1:8463"},
34
34
Auth: proton.Auth{
35
35
Database: "default",
36
36
Username: "default",
@@ -42,18 +42,21 @@ func example() error {
42
42
returnerr
43
43
}
44
44
constddl=`
45
-
CREATE TEMPORARY TABLE example (
46
-
Col1 UInt8
47
-
, Col2 String
45
+
CREATE STREAM example (
46
+
Col1 uint8
47
+
, Col2 string
48
48
, Col3 DateTime
49
49
)
50
50
`
51
+
iferr:=conn.Exec(ctx, `drop stream if exists example`); err!=nil {
52
+
returnerr
53
+
}
51
54
iferr:=conn.Exec(ctx, ddl); err!=nil {
52
55
returnerr
53
56
}
54
57
datetime:=time.Now()
55
58
{
56
-
batch, err:=conn.PrepareBatch(ctx, "INSERT INTO example")
59
+
batch, err:=conn.PrepareBatch(ctx, "INSERT INTO example (* except _tp_time)")
57
60
iferr!=nil {
58
61
returnerr
59
62
}
@@ -73,13 +76,13 @@ func example() error {
73
76
Col3 time.Time
74
77
}
75
78
{
76
-
iferr:=conn.QueryRow(ctx, `SELECT * FROM example WHERE Col1 = $1 AND Col3 = $2`, 2, datetime).ScanStruct(&result); err!=nil {
79
+
iferr:=conn.QueryRow(ctx, `SELECT * except _tp_time FROM example WHERE _tp_time > earliest_ts() AND Col1 = $1 AND Col3 = $2 LIMIT 1`, 2, datetime).ScanStruct(&result); err!=nil {
77
80
returnerr
78
81
}
79
82
fmt.Println(result)
80
83
}
81
84
{
82
-
iferr:=conn.QueryRow(ctx, `SELECT * FROM example WHERE Col1 = @Col1 AND Col3 = @Col2`,
85
+
iferr:=conn.QueryRow(ctx, `SELECT * except _tp_time FROM example WHERE _tp_time > earliest_ts() AND Col1 = @Col1 AND Col3 = @Col2 LIMIT 1`,
iferr:=conn.QueryRow(ctx, "SELECT COUNT() FROM example").Scan(&count); err!=nil {
113
+
iferr:=conn.QueryRow(ctx, "SELECT count() FROM example WHERE _tp_time > earliest_ts() LIMIT 1").Scan(&count); err!=nil {
113
114
log.Fatal(err)
114
115
}
115
116
fmt.Println("count", count)
116
117
varresultstruct {
117
118
Col1uint64
118
119
Countuint64`ch:"count"`
119
120
}
120
-
iferr:=conn.QueryRow(ctx, "SELECT Col1, COUNT() AS count FROM example WHERE Col1 = $1 GROUP BY Col1", 42).ScanStruct(&result); err!=nil {
121
+
iferr:=conn.QueryRow(ctx, "SELECT Col1, count() AS count FROM example WHERE _tp_time > earliest_ts() AND Col1 = $1 GROUP BY Col1 LIMIT 1", 42).ScanStruct(&result); err!=nil {
iferr:=conn.Exec(ctx, `DROP TABLE IF EXISTS example`); err!=nil {
64
+
iferr:=conn.Exec(ctx, `DROP STREAM IF EXISTS example`); err!=nil {
63
65
returnerr
64
66
}
65
67
err=conn.Exec(ctx, `
66
-
CREATE TABLE IF NOT EXISTS example (
67
-
Col1 UInt8,
68
-
Col2 String,
68
+
CREATE STREAM IF NOT EXISTS example (
69
+
Col1 uint8,
70
+
Col2 string,
69
71
Col3 DateTime
70
-
) engine=Memory
72
+
)
71
73
`)
72
74
iferr!=nil {
73
75
returnerr
@@ -84,8 +86,7 @@ func example() error {
84
86
iferr:=batch.Send(); err!=nil {
85
87
returnerr
86
88
}
87
-
88
-
rows, err:=conn.Query(ctx, "SELECT Col1, Col2, Col3 FROM example WHERE Col1 >= $1 AND Col2 <> $2 AND Col3 <= $3", 0, "xxx", time.Now())
89
+
rows, err:=conn.Query(ctx, "SELECT Col1, Col2, Col3 FROM example WHERE _tp_time > earliest_ts() AND Col1 >= $1 AND Col2 <> $2 AND Col3 <= $3 LIMIT 12", 0, "xxx", time.Now())
0 commit comments