0 Collaborator |
aac43f61a554ae811d798659f143b0235057c762 | Author: Vincent Rischmann <vincent@rischmann.fr> | 2024-07-22 17:01:45+02:00 readme: fix build command for Debian The dockerfile jessie-image.docker doesn't exist anymore. patch by Vincent Rischmann; reviewed by Mick Semb Wever
420e3b873d91c8a9c4812f44a3ae279ea85dfb1a | Author: Vincent Rischmann <vincent@rischmann.fr> | 2020-06-15 18:06:27+02:00 Fix tuple marshaling (#1458) * fix marshalTuple for null tuple elements Per the CQL spec a null [bytes] value should be encoded as the length -1 only, the previous behavior of marshalTuple would instead write the length 0. This broke both cqlsh and the Datastax Java driver when attempting to unmarshal the value. * improve marshalTuple tests
80dc62113c6d99e8a101fdab30d63362bf52b763 | Author: Vincent Rischmann <vincent@rischmann.fr> | 2020-06-13 23:00:51+02:00 fix tuple unmarshaling (#1450) * fix tuple unmarshaling There are two problems. First, tuples with a null value are not handled properly which results in a panic: panic: runtime error: slice bounds out of range [:-1] goroutine 1 [running]: github.com/gocql/gocql.unmarshalTuple(0x769880, 0xc0000e8cc0, 0xc0000ae83a, 0x10, 0x4a, 0xc000186540, 0xc000190480, 0xc000190480, 0x16) /home/vincent/dev/go/src/github.com/gocql/gocql/marshal.go:1950 +0x1276 github.com/gocql/gocql.Unmarshal(0x769880, 0xc0000e8cc0, 0xc0000ae836, 0x10, 0x4a, 0xc000186540, 0xc000190480, 0xc0000e8cc0, 0xc0000ae832) /home/vincent/dev/go/src/github.com/gocql/gocql/marshal.go:167 +0xd56 github.com/gocql/gocql.unmarshalMap(0x769800, 0xc0000e8d00, 0xc0000ae836, 0x10, 0x4e, 0x698740, 0xc000190450, 0x0, 0x677f11) /home/vincent/dev/go/src/github.com/gocql/gocql/marshal.go:1669 +0x8fb github.com/gocql/gocql.Unmarshal(0x769800, 0xc0000e8d00, 0xc0000ae828, 0x1e, 0x58, 0x698740, 0xc000190450, 0x0, 0x0) /home/vincent/dev/go/src/github.com/gocql/gocql/marshal.go:159 +0xcbf github.com/gocql/gocql.scanColumn(0xc0000ae828, 0x1e, 0x58, 0xc0000b0988, 0x6, 0xc0000b09a0, 0xc, 0xc0000b09b0, 0x4, 0x769800, ...) /home/vincent/dev/go/src/github.com/gocql/gocql/session.go:1314 +0x274 github.com/gocql/gocql.(*Iter).Scan(0xc0001963f0, 0xc000190460, 0x2, 0x2, 0x1) /home/vincent/dev/go/src/github.com/gocql/gocql/session.go:1414 +0x2e5 main.main() /home/vincent/tmp/gocql-tuple-map/main.go:90 +0x9cc It panics when unmarshaling into a struct or into an array/slice. Second, the unmarshaling code does not work with pointer fields in a struct or pointer elements in an array/slice which results in a panic: panic: reflect.Set: value of type time.Time is not assignable to type *time.Time goroutine 1 [running]: reflect.Value.assignTo(0x6fa700, 0xc000282280, 0x199, 0x7026c8, 0xb, 0x6fc0e0, 0x0, 0x0, 0x6fc0e0, 0xc000282280) /usr/local/go/src/reflect/value.go:2403 +0x426 reflect.Value.Set(0x6fc0e0, 0xc0002821b8, 0x196, 0x6fa700, 0xc000282280, 0x199) /usr/local/go/src/reflect/value.go:1532 +0xbd github.com/gocql/gocql.unmarshalTuple(0x7698c0, 0xc000384100, 0xc0003aa0b6, 0x10, 0x4a, 0xc00028c1c0, 0xc0002821a0, 0xc0002821a0, 0x16) /home/vincent/dev/go/src/github.com/gocql/gocql/marshal.go:1952 +0xf06 github.com/gocql/gocql.Unmarshal(0x7698c0, 0xc000384100, 0xc0003aa0b6, 0x10, 0x4a, 0xc00028c1c0, 0xc0002821a0, 0xc000384100, 0xc0003aa0b2) /home/vincent/dev/go/src/github.com/gocql/gocql/marshal.go:166 +0xd56 github.com/gocql/gocql.unmarshalMap(0x769840, 0xc000384140, 0xc0003aa0b6, 0x10, 0x4e, 0x698720, 0xc000282170, 0x0, 0x677e51) /home/vincent/dev/go/src/github.com/gocql/gocql/marshal.go:1668 +0x8fb github.com/gocql/gocql.Unmarshal(0x769840, 0xc000384140, 0xc0003aa0a8, 0x1e, 0x58, 0x698720, 0xc000282170, 0x0, 0x0) /home/vincent/dev/go/src/github.com/gocql/gocql/marshal.go:158 +0xcbf github.com/gocql/gocql.scanColumn(0xc0003aa0a8, 0x1e, 0x58, 0xc000382018, 0x6, 0xc000382030, 0xc, 0xc000382040, 0x4, 0x769840, ...) /home/vincent/dev/go/src/github.com/gocql/gocql/session.go:1314 +0x274 github.com/gocql/gocql.(*Iter).Scan(0xc00029a120, 0xc000282180, 0x2, 0x2, 0x1) /home/vincent/dev/go/src/github.com/gocql/gocql/session.go:1414 +0x2e5 main.main() /home/vincent/tmp/gocql-tuple-map/main.go:90 +0x9cc This commit fixes both problems * add tests for unmarshalTuple
30de9a1866a84c5cf21c2722b09ee6acac943084 | Author: Vincent Rischmann <vincent@rischmann.fr> | 2019-01-22 21:58:11+01:00 handle tinyint fields in getCassandraBaseType (#1255)
49a367be4d1e8b56ee9bc99563c4622aa8c7e621 | Author: Vincent Rischmann <vincent@rischmann.fr> | 2019-01-22 21:57:58+01:00 marshal: prevent calling IsNil on non nullable types (#1256)
0fc3c7128b9d71c1fef9f932c53a2ff3fe5a965b | Author: Vincent Rischmann <vincent@rischmann.fr> | 2018-10-18 20:23:53+02:00 session: NewBatch needs a valid speculation execution policy The old gocql.NewBatch function creates a bad Batch object that can fail with a nil pointer dereference when executing an empty batch. Because the batch is empty, IsIdempotent returns true and then queryExecutor.executeQuery fails when calling sp.Delay() because no spec has been set on the Batch by NewBatch.
fd6e780758894c14b3838e562b24a4505c291ed5 | Author: Vincent Rischmann <vincent@rischmann.fr> | 2018-08-20 22:54:07+02:00 fix typo (#1142)
a2c732f85a90e3b03df8088d7719488c8dc4d7d1 | Author: Vincent Rischmann <vincent@rischmann.fr> | 2018-02-18 15:20:18+01:00 Replace tolower (#1064) * session: save an allocation in isUseStatement * session: add a test for isUseStatement
c79450b345f160eccb363f55095de6fd5e41b3e7 | Author: Vincent Rischmann <vincent@rischmann.fr> | 2018-02-14 20:40:13+01:00 Document unset value (#1060) * document UnsetValue * mention that UnsetValue only works with protocol v4
1303a32993a1242a6fb58dc497a3b8a54ffd257d | Author: Vincent Rischmann <vincent@rischmann.fr> | 2018-02-05 14:46:42+01:00 marshal: fix marshalling of ints with a wrong type (#1058) When trying to marshal a value with the wrong type into a int, smallint or tinyint, marshalInt, marshalSmallint and marshalTinyint fail with a panic because IsNil is called on a non-pointer value.
93711fb9002b469d61ae13ed615441c5e57c1da1 | Author: Vincent Rischmann <me@vrischmann.me> | 2017-10-31 17:44:44+01:00 ring describer: fix getHostInfo (#1014) Use the correct *HostInfo in the comparison Fixes #1013
9ed440a36201eacdf54b22f0ffff8153ad0f5ad4 | Author: Vincent Rischmann <vincent@rischmann.fr> | 2017-10-25 20:58:36+02:00 enable ipv4 preferred lookup using an environment variable
3cbf89b8d9c2457434a3ac919978ef318b03119c | Author: Vincent Rischmann <me@vrischmann.me> | 2017-03-16 01:18:04+01:00 metadata: key_aliases are only relevant with proto version 1
a75685ab45088f11292b67b0f97733e1bda6161f | Author: Vincent Rischmann <me@vrischmann.me> | 2017-03-14 00:14:32+01:00 add the constructor NewNativeType
a56be99b0e364083ae54d9e5e48703d524256ded | Author: Vincent Rischmann <me@vrischmann.me> | 2017-03-08 11:47:37+01:00 fix a bunch of typos
8dd0437563d0ea6875e3e3f17e9868fc83a03dc7 | Author: Vincent Rischmann <me@vrischmann.me> | 2017-03-07 19:37:51+01:00 reset the context when calling Query.reset
0846d72689b0f01b0a94edd152278a7aaac1f46f | Author: Vincent Rischmann <me@vrischmann.me> | 2016-12-29 17:18:40+01:00 conn: fix typo in executeBatch
b0b4cc30eff2e6acd0977ec5dd214f6bb9d0180b | Author: Vincent Rischmann <me@vrischmann.me> | 2016-11-25 14:55:13+01:00 check that the framer exists before trying to access the warnings
3f65847c43af53a6dfe79434d74b1901e0a94658 | Author: Vincent Rischmann <me@vrischmann.me> | 2016-11-22 21:16:19+01:00 add the Warnings function on Iter
935b495ebe4984305dc8f59b3cb16e2fd3698b6c | Author: Vincent Rischmann <me@vrischmann.me> | 2016-11-22 11:48:10+01:00 add myself to the authors file
55a0619f51bb5661d8b774925b521f9b5746d621 | Author: Vincent Rischmann <me@vrischmann.me> | 2016-11-19 20:59:38+01:00 by default forward the logs to the standard logger
9a96eb7cafa99a986e6cf2169738432458dba6e2 | Author: Vincent Rischmann <me@vrischmann.me> | 2016-11-16 14:34:07+01:00 expose the StdLogger interface so that it's visible via godoc
e8ddc4f64a1b93721b662736b104114b005b263c | Author: Vincent Rischmann <me@vrischmann.me> | 2016-11-16 13:49:09+01:00 replace standard logger with the global Logger
9ec6cba27dfa790b4dd142d30c79848d5fe07287 | Author: Vincent Rischmann <me@vrischmann.me> | 2016-11-16 13:45:41+01:00 add the stdLogger interface and Logger global var