File tree 2 files changed +25
-1
lines changed
2 files changed +25
-1
lines changed Original file line number Diff line number Diff line change @@ -23,6 +23,9 @@ func (*UUID) Read(decoder *binary.Decoder) (interface{}, error) {
23
23
if err != nil {
24
24
return "" , err
25
25
}
26
+
27
+ src = swap (src )
28
+
26
29
var uuid [36 ]byte
27
30
{
28
31
hex .Encode (uuid [:], src [:4 ])
@@ -56,12 +59,28 @@ func (u *UUID) Write(encoder *binary.Encoder, v interface{}) (err error) {
56
59
Column : u ,
57
60
}
58
61
}
62
+
63
+ uuid = swap (uuid )
64
+
59
65
if _ , err := encoder .Write (uuid ); err != nil {
60
66
return err
61
67
}
62
68
return nil
63
69
}
64
70
71
+ func swap (src []byte ) []byte {
72
+ _ = src [15 ]
73
+ src [0 ], src [7 ] = src [7 ], src [0 ]
74
+ src [1 ], src [6 ] = src [6 ], src [1 ]
75
+ src [2 ], src [5 ] = src [5 ], src [2 ]
76
+ src [3 ], src [4 ] = src [4 ], src [3 ]
77
+ src [8 ], src [15 ] = src [15 ], src [8 ]
78
+ src [9 ], src [14 ] = src [14 ], src [9 ]
79
+ src [10 ], src [13 ] = src [13 ], src [10 ]
80
+ src [11 ], src [12 ] = src [12 ], src [11 ]
81
+ return src
82
+ }
83
+
65
84
func uuid2bytes (str string ) ([]byte , error ) {
66
85
var uuid [16 ]byte
67
86
if str [8 ] != '-' || str [13 ] != '-' || str [18 ] != '-' || str [23 ] != '-' {
Original file line number Diff line number Diff line change 4
4
"bytes"
5
5
"context"
6
6
"database/sql/driver"
7
+ "unicode"
7
8
8
9
"github.com/kshvakov/clickhouse/lib/data"
9
10
)
@@ -138,13 +139,17 @@ func (stmt *stmt) bind(args []driver.NamedValue) string {
138
139
char == '(' ,
139
140
char == ',' ,
140
141
char == '%' ,
142
+ char == '+' ,
143
+ char == '-' ,
144
+ char == '*' ,
145
+ char == '/' ,
141
146
char == '[' :
142
147
keyword = true
143
148
default :
144
149
if limit .matchRune (char ) {
145
150
keyword = true
146
151
} else {
147
- keyword = keyword && (char == ' ' || char == '\t' || char == '\n' )
152
+ keyword = keyword && unicode . IsSpace (char )
148
153
}
149
154
}
150
155
buf .WriteRune (char )
You can’t perform that action at this time.
0 commit comments