diff --git a/go.mod b/go.mod index 4fdf35c42254b..27e1f315f9d87 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/influxdata/telegraf -go 1.25.0 +go 1.25.3 godebug x509negativeserial=1 @@ -23,7 +23,7 @@ require ( github.com/Azure/go-autorest/autorest/adal v0.9.24 github.com/Azure/go-autorest/autorest/azure/auth v0.5.13 github.com/BurntSushi/toml v1.5.0 - github.com/ClickHouse/clickhouse-go/v2 v2.40.3 + github.com/ClickHouse/clickhouse-go/v2 v2.41.0 github.com/DATA-DOG/go-sqlmock v1.5.2 github.com/IBM/nzgo/v12 v12.0.10 github.com/IBM/sarama v1.46.2 @@ -81,7 +81,7 @@ require ( github.com/digitalocean/go-libvirt v0.0.0-20250417173424-a6a66ef779d6 github.com/dimchansky/utfbom v1.1.1 github.com/djherbis/times v1.6.0 - github.com/docker/docker v28.5.1+incompatible + github.com/docker/docker v28.5.2+incompatible github.com/docker/go-connections v0.6.0 github.com/dustin/go-humanize v1.0.1 github.com/dynatrace-oss/dynatrace-metric-utils-go v0.5.0 @@ -203,7 +203,7 @@ require ( github.com/tdrn-org/go-hue v0.3.0 github.com/tdrn-org/go-nsdp v0.5.0 github.com/tdrn-org/go-tr064 v0.2.2 - github.com/testcontainers/testcontainers-go v0.39.0 + github.com/testcontainers/testcontainers-go v0.40.0 github.com/testcontainers/testcontainers-go/modules/azure v0.39.0 github.com/testcontainers/testcontainers-go/modules/kafka v0.39.0 github.com/thomasklein94/packer-plugin-libvirt v0.5.0 @@ -230,15 +230,15 @@ require ( go.starlark.net v0.0.0-20250906160240-bf296ed553ea go.step.sm/crypto v0.72.0 go.yaml.in/yaml/v3 v3.0.4 - golang.org/x/crypto v0.43.0 + golang.org/x/crypto v0.44.0 golang.org/x/exp v0.0.0-20250911091902-df9299821621 golang.org/x/mod v0.29.0 - golang.org/x/net v0.46.0 + golang.org/x/net v0.47.0 golang.org/x/oauth2 v0.32.0 - golang.org/x/sync v0.17.0 - golang.org/x/sys v0.37.0 - golang.org/x/term v0.36.0 - golang.org/x/text v0.30.0 + golang.org/x/sync v0.18.0 + golang.org/x/sys v0.38.0 + golang.org/x/term v0.37.0 + golang.org/x/text v0.31.0 golang.zx2c4.com/wireguard/wgctrl v0.0.0-20241231184526-a9ab2273dd10 gonum.org/v1/gonum v0.16.0 google.golang.org/api v0.252.0 @@ -289,7 +289,7 @@ require ( github.com/Azure/go-autorest/tracing v0.6.0 // indirect github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.5.0 // indirect - github.com/ClickHouse/ch-go v0.68.0 // indirect + github.com/ClickHouse/ch-go v0.69.0 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.53.0 // indirect @@ -485,7 +485,7 @@ require ( github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c // indirect github.com/panjf2000/ants/v2 v2.10.0 // indirect github.com/panjf2000/gnet/v2 v2.6.3 // indirect - github.com/paulmach/orb v0.11.1 // indirect + github.com/paulmach/orb v0.12.0 // indirect github.com/philhofer/fwd v1.2.0 // indirect github.com/pierrec/lz4/v4 v4.1.22 // indirect github.com/pion/logging v0.2.2 // indirect @@ -506,7 +506,7 @@ require ( github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/samber/lo v1.47.0 // indirect github.com/seancfoley/bintree v1.3.1 // indirect - github.com/segmentio/asm v1.2.0 // indirect + github.com/segmentio/asm v1.2.1 // indirect github.com/shopspring/decimal v1.4.0 // indirect github.com/signalfx/com_signalfx_metrics_protobuf v0.0.3 // indirect github.com/signalfx/gohistogram v0.0.0-20160107210732-1ccfd2ff5083 // indirect @@ -562,9 +562,9 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/telemetry v0.0.0-20250908211612-aef8a434d053 // indirect + golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8 // indirect golang.org/x/time v0.14.0 // indirect - golang.org/x/tools v0.37.0 // indirect + golang.org/x/tools v0.38.0 // indirect golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 // indirect google.golang.org/genproto v0.0.0-20250603155806-513f23925822 // indirect diff --git a/go.sum b/go.sum index 7d7aeb3364db3..fb5141005d0e0 100644 --- a/go.sum +++ b/go.sum @@ -730,10 +730,10 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg= github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/ClickHouse/ch-go v0.68.0 h1:zd2VD8l2aVYnXFRyhTyKCrxvhSz1AaY4wBUXu/f0GiU= -github.com/ClickHouse/ch-go v0.68.0/go.mod h1:C89Fsm7oyck9hr6rRo5gqqiVtaIY6AjdD0WFMyNRQ5s= -github.com/ClickHouse/clickhouse-go/v2 v2.40.3 h1:46jB4kKwVDUOnECpStKMVXxvR0Cg9zeV9vdbPjtn6po= -github.com/ClickHouse/clickhouse-go/v2 v2.40.3/go.mod h1:qO0HwvjCnTB4BPL/k6EE3l4d9f/uF+aoimAhJX70eKA= +github.com/ClickHouse/ch-go v0.69.0 h1:nO0OJkpxOlN/eaXFj0KzjTz5p7vwP1/y3GN4qc5z/iM= +github.com/ClickHouse/ch-go v0.69.0/go.mod h1:9XeZpSAT4S0kVjOpaJ5186b7PY/NH/hhF8R6u0WIjwg= +github.com/ClickHouse/clickhouse-go/v2 v2.41.0 h1:JbLKMXLEkW0NMalMgI+GYb6FVZtpaMVEzQa/HC1ZMRE= +github.com/ClickHouse/clickhouse-go/v2 v2.41.0/go.mod h1:/RoTHh4aDA4FOCIQggwsiOwO7Zq1+HxQ0inef0Au/7k= github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU= github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= @@ -1134,8 +1134,8 @@ github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v24.0.6+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v28.5.1+incompatible h1:Bm8DchhSD2J6PsFzxC35TZo4TLGR2PdW/E69rU45NhM= -github.com/docker/docker v28.5.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM= +github.com/docker/docker v28.5.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-connections v0.6.0 h1:LlMG9azAe1TqfR7sO+NJttz1gy6KO7VJBh+pMmjSD94= github.com/docker/go-connections v0.6.0/go.mod h1:AahvXYshr6JgfUJGdDCs2b5EZG/vmaMAntpSFH5BFKE= @@ -2066,8 +2066,8 @@ github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0Mw github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= -github.com/paulmach/orb v0.11.1 h1:3koVegMC4X/WeiXYz9iswopaTwMem53NzTJuTF20JzU= -github.com/paulmach/orb v0.11.1/go.mod h1:5mULz1xQfs3bmQm63QEJA6lNGujuRafwA5S/EnuLaLU= +github.com/paulmach/orb v0.12.0 h1:z+zOwjmG3MyEEqzv92UN49Lg1JFYx0L9GpGKNVDKk1s= +github.com/paulmach/orb v0.12.0/go.mod h1:5mULz1xQfs3bmQm63QEJA6lNGujuRafwA5S/EnuLaLU= github.com/paulmach/protoscan v0.2.1/go.mod h1:SpcSwydNLrxUGSDvXvO0P7g7AuhJ7lcKfDlhJCDw2gY= github.com/pavlo-v-chernykh/keystore-go/v4 v4.5.0 h1:2nosf3P75OZv2/ZO/9Px5ZgZ5gbKrzA3joN1QMfOGMQ= github.com/pavlo-v-chernykh/keystore-go/v4 v4.5.0/go.mod h1:lAVhWwbNaveeJmxrxuSTxMgKpF6DjnuVpn6T8WiBwYQ= @@ -2224,8 +2224,8 @@ github.com/seancfoley/bintree v1.3.1 h1:cqmmQK7Jm4aw8gna0bP+huu5leVOgHGSJBEpUx3E github.com/seancfoley/bintree v1.3.1/go.mod h1:hIUabL8OFYyFVTQ6azeajbopogQc2l5C/hiXMcemWNU= github.com/seancfoley/ipaddress-go v1.7.1 h1:fDWryS+L8iaaH5RxIKbY0xB5Z+Zxk8xoXLN4S4eAPdQ= github.com/seancfoley/ipaddress-go v1.7.1/go.mod h1:TQRZgv+9jdvzHmKoPGBMxyiaVmoI0rYpfEk8Q/sL/Iw= -github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys= -github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= +github.com/segmentio/asm v1.2.1 h1:DTNbBqs57ioxAD4PrArqftgypG4/qNpXoJx8TVXxPR0= +github.com/segmentio/asm v1.2.1/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= github.com/sensu/sensu-go/api/core/v2 v2.16.0 h1:HOq4rFkQ1S5ZjxmMTLc5J5mAbECrnKWvtXXbMqr3j9s= github.com/sensu/sensu-go/api/core/v2 v2.16.0/go.mod h1:MjM7+MCGEyTAgaZ589SiGHwYiaYF7N/58dU0J070u/0= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= @@ -2343,8 +2343,8 @@ github.com/tdrn-org/go-nsdp v0.5.0/go.mod h1:zp7CxiCPcyXHo+s6tn+wrNBr1qQe1G/hOh/ github.com/tdrn-org/go-tr064 v0.2.2 h1:rDybEK1m2xfV5QPWHtnIJOt+xG4GFSkQSwA6FS2bQC4= github.com/tdrn-org/go-tr064 v0.2.2/go.mod h1:P2WWUiBcXDGOo+sqJ4hWn4YXYH9kWaYjZo74EdFDSS0= github.com/tedsuo/ifrit v0.0.0-20180802180643-bea94bb476cc/go.mod h1:eyZnKCc955uh98WQvzOm0dgAeLnf2O0Rz0LPoC5ze+0= -github.com/testcontainers/testcontainers-go v0.39.0 h1:uCUJ5tA+fcxbFAB0uP3pIK3EJ2IjjDUHFSZ1H1UxAts= -github.com/testcontainers/testcontainers-go v0.39.0/go.mod h1:qmHpkG7H5uPf/EvOORKvS6EuDkBUPE3zpVGaH9NL7f8= +github.com/testcontainers/testcontainers-go v0.40.0 h1:pSdJYLOVgLE8YdUY2FHQ1Fxu+aMnb6JfVz1mxk7OeMU= +github.com/testcontainers/testcontainers-go v0.40.0/go.mod h1:FSXV5KQtX2HAMlm7U3APNyLkkap35zNLxukw9oBi/MY= github.com/testcontainers/testcontainers-go/modules/azure v0.39.0 h1:jBNEP6QdGs5w1fair4N1W9AlXM7wpbNZqBYbtyVCGvI= github.com/testcontainers/testcontainers-go/modules/azure v0.39.0/go.mod h1:98b1kjnNoVYd/CdOWcResAlSm2zWHt49s9jfSoj20fs= github.com/testcontainers/testcontainers-go/modules/kafka v0.39.0 h1:Nkrk5fjoHbj1bqE8OkMT25Y8bcSDgS5smdVaX3Xkfyc= @@ -2610,8 +2610,8 @@ golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZP golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/crypto v0.43.0 h1:dduJYIi3A3KOfdGOHX8AVZ/jGiyPa3IbBozJ5kNuE04= -golang.org/x/crypto v0.43.0/go.mod h1:BFbav4mRNlXJL4wNeejLpWxB7wMbc79PdRGhWKncxR0= +golang.org/x/crypto v0.44.0 h1:A97SsFvM3AIwEEmTBiaxPPTYpDC47w720rdiiUvgoAU= +golang.org/x/crypto v0.44.0/go.mod h1:013i+Nw79BMiQiMsOPcVCB5ZIJbYkerPrGnOa00tvmc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2759,8 +2759,8 @@ golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= -golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4= -golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210= +golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= +golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2812,8 +2812,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= -golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= +golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -2935,11 +2935,11 @@ golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ= -golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= +golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= -golang.org/x/telemetry v0.0.0-20250908211612-aef8a434d053 h1:dHQOQddU4YHS5gY33/6klKjq7Gp3WwMyOXGNp5nzRj8= -golang.org/x/telemetry v0.0.0-20250908211612-aef8a434d053/go.mod h1:+nZKN+XVh4LCiA9DV3ywrzN4gumyCnKjau3NGb9SGoE= +golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8 h1:LvzTn0GQhWuvKH/kVRS3R3bVAsdQWI7hvfLHGgh9+lU= +golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8/go.mod h1:Pi4ztBfryZoJEkyFTI5/Ocsu2jXyDr6iSdgJiYE/uwE= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -2960,8 +2960,8 @@ golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= -golang.org/x/term v0.36.0 h1:zMPR+aF8gfksFprF/Nc/rd1wRS1EI6nDBGyWAvDzx2Q= -golang.org/x/term v0.36.0/go.mod h1:Qu394IJq6V6dCBRgwqshf3mPF85AqzYEzofzRdZkWss= +golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= +golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2983,8 +2983,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k= -golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= +golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= +golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -3069,8 +3069,8 @@ golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.37.0 h1:DVSRzp7FwePZW356yEAChSdNcQo6Nsp+fex1SUW09lE= -golang.org/x/tools v0.37.0/go.mod h1:MBN5QPQtLMHVdvsbtarmTNukZDdgwdwlO5qGacAzF0w= +golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ= +golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/vendor/github.com/Azure/azure-kusto-go/kusto/ingest/.gitignore b/vendor/github.com/Azure/azure-kusto-go/kusto/ingest/.gitignore index 8e26cff44d8c0..7c8c59b4d42ca 100644 --- a/vendor/github.com/Azure/azure-kusto-go/kusto/ingest/.gitignore +++ b/vendor/github.com/Azure/azure-kusto-go/kusto/ingest/.gitignore @@ -1,2 +1,2 @@ -config.json +config.json *.csv \ No newline at end of file diff --git a/vendor/github.com/Azure/azure-kusto-go/kusto/ingest/internal/queued/.gitignore b/vendor/github.com/Azure/azure-kusto-go/kusto/ingest/internal/queued/.gitignore index 4548eff10d2c7..e6c28db27a991 100644 --- a/vendor/github.com/Azure/azure-kusto-go/kusto/ingest/internal/queued/.gitignore +++ b/vendor/github.com/Azure/azure-kusto-go/kusto/ingest/internal/queued/.gitignore @@ -1,2 +1,2 @@ -test_file +test_file test_file.gz \ No newline at end of file diff --git a/vendor/github.com/Azure/go-amqp/CODE_OF_CONDUCT.md b/vendor/github.com/Azure/go-amqp/CODE_OF_CONDUCT.md index f9ba8cf65f3e3..c72a5749c52ac 100644 --- a/vendor/github.com/Azure/go-amqp/CODE_OF_CONDUCT.md +++ b/vendor/github.com/Azure/go-amqp/CODE_OF_CONDUCT.md @@ -1,9 +1,9 @@ -# Microsoft Open Source Code of Conduct - -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). - -Resources: - -- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) -- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) -- Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns +# Microsoft Open Source Code of Conduct + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). + +Resources: + +- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) +- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) +- Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns diff --git a/vendor/github.com/Azure/go-amqp/LICENSE b/vendor/github.com/Azure/go-amqp/LICENSE index 387b3e7e0f3b0..930bd6bdd7b0c 100644 --- a/vendor/github.com/Azure/go-amqp/LICENSE +++ b/vendor/github.com/Azure/go-amqp/LICENSE @@ -1,22 +1,22 @@ - MIT License - - Copyright (C) 2017 Kale Blankenship - Portions Copyright (C) Microsoft Corporation - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + MIT License + + Copyright (C) 2017 Kale Blankenship + Portions Copyright (C) Microsoft Corporation + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/vendor/github.com/Azure/go-amqp/README.md b/vendor/github.com/Azure/go-amqp/README.md index 23b96c37a9910..764505214dbcc 100644 --- a/vendor/github.com/Azure/go-amqp/README.md +++ b/vendor/github.com/Azure/go-amqp/README.md @@ -1,194 +1,194 @@ -# AMQP 1.0 Client Module for Go - -[![PkgGoDev](https://pkg.go.dev/badge/github.com/Azure/go-amqp)](https://pkg.go.dev/github.com/Azure/go-amqp) -[![Build Status](https://dev.azure.com/azure-sdk/public/_apis/build/status/go/Azure.go-amqp?branchName=main)](https://dev.azure.com/azure-sdk/public/_build/latest?definitionId=1292&branchName=main) -[![Go Report Card](https://goreportcard.com/badge/github.com/Azure/go-amqp)](https://goreportcard.com/report/github.com/Azure/go-amqp) -[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/Azure/go-amqp/main/LICENSE) - -The [amqp][godoc_amqp] module is an AMQP 1.0 client implementation for Go. - -[AMQP 1.0][amqp_spec] is not compatible with AMQP 0-9-1 or 0-10. - -## Getting Started - -### Prerequisites - -- Go 1.18 or later -- An AMQP 1.0 compliant [broker][broker_listing] - -### Install the module - -```sh -go get github.com/Azure/go-amqp -``` - -### Connect to a broker - -Call [amqp.Dial()][godoc_dial] to connect to an AMQP broker. This creates an [*amqp.Conn][godoc_conn]. - -```go -conn, err := amqp.Dial(context.TODO(), "amqp[s]://", nil) -if err != nil { - // handle error -} -``` - -### Sending and receiving messages - -In order to send or receive messages, first create an [*amqp.Session][godoc_session] from the [*amqp.Conn][godoc_conn] by calling [Conn.NewSession()][godoc_conn_session]. - -```go -session, err := conn.NewSession(context.TODO(), nil) -if err != nil { - // handle error -} -``` - -Once the session has been created, create an [*amqp.Sender][godoc_sender] to send messages and/or an [*amqp.Receiver][godoc_receiver] to receive messages by calling [Session.NewSender()][godoc_session_sender] and/or [Session.NewReceiver()][godoc_session_receiver] respectively. - -```go -// create a new sender -sender, err := session.NewSender(context.TODO(), "", nil) -if err != nil { - // handle error -} - -// send a message -err = sender.Send(context.TODO(), amqp.NewMessage([]byte("Hello!")), nil) -if err != nil { - // handle error -} - -// create a new receiver -receiver, err := session.NewReceiver(context.TODO(), "", nil) -if err != nil { - // handle error -} - -// receive the next message -msg, err := receiver.Receive(context.TODO(), nil) -if err != nil { - // handle error -} -``` - -## Key concepts - -- An [*amqp.Conn][godoc_conn] connects a client to a broker (e.g. Azure Service Bus). -- Once a connection has been established, create one or more [*amqp.Session][godoc_session] instances. -- From an [*amqp.Session][godoc_session] instance, create one or more senders and/or receivers. - - An [*amqp.Sender][godoc_sender] is used to send messages from the client to a broker. - - An [*amqp.Receiver][godoc_receiver] is used to receive messages from a broker to the client. - -For a complete overview of AMQP's conceptual model, please consult section [2.1 Transport][section_2_1] of the AMQP 1.0 specification. - -## Examples - -The following examples cover common scenarios for sending and receiving messages: - -- [Create a message](#create-a-message) -- [Send message](#send-message) -- [Receive messages](#receive-messages) - -### Create a message - -A message can be created in two different ways. The first is to simply instantiate a new instance of the [*amqp.Message][godoc_message] type, populating the required fields. - -```go -msg := &amqp.Message{ - // populate fields (Data is the most common) -} -``` - -The second is the [amqp.NewMessage][godoc_message_ctor] constructor. It passes the provided `[]byte` to the first entry in the `*amqp.Message.Data` slice. - -```go -msg := amqp.NewMessage(/* some []byte */) -``` - -This is purely a convenience constructor as many AMQP brokers expect a message's data in the `Data` field. - -### Send message - -Once an [*amqp.Session][godoc_session] has been created, create an [*amqp.Sender][godoc_sender] in order to send messages. - -```go -sender, err := session.NewSender(context.TODO(), "", nil) -``` - -Once the [*amqp.Sender][godoc_sender] has been created, call [Sender.Send()][godoc_sender_send] to send an [*amqp.Message][godoc_message]. - -```go -err := sender.Send(context.TODO(), msg, nil) -``` - -Depending on the sender's configuration, the call to [Sender.Send()][godoc_sender_send] will block until the peer has acknowledged the message was received. -The amount of time the call will block is dependent upon network latency and the peer's load, but is usually in a few dozen milliseconds. - -### Receive messages - -Once an [*amqp.Session][godoc_session] has been created, create an [*amqp.Receiver][godoc_receiver] in order to receive messages. - -```go -receiver, err := session.NewReceiver(context.TODO(), "", nil) -``` - -Once the [*amqp.Receiver][godoc_receiver] has been created, call [Receiver.Receive()][godoc_receiver_receive] to wait for an incoming message. - -```go -msg, err := receiver.Receive(context.TODO(), nil) -``` - -Note that calls to [Receiver.Receive()][godoc_receiver_receive] will block until either a message has been received or, if applicable, the provided [context.Context][godoc_context] has been cancelled and/or its deadline exceeded. - -After an [*amqp.Message][godoc_message] message has been received and processed, as the final step it's **imperative** that the [*amqp.Message][godoc_message] is passed to one of the acknowledgement methods on the [*amqp.Receiver][godoc_receiver]. - -- [Receiver.AcceptMessage][godoc_receiver_accept] - the client has accepted the message and no redelivery is required (most common) -- [Receiver.ModifyMessage][godoc_receiver_modify] - the client has modified the message and released it for redelivery with the specified modifications -- [Receiver.RejectMessage][godoc_receiver_reject] - the message is invalid and therefore cannot be processed -- [Receiver.ReleaseMessage][godoc_receiver_release] - the client has released the message for redelivery without any modifications - -```go -err := receiver.AcceptMessage(context.TODO(), msg) -``` - -## Next steps - -See the [examples][godoc_examples] for complete end-to-end examples on how to use this module. - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require you to agree to a -Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us -the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com. - -When you submit a pull request, a CLA bot will automatically determine whether you need to provide -a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions -provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). -For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or -contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. - -[amqp_spec]: http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-overview-v1.0-os.html -[broker_listing]: https://github.com/xinchen10/awesome-amqp -[section_2_1]: http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#section-transport -[godoc_amqp]: https://pkg.go.dev/github.com/Azure/go-amqp -[godoc_examples]: https://pkg.go.dev/github.com/Azure/go-amqp#pkg-examples -[godoc_conn]: https://pkg.go.dev/github.com/Azure/go-amqp#Conn -[godoc_conn_session]: https://pkg.go.dev/github.com/Azure/go-amqp#Conn.NewSession -[godoc_dial]: https://pkg.go.dev/github.com/Azure/go-amqp#Dial -[godoc_context]: https://pkg.go.dev/context#Context -[godoc_message]: https://pkg.go.dev/github.com/Azure/go-amqp#Message -[godoc_message_ctor]: https://pkg.go.dev/github.com/Azure/go-amqp#NewMessage -[godoc_session]: https://pkg.go.dev/github.com/Azure/go-amqp#Session -[godoc_session_sender]: https://pkg.go.dev/github.com/Azure/go-amqp#Session.NewSender -[godoc_session_receiver]: https://pkg.go.dev/github.com/Azure/go-amqp#Session.NewReceiver -[godoc_sender]: https://pkg.go.dev/github.com/Azure/go-amqp#Sender -[godoc_sender_send]: https://pkg.go.dev/github.com/Azure/go-amqp#Sender.Send -[godoc_receiver]: https://pkg.go.dev/github.com/Azure/go-amqp#Receiver -[godoc_receiver_accept]: https://pkg.go.dev/github.com/Azure/go-amqp#Receiver.AcceptMessage -[godoc_receiver_modify]: https://pkg.go.dev/github.com/Azure/go-amqp#Receiver.ModifyMessage -[godoc_receiver_reject]: https://pkg.go.dev/github.com/Azure/go-amqp#Receiver.RejectMessage -[godoc_receiver_release]: https://pkg.go.dev/github.com/Azure/go-amqp#Receiver.ReleaseMessage -[godoc_receiver_receive]: https://pkg.go.dev/github.com/Azure/go-amqp#Receiver.Receive +# AMQP 1.0 Client Module for Go + +[![PkgGoDev](https://pkg.go.dev/badge/github.com/Azure/go-amqp)](https://pkg.go.dev/github.com/Azure/go-amqp) +[![Build Status](https://dev.azure.com/azure-sdk/public/_apis/build/status/go/Azure.go-amqp?branchName=main)](https://dev.azure.com/azure-sdk/public/_build/latest?definitionId=1292&branchName=main) +[![Go Report Card](https://goreportcard.com/badge/github.com/Azure/go-amqp)](https://goreportcard.com/report/github.com/Azure/go-amqp) +[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/Azure/go-amqp/main/LICENSE) + +The [amqp][godoc_amqp] module is an AMQP 1.0 client implementation for Go. + +[AMQP 1.0][amqp_spec] is not compatible with AMQP 0-9-1 or 0-10. + +## Getting Started + +### Prerequisites + +- Go 1.18 or later +- An AMQP 1.0 compliant [broker][broker_listing] + +### Install the module + +```sh +go get github.com/Azure/go-amqp +``` + +### Connect to a broker + +Call [amqp.Dial()][godoc_dial] to connect to an AMQP broker. This creates an [*amqp.Conn][godoc_conn]. + +```go +conn, err := amqp.Dial(context.TODO(), "amqp[s]://", nil) +if err != nil { + // handle error +} +``` + +### Sending and receiving messages + +In order to send or receive messages, first create an [*amqp.Session][godoc_session] from the [*amqp.Conn][godoc_conn] by calling [Conn.NewSession()][godoc_conn_session]. + +```go +session, err := conn.NewSession(context.TODO(), nil) +if err != nil { + // handle error +} +``` + +Once the session has been created, create an [*amqp.Sender][godoc_sender] to send messages and/or an [*amqp.Receiver][godoc_receiver] to receive messages by calling [Session.NewSender()][godoc_session_sender] and/or [Session.NewReceiver()][godoc_session_receiver] respectively. + +```go +// create a new sender +sender, err := session.NewSender(context.TODO(), "", nil) +if err != nil { + // handle error +} + +// send a message +err = sender.Send(context.TODO(), amqp.NewMessage([]byte("Hello!")), nil) +if err != nil { + // handle error +} + +// create a new receiver +receiver, err := session.NewReceiver(context.TODO(), "", nil) +if err != nil { + // handle error +} + +// receive the next message +msg, err := receiver.Receive(context.TODO(), nil) +if err != nil { + // handle error +} +``` + +## Key concepts + +- An [*amqp.Conn][godoc_conn] connects a client to a broker (e.g. Azure Service Bus). +- Once a connection has been established, create one or more [*amqp.Session][godoc_session] instances. +- From an [*amqp.Session][godoc_session] instance, create one or more senders and/or receivers. + - An [*amqp.Sender][godoc_sender] is used to send messages from the client to a broker. + - An [*amqp.Receiver][godoc_receiver] is used to receive messages from a broker to the client. + +For a complete overview of AMQP's conceptual model, please consult section [2.1 Transport][section_2_1] of the AMQP 1.0 specification. + +## Examples + +The following examples cover common scenarios for sending and receiving messages: + +- [Create a message](#create-a-message) +- [Send message](#send-message) +- [Receive messages](#receive-messages) + +### Create a message + +A message can be created in two different ways. The first is to simply instantiate a new instance of the [*amqp.Message][godoc_message] type, populating the required fields. + +```go +msg := &amqp.Message{ + // populate fields (Data is the most common) +} +``` + +The second is the [amqp.NewMessage][godoc_message_ctor] constructor. It passes the provided `[]byte` to the first entry in the `*amqp.Message.Data` slice. + +```go +msg := amqp.NewMessage(/* some []byte */) +``` + +This is purely a convenience constructor as many AMQP brokers expect a message's data in the `Data` field. + +### Send message + +Once an [*amqp.Session][godoc_session] has been created, create an [*amqp.Sender][godoc_sender] in order to send messages. + +```go +sender, err := session.NewSender(context.TODO(), "", nil) +``` + +Once the [*amqp.Sender][godoc_sender] has been created, call [Sender.Send()][godoc_sender_send] to send an [*amqp.Message][godoc_message]. + +```go +err := sender.Send(context.TODO(), msg, nil) +``` + +Depending on the sender's configuration, the call to [Sender.Send()][godoc_sender_send] will block until the peer has acknowledged the message was received. +The amount of time the call will block is dependent upon network latency and the peer's load, but is usually in a few dozen milliseconds. + +### Receive messages + +Once an [*amqp.Session][godoc_session] has been created, create an [*amqp.Receiver][godoc_receiver] in order to receive messages. + +```go +receiver, err := session.NewReceiver(context.TODO(), "", nil) +``` + +Once the [*amqp.Receiver][godoc_receiver] has been created, call [Receiver.Receive()][godoc_receiver_receive] to wait for an incoming message. + +```go +msg, err := receiver.Receive(context.TODO(), nil) +``` + +Note that calls to [Receiver.Receive()][godoc_receiver_receive] will block until either a message has been received or, if applicable, the provided [context.Context][godoc_context] has been cancelled and/or its deadline exceeded. + +After an [*amqp.Message][godoc_message] message has been received and processed, as the final step it's **imperative** that the [*amqp.Message][godoc_message] is passed to one of the acknowledgement methods on the [*amqp.Receiver][godoc_receiver]. + +- [Receiver.AcceptMessage][godoc_receiver_accept] - the client has accepted the message and no redelivery is required (most common) +- [Receiver.ModifyMessage][godoc_receiver_modify] - the client has modified the message and released it for redelivery with the specified modifications +- [Receiver.RejectMessage][godoc_receiver_reject] - the message is invalid and therefore cannot be processed +- [Receiver.ReleaseMessage][godoc_receiver_release] - the client has released the message for redelivery without any modifications + +```go +err := receiver.AcceptMessage(context.TODO(), msg) +``` + +## Next steps + +See the [examples][godoc_examples] for complete end-to-end examples on how to use this module. + +## Contributing + +This project welcomes contributions and suggestions. Most contributions require you to agree to a +Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us +the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com. + +When you submit a pull request, a CLA bot will automatically determine whether you need to provide +a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions +provided by the bot. You will only need to do this once across all repos using our CLA. + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). +For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or +contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. + +[amqp_spec]: http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-overview-v1.0-os.html +[broker_listing]: https://github.com/xinchen10/awesome-amqp +[section_2_1]: http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#section-transport +[godoc_amqp]: https://pkg.go.dev/github.com/Azure/go-amqp +[godoc_examples]: https://pkg.go.dev/github.com/Azure/go-amqp#pkg-examples +[godoc_conn]: https://pkg.go.dev/github.com/Azure/go-amqp#Conn +[godoc_conn_session]: https://pkg.go.dev/github.com/Azure/go-amqp#Conn.NewSession +[godoc_dial]: https://pkg.go.dev/github.com/Azure/go-amqp#Dial +[godoc_context]: https://pkg.go.dev/context#Context +[godoc_message]: https://pkg.go.dev/github.com/Azure/go-amqp#Message +[godoc_message_ctor]: https://pkg.go.dev/github.com/Azure/go-amqp#NewMessage +[godoc_session]: https://pkg.go.dev/github.com/Azure/go-amqp#Session +[godoc_session_sender]: https://pkg.go.dev/github.com/Azure/go-amqp#Session.NewSender +[godoc_session_receiver]: https://pkg.go.dev/github.com/Azure/go-amqp#Session.NewReceiver +[godoc_sender]: https://pkg.go.dev/github.com/Azure/go-amqp#Sender +[godoc_sender_send]: https://pkg.go.dev/github.com/Azure/go-amqp#Sender.Send +[godoc_receiver]: https://pkg.go.dev/github.com/Azure/go-amqp#Receiver +[godoc_receiver_accept]: https://pkg.go.dev/github.com/Azure/go-amqp#Receiver.AcceptMessage +[godoc_receiver_modify]: https://pkg.go.dev/github.com/Azure/go-amqp#Receiver.ModifyMessage +[godoc_receiver_reject]: https://pkg.go.dev/github.com/Azure/go-amqp#Receiver.RejectMessage +[godoc_receiver_release]: https://pkg.go.dev/github.com/Azure/go-amqp#Receiver.ReleaseMessage +[godoc_receiver_receive]: https://pkg.go.dev/github.com/Azure/go-amqp#Receiver.Receive diff --git a/vendor/github.com/Azure/go-amqp/SECURITY.md b/vendor/github.com/Azure/go-amqp/SECURITY.md index e0dfff56a9569..7ab49eb829642 100644 --- a/vendor/github.com/Azure/go-amqp/SECURITY.md +++ b/vendor/github.com/Azure/go-amqp/SECURITY.md @@ -1,41 +1,41 @@ - - -## Security - -Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). - -If you believe you have found a security vulnerability in any Microsoft-owned repository that meets Microsoft's [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)) of a security vulnerability, please report it to us as described below. - -## Reporting Security Issues - -**Please do not report security vulnerabilities through public GitHub issues.** - -Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report). - -If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). - -You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). - -Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: - - * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) - * Full paths of source file(s) related to the manifestation of the issue - * The location of the affected source code (tag/branch/commit or direct URL) - * Any special configuration required to reproduce the issue - * Step-by-step instructions to reproduce the issue - * Proof-of-concept or exploit code (if possible) - * Impact of the issue, including how an attacker might exploit the issue - -This information will help us triage your report more quickly. - -If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs. - -## Preferred Languages - -We prefer all communications to be in English. - -## Policy - -Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd). - - + + +## Security + +Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). + +If you believe you have found a security vulnerability in any Microsoft-owned repository that meets Microsoft's [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)) of a security vulnerability, please report it to us as described below. + +## Reporting Security Issues + +**Please do not report security vulnerabilities through public GitHub issues.** + +Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report). + +If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). + +You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). + +Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: + + * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) + * Full paths of source file(s) related to the manifestation of the issue + * The location of the affected source code (tag/branch/commit or direct URL) + * Any special configuration required to reproduce the issue + * Step-by-step instructions to reproduce the issue + * Proof-of-concept or exploit code (if possible) + * Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs. + +## Preferred Languages + +We prefer all communications to be in English. + +## Policy + +Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd). + + diff --git a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/LICENSE b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/LICENSE index 9e841e7a26e4e..3d8b93bc7987d 100644 --- a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/LICENSE +++ b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/LICENSE @@ -1,21 +1,21 @@ - MIT License - - Copyright (c) Microsoft Corporation. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/vendor/github.com/ClickHouse/ch-go/proto/datetime64.go b/vendor/github.com/ClickHouse/ch-go/proto/datetime64.go index f60ba49ba452a..6527eaef6b13b 100644 --- a/vendor/github.com/ClickHouse/ch-go/proto/datetime64.go +++ b/vendor/github.com/ClickHouse/ch-go/proto/datetime64.go @@ -4,7 +4,7 @@ import ( "time" ) -// Precision of DateTime64. +// Precision of DateTime64 and Time64. // // Tick size (precision): 10^(-precision) seconds. // Valid range: [0:9]. diff --git a/vendor/github.com/ClickHouse/ch-go/proto/error_codes.go b/vendor/github.com/ClickHouse/ch-go/proto/error_codes.go index d3b1a2a61c761..a0a57228c0143 100644 --- a/vendor/github.com/ClickHouse/ch-go/proto/error_codes.go +++ b/vendor/github.com/ClickHouse/ch-go/proto/error_codes.go @@ -2,376 +2,705 @@ package proto // Subset of possible errors. const ( - ErrUnsupportedMethod Error = 1 - ErrUnsupportedParameter Error = 2 - ErrUnexpectedEndOfFile Error = 3 - ErrExpectedEndOfFile Error = 4 - ErrCannotParseText Error = 6 - ErrIncorrectNumberOfColumns Error = 7 - ErrThereIsNoColumn Error = 8 - ErrSizesOfColumnsDoesntMatch Error = 9 - ErrNotFoundColumnInBlock Error = 10 - ErrPositionOutOfBound Error = 11 - ErrParameterOutOfBound Error = 12 - ErrSizesOfColumnsInTupleDoesntMatch Error = 13 - ErrDuplicateColumn Error = 15 - ErrNoSuchColumnInTable Error = 16 - ErrDelimiterInStringLiteralDoesntMatch Error = 17 - ErrCannotInsertElementIntoConstantColumn Error = 18 - ErrSizeOfFixedStringDoesntMatch Error = 19 - ErrNumberOfColumnsDoesntMatch Error = 20 - ErrCannotReadAllDataFromTabSeparatedInput Error = 21 - ErrCannotParseAllValueFromTabSeparatedInput Error = 22 - ErrCannotReadFromIstream Error = 23 - ErrCannotWriteToOstream Error = 24 - ErrCannotParseEscapeSequence Error = 25 - ErrCannotParseQuotedString Error = 26 - ErrCannotParseInputAssertionFailed Error = 27 - ErrCannotPrintFloatOrDoubleNumber Error = 28 - ErrCannotPrintInteger Error = 29 - ErrCannotReadSizeOfCompressedChunk Error = 30 - ErrCannotReadCompressedChunk Error = 31 - ErrAttemptToReadAfterEOF Error = 32 - ErrCannotReadAllData Error = 33 - ErrTooManyArgumentsForFunction Error = 34 - ErrTooLessArgumentsForFunction Error = 35 - ErrBadArguments Error = 36 - ErrUnknownElementInAst Error = 37 - ErrCannotParseDate Error = 38 - ErrTooLargeSizeCompressed Error = 39 - ErrChecksumDoesntMatch Error = 40 - ErrCannotParseDatetime Error = 41 - ErrNumberOfArgumentsDoesntMatch Error = 42 - ErrIllegalTypeOfArgument Error = 43 - ErrIllegalColumn Error = 44 - ErrIllegalNumberOfResultColumns Error = 45 - ErrUnknownFunction Error = 46 - ErrUnknownIdentifier Error = 47 - ErrNotImplemented Error = 48 - ErrLogicalError Error = 49 - ErrUnknownType Error = 50 - ErrEmptyListOfColumnsQueried Error = 51 - ErrColumnQueriedMoreThanOnce Error = 52 - ErrTypeMismatch Error = 53 - ErrStorageDoesntAllowParameters Error = 54 - ErrStorageRequiresParameter Error = 55 - ErrUnknownStorage Error = 56 - ErrTableAlreadyExists Error = 57 - ErrTableMetadataAlreadyExists Error = 58 - ErrIllegalTypeOfColumnForFilter Error = 59 - ErrUnknownTable Error = 60 - ErrOnlyFilterColumnInBlock Error = 61 - ErrSyntaxError Error = 62 - ErrUnknownAggregateFunction Error = 63 - ErrCannotReadAggregateFunctionFromText Error = 64 - ErrCannotWriteAggregateFunctionAsText Error = 65 - ErrNotAColumn Error = 66 - ErrIllegalKeyOfAggregation Error = 67 - ErrCannotGetSizeOfField Error = 68 - ErrArgumentOutOfBound Error = 69 - ErrCannotConvertType Error = 70 - ErrCannotWriteAfterEndOfBuffer Error = 71 - ErrCannotParseNumber Error = 72 - ErrUnknownFormat Error = 73 - ErrCannotReadFromFileDescriptor Error = 74 - ErrCannotWriteToFileDescriptor Error = 75 - ErrCannotOpenFile Error = 76 - ErrCannotCloseFile Error = 77 - ErrUnknownTypeOfQuery Error = 78 - ErrIncorrectFileName Error = 79 - ErrIncorrectQuery Error = 80 - ErrUnknownDatabase Error = 81 - ErrDatabaseAlreadyExists Error = 82 - ErrDirectoryDoesntExist Error = 83 - ErrDirectoryAlreadyExists Error = 84 - ErrFormatIsNotSuitableForInput Error = 85 - ErrReceivedErrorFromRemoteIoServer Error = 86 - ErrCannotSeekThroughFile Error = 87 - ErrCannotTruncateFile Error = 88 - ErrUnknownCompressionMethod Error = 89 - ErrEmptyListOfColumnsPassed Error = 90 - ErrSizesOfMarksFilesAreInconsistent Error = 91 - ErrEmptyDataPassed Error = 92 - ErrUnknownAggregatedDataVariant Error = 93 - ErrCannotMergeDifferentAggregatedDataVariants Error = 94 - ErrCannotReadFromSocket Error = 95 - ErrCannotWriteToSocket Error = 96 - ErrCannotReadAllDataFromChunkedInput Error = 97 - ErrCannotWriteToEmptyBlockOutputStream Error = 98 - ErrUnknownPacketFromClient Error = 99 - ErrUnknownPacketFromServer Error = 100 - ErrUnexpectedPacketFromClient Error = 101 - ErrUnexpectedPacketFromServer Error = 102 - ErrReceivedDataForWrongQueryID Error = 103 - ErrTooSmallBufferSize Error = 104 - ErrCannotReadHistory Error = 105 - ErrCannotAppendHistory Error = 106 - ErrFileDoesntExist Error = 107 - ErrNoDataToInsert Error = 108 - ErrCannotBlockSignal Error = 109 - ErrCannotUnblockSignal Error = 110 - ErrCannotManipulateSigset Error = 111 - ErrCannotWaitForSignal Error = 112 - ErrThereIsNoSession Error = 113 - ErrCannotClockGettime Error = 114 - ErrUnknownSetting Error = 115 - ErrThereIsNoDefaultValue Error = 116 - ErrIncorrectData Error = 117 - ErrEngineRequired Error = 119 - ErrCannotInsertValueOfDifferentSizeIntoTuple Error = 120 - ErrUnknownSetDataVariant Error = 121 - ErrIncompatibleColumns Error = 122 - ErrUnknownTypeOfAstNode Error = 123 - ErrIncorrectElementOfSet Error = 124 - ErrIncorrectResultOfScalarSubquery Error = 125 - ErrCannotGetReturnType Error = 126 - ErrIllegalIndex Error = 127 - ErrTooLargeArraySize Error = 128 - ErrFunctionIsSpecial Error = 129 - ErrCannotReadArrayFromText Error = 130 - ErrTooLargeStringSize Error = 131 - ErrCannotCreateTableFromMetadata Error = 132 - ErrAggregateFunctionDoesntAllowParameters Error = 133 - ErrParametersToAggregateFunctionsMustBeLiterals Error = 134 - ErrZeroArrayOrTupleIndex Error = 135 - ErrUnknownElementInConfig Error = 137 - ErrExcessiveElementInConfig Error = 138 - ErrNoElementsInConfig Error = 139 - ErrAllRequestedColumnsAreMissing Error = 140 - ErrSamplingNotSupported Error = 141 - ErrNotFoundNode Error = 142 - ErrFoundMoreThanOneNode Error = 143 - ErrFirstDateIsBiggerThanLastDate Error = 144 - ErrUnknownOverflowMode Error = 145 - ErrQuerySectionDoesntMakeSense Error = 146 - ErrNotFoundFunctionElementForAggregate Error = 147 - ErrNotFoundRelationElementForCondition Error = 148 - ErrNotFoundRHSElementForCondition Error = 149 - ErrNoAttributesListed Error = 150 - ErrIndexOfColumnInSortClauseIsOutOfRange Error = 151 - ErrUnknownDirectionOfSorting Error = 152 - ErrIllegalDivision Error = 153 - ErrAggregateFunctionNotApplicable Error = 154 - ErrUnknownRelation Error = 155 - ErrDictionariesWasNotLoaded Error = 156 - ErrIllegalOverflowMode Error = 157 - ErrTooManyRows Error = 158 - ErrTimeoutExceeded Error = 159 - ErrTooSlow Error = 160 - ErrTooManyColumns Error = 161 - ErrTooDeepSubqueries Error = 162 - ErrTooDeepPipeline Error = 163 - ErrReadonly Error = 164 - ErrTooManyTemporaryColumns Error = 165 - ErrTooManyTemporaryNonConstColumns Error = 166 - ErrTooDeepAst Error = 167 - ErrTooBigAst Error = 168 - ErrBadTypeOfField Error = 169 - ErrBadGet Error = 170 - ErrBlocksHaveDifferentStructure Error = 171 - ErrCannotCreateDirectory Error = 172 - ErrCannotAllocateMemory Error = 173 - ErrCyclicAliases Error = 174 - ErrChunkNotFound Error = 176 - ErrDuplicateChunkName Error = 177 - ErrMultipleAliasesForExpression Error = 178 - ErrMultipleExpressionsForAlias Error = 179 - ErrThereIsNoProfile Error = 180 - ErrIllegalFinal Error = 181 - ErrIllegalPrewhere Error = 182 - ErrUnexpectedExpression Error = 183 - ErrIllegalAggregation Error = 184 - ErrUnsupportedMyisamBlockType Error = 185 - ErrUnsupportedCollationLocale Error = 186 - ErrCollationComparisonFailed Error = 187 - ErrUnknownAction Error = 188 - ErrTableMustNotBeCreatedManually Error = 189 - ErrSizesOfArraysDoesntMatch Error = 190 - ErrSetSizeLimitExceeded Error = 191 - ErrUnknownUser Error = 192 - ErrWrongPassword Error = 193 - ErrRequiredPassword Error = 194 - ErrIPAddressNotAllowed Error = 195 - ErrUnknownAddressPatternType Error = 196 - ErrServerRevisionIsTooOld Error = 197 - ErrDNSError Error = 198 - ErrUnknownQuota Error = 199 - ErrQuotaDoesntAllowKeys Error = 200 - ErrQuotaExpired Error = 201 - ErrTooManySimultaneousQueries Error = 202 - ErrNoFreeConnection Error = 203 - ErrCannotFsync Error = 204 - ErrNestedTypeTooDeep Error = 205 - ErrAliasRequired Error = 206 - ErrAmbiguousIdentifier Error = 207 - ErrEmptyNestedTable Error = 208 - ErrSocketTimeout Error = 209 - ErrNetworkError Error = 210 - ErrEmptyQuery Error = 211 - ErrUnknownLoadBalancing Error = 212 - ErrUnknownTotalsMode Error = 213 - ErrCannotStatvfs Error = 214 - ErrNotAnAggregate Error = 215 - ErrQueryWithSameIDIsAlreadyRunning Error = 216 - ErrClientHasConnectedToWrongPort Error = 217 - ErrTableIsDropped Error = 218 - ErrDatabaseNotEmpty Error = 219 - ErrDuplicateInterserverIoEndpoint Error = 220 - ErrNoSuchInterserverIoEndpoint Error = 221 - ErrAddingReplicaToNonEmptyTable Error = 222 - ErrUnexpectedAstStructure Error = 223 - ErrReplicaIsAlreadyActive Error = 224 - ErrNoZookeeper Error = 225 - ErrNoFileInDataPart Error = 226 - ErrUnexpectedFileInDataPart Error = 227 - ErrBadSizeOfFileInDataPart Error = 228 - ErrQueryIsTooLarge Error = 229 - ErrNotFoundExpectedDataPart Error = 230 - ErrTooManyUnexpectedDataParts Error = 231 - ErrNoSuchDataPart Error = 232 - ErrBadDataPartName Error = 233 - ErrNoReplicaHasPart Error = 234 - ErrDuplicateDataPart Error = 235 - ErrAborted Error = 236 - ErrNoReplicaNameGiven Error = 237 - ErrFormatVersionTooOld Error = 238 - ErrCannotMunmap Error = 239 - ErrCannotMremap Error = 240 - ErrMemoryLimitExceeded Error = 241 - ErrTableIsReadOnly Error = 242 - ErrNotEnoughSpace Error = 243 - ErrUnexpectedZookeeperError Error = 244 - ErrCorruptedData Error = 246 - ErrIncorrectMark Error = 247 - ErrInvalidPartitionValue Error = 248 - ErrNotEnoughBlockNumbers Error = 250 - ErrNoSuchReplica Error = 251 - ErrTooManyParts Error = 252 - ErrReplicaIsAlreadyExist Error = 253 - ErrNoActiveReplicas Error = 254 - ErrTooManyRetriesToFetchParts Error = 255 - ErrPartitionAlreadyExists Error = 256 - ErrPartitionDoesntExist Error = 257 - ErrUnionAllResultStructuresMismatch Error = 258 - ErrClientOutputFormatSpecified Error = 260 - ErrUnknownBlockInfoField Error = 261 - ErrBadCollation Error = 262 - ErrCannotCompileCode Error = 263 - ErrIncompatibleTypeOfJoin Error = 264 - ErrNoAvailableReplica Error = 265 - ErrMismatchReplicasDataSources Error = 266 - ErrStorageDoesntSupportParallelReplicas Error = 267 - ErrCPUIDError Error = 268 - ErrInfiniteLoop Error = 269 - ErrCannotCompress Error = 270 - ErrCannotDecompress Error = 271 - ErrAioSubmitError Error = 272 - ErrAioCompletionError Error = 273 - ErrAioReadError Error = 274 - ErrAioWriteError Error = 275 - ErrIndexNotUsed Error = 277 - ErrLeadershipLost Error = 278 - ErrAllConnectionTriesFailed Error = 279 - ErrNoAvailableData Error = 280 - ErrDictionaryIsEmpty Error = 281 - ErrIncorrectIndex Error = 282 - ErrUnknownDistributedProductMode Error = 283 - ErrUnknownGlobalSubqueriesMethod Error = 284 - ErrTooLessLiveReplicas Error = 285 - ErrUnsatisfiedQuorumForPreviousWrite Error = 286 - ErrUnknownFormatVersion Error = 287 - ErrDistributedInJoinSubqueryDenied Error = 288 - ErrReplicaIsNotInQuorum Error = 289 - ErrLimitExceeded Error = 290 - ErrDatabaseAccessDenied Error = 291 - ErrLeadershipChanged Error = 292 - ErrMongodbCannotAuthenticate Error = 293 - ErrInvalidBlockExtraInfo Error = 294 - ErrReceivedEmptyData Error = 295 - ErrNoRemoteShardFound Error = 296 - ErrShardHasNoConnections Error = 297 - ErrCannotPipe Error = 298 - ErrCannotFork Error = 299 - ErrCannotDlsym Error = 300 - ErrCannotCreateChildProcess Error = 301 - ErrChildWasNotExitedNormally Error = 302 - ErrCannotSelect Error = 303 - ErrCannotWaitpid Error = 304 - ErrTableWasNotDropped Error = 305 - ErrTooDeepRecursion Error = 306 - ErrTooManyBytes Error = 307 - ErrUnexpectedNodeInZookeeper Error = 308 - ErrFunctionCannotHaveParameters Error = 309 - ErrInvalidShardWeight Error = 317 - ErrInvalidConfigParameter Error = 318 - ErrUnknownStatusOfInsert Error = 319 - ErrValueIsOutOfRangeOfDataType Error = 321 - ErrBarrierTimeout Error = 335 - ErrUnknownDatabaseEngine Error = 336 - ErrDdlGuardIsActive Error = 337 - ErrUnfinished Error = 341 - ErrMetadataMismatch Error = 342 - ErrSupportIsDisabled Error = 344 - ErrTableDiffersTooMuch Error = 345 - ErrCannotConvertCharset Error = 346 - ErrCannotLoadConfig Error = 347 - ErrCannotInsertNullInOrdinaryColumn Error = 349 - ErrIncompatibleSourceTables Error = 350 - ErrAmbiguousTableName Error = 351 - ErrAmbiguousColumnName Error = 352 - ErrIndexOfPositionalArgumentIsOutOfRange Error = 353 - ErrZlibInflateFailed Error = 354 - ErrZlibDeflateFailed Error = 355 - ErrBadLambda Error = 356 - ErrReservedIdentifierName Error = 357 - ErrIntoOutfileNotAllowed Error = 358 - ErrTableSizeExceedsMaxDropSizeLimit Error = 359 - ErrCannotCreateCharsetConverter Error = 360 - ErrSeekPositionOutOfBound Error = 361 - ErrCurrentWriteBufferIsExhausted Error = 362 - ErrCannotCreateIoBuffer Error = 363 - ErrReceivedErrorTooManyRequests Error = 364 - ErrOutputIsNotSorted Error = 365 - ErrSizesOfNestedColumnsAreInconsistent Error = 366 - ErrTooManyFetches Error = 367 - ErrBadCast Error = 368 - ErrAllReplicasAreStale Error = 369 - ErrDataTypeCannotBeUsedInTables Error = 370 - ErrInconsistentClusterDefinition Error = 371 - ErrSessionNotFound Error = 372 - ErrSessionIsLocked Error = 373 - ErrInvalidSessionTimeout Error = 374 - ErrCannotDlopen Error = 375 - ErrCannotParseUUID Error = 376 - ErrIllegalSyntaxForDataType Error = 377 - ErrDataTypeCannotHaveArguments Error = 378 - ErrUnknownStatusOfDistributedDdlTask Error = 379 - ErrCannotKill Error = 380 - ErrHTTPLengthRequired Error = 381 - ErrCannotLoadCatboostModel Error = 382 - ErrCannotApplyCatboostModel Error = 383 - ErrPartIsTemporarilyLocked Error = 384 - ErrMultipleStreamsRequired Error = 385 - ErrNoCommonType Error = 386 - ErrExternalLoadableAlreadyExists Error = 387 - ErrCannotAssignOptimize Error = 388 - ErrInsertWasDeduplicated Error = 389 - ErrCannotGetCreateTableQuery Error = 390 - ErrExternalLibraryError Error = 391 - ErrQueryIsProhibited Error = 392 - ErrThereIsNoQuery Error = 393 - ErrQueryWasCancelled Error = 394 - ErrFunctionThrowIfValueIsNonZero Error = 395 - ErrTooManyRowsOrBytes Error = 396 - ErrQueryIsNotSupportedInMaterializedView Error = 397 - ErrCannotParseDomainValueFromString Error = 441 - ErrAccessEntityNotFound Error = 492 - ErrKeeperException Error = 999 - ErrPocoException Error = 1000 - ErrStdException Error = 1001 - ErrUnknownException Error = 1002 - ErrConditionalTreeParentNotFound Error = 2001 - ErrIllegalProjectionManipulator Error = 2002 - - ErrAuthenticationFailed Error = 516 + ErrUnsupportedMethod Error = 1 + ErrUnsupportedParameter Error = 2 + ErrUnexpectedEndOfFile Error = 3 + ErrExpectedEndOfFile Error = 4 + ErrCannotParseText Error = 6 + ErrIncorrectNumberOfColumns Error = 7 + ErrThereIsNoColumn Error = 8 + ErrSizesOfColumnsDoesntMatch Error = 9 + ErrNotFoundColumnInBlock Error = 10 + ErrPositionOutOfBound Error = 11 + ErrParameterOutOfBound Error = 12 + ErrSizesOfColumnsInTupleDoesntMatch Error = 13 + ErrDuplicateColumn Error = 15 + ErrNoSuchColumnInTable Error = 16 + ErrDelimiterInStringLiteralDoesntMatch Error = 17 // Deprecated: Error removed from ClickHouse + ErrCannotInsertElementIntoConstantColumn Error = 18 // Deprecated: Error removed from ClickHouse + ErrSizeOfFixedStringDoesntMatch Error = 19 + ErrNumberOfColumnsDoesntMatch Error = 20 + ErrCannotReadAllDataFromTabSeparatedInput Error = 21 // Deprecated: Error removed from ClickHouse + ErrCannotParseAllValueFromTabSeparatedInput Error = 22 // Deprecated: Error removed from ClickHouse + ErrCannotReadFromIstream Error = 23 + ErrCannotWriteToOstream Error = 24 + ErrCannotParseEscapeSequence Error = 25 + ErrCannotParseQuotedString Error = 26 + ErrCannotParseInputAssertionFailed Error = 27 + ErrCannotPrintFloatOrDoubleNumber Error = 28 + ErrCannotPrintInteger Error = 29 // Deprecated: Error removed from ClickHouse + ErrCannotReadSizeOfCompressedChunk Error = 30 // Deprecated: Error removed from ClickHouse + ErrCannotReadCompressedChunk Error = 31 // Deprecated: Error removed from ClickHouse + ErrAttemptToReadAfterEOF Error = 32 + ErrCannotReadAllData Error = 33 + ErrTooManyArgumentsForFunction Error = 34 + ErrTooFewArgumentsForFunction Error = 35 + ErrTooLessArgumentsForFunction Error = 35 // Deprecated: Use ErrTooFewArgumentsForFunction instead + ErrBadArguments Error = 36 + ErrUnknownElementInAst Error = 37 + ErrCannotParseDate Error = 38 + ErrTooLargeSizeCompressed Error = 39 + ErrChecksumDoesntMatch Error = 40 + ErrCannotParseDatetime Error = 41 + ErrNumberOfArgumentsDoesntMatch Error = 42 + ErrIllegalTypeOfArgument Error = 43 + ErrIllegalColumn Error = 44 + ErrIllegalNumberOfResultColumns Error = 45 // Deprecated: Error removed from ClickHouse + ErrUnknownFunction Error = 46 + ErrUnknownIdentifier Error = 47 + ErrNotImplemented Error = 48 + ErrLogicalError Error = 49 + ErrUnknownType Error = 50 + ErrEmptyListOfColumnsQueried Error = 51 + ErrColumnQueriedMoreThanOnce Error = 52 + ErrTypeMismatch Error = 53 + ErrStorageDoesntAllowParameters Error = 54 // Deprecated: Error removed from ClickHouse + ErrStorageRequiresParameter Error = 55 + ErrUnknownStorage Error = 56 + ErrTableAlreadyExists Error = 57 + ErrTableMetadataAlreadyExists Error = 58 + ErrIllegalTypeOfColumnForFilter Error = 59 + ErrUnknownTable Error = 60 + ErrOnlyFilterColumnInBlock Error = 61 // Deprecated: Error removed from ClickHouse + ErrSyntaxError Error = 62 + ErrUnknownAggregateFunction Error = 63 + ErrCannotReadAggregateFunctionFromText Error = 64 // Deprecated: Error removed from ClickHouse + ErrCannotWriteAggregateFunctionAsText Error = 65 // Deprecated: Error removed from ClickHouse + ErrNotAColumn Error = 66 // Deprecated: Error removed from ClickHouse + ErrIllegalKeyOfAggregation Error = 67 // Deprecated: Error removed from ClickHouse + ErrCannotGetSizeOfField Error = 68 + ErrArgumentOutOfBound Error = 69 + ErrCannotConvertType Error = 70 + ErrCannotWriteAfterEndOfBuffer Error = 71 + ErrCannotParseNumber Error = 72 + ErrUnknownFormat Error = 73 + ErrCannotReadFromFileDescriptor Error = 74 + ErrCannotWriteToFileDescriptor Error = 75 + ErrCannotOpenFile Error = 76 + ErrCannotCloseFile Error = 77 + ErrUnknownTypeOfQuery Error = 78 + ErrIncorrectFileName Error = 79 + ErrIncorrectQuery Error = 80 + ErrUnknownDatabase Error = 81 + ErrDatabaseAlreadyExists Error = 82 + ErrDirectoryDoesntExist Error = 83 + ErrDirectoryAlreadyExists Error = 84 + ErrFormatIsNotSuitableForInput Error = 85 + ErrReceivedErrorFromRemoteIoServer Error = 86 // Deprecated: Use ErrReceivedErrorFromRemoteIOServer instead + ErrReceivedErrorFromRemoteIOServer Error = 86 + ErrCannotSeekThroughFile Error = 87 + ErrCannotTruncateFile Error = 88 + ErrUnknownCompressionMethod Error = 89 + ErrEmptyListOfColumnsPassed Error = 90 + ErrSizesOfMarksFilesAreInconsistent Error = 91 + ErrEmptyDataPassed Error = 92 + ErrUnknownAggregatedDataVariant Error = 93 + ErrCannotMergeDifferentAggregatedDataVariants Error = 94 + ErrCannotReadFromSocket Error = 95 + ErrCannotWriteToSocket Error = 96 + ErrCannotReadAllDataFromChunkedInput Error = 97 // Deprecated: Error removed from ClickHouse + ErrCannotWriteToEmptyBlockOutputStream Error = 98 // Deprecated: Error removed from ClickHouse + ErrUnknownPacketFromClient Error = 99 + ErrUnknownPacketFromServer Error = 100 + ErrUnexpectedPacketFromClient Error = 101 + ErrUnexpectedPacketFromServer Error = 102 + ErrReceivedDataForWrongQueryID Error = 103 // Deprecated: Error removed from ClickHouse + ErrTooSmallBufferSize Error = 104 + ErrCannotReadHistory Error = 105 // Deprecated: Error removed from ClickHouse + ErrCannotAppendHistory Error = 106 // Deprecated: Error removed from ClickHouse + ErrFileDoesntExist Error = 107 + ErrNoDataToInsert Error = 108 + ErrCannotBlockSignal Error = 109 + ErrCannotUnblockSignal Error = 110 + ErrCannotManipulateSigset Error = 111 + ErrCannotWaitForSignal Error = 112 + ErrThereIsNoSession Error = 113 + ErrCannotClockGettime Error = 114 + ErrUnknownSetting Error = 115 + ErrThereIsNoDefaultValue Error = 116 + ErrIncorrectData Error = 117 + ErrEngineRequired Error = 119 + ErrCannotInsertValueOfDifferentSizeIntoTuple Error = 120 + ErrUnsupportedJoinKeys Error = 121 + ErrUnknownSetDataVariant Error = 121 // Deprecated: Use ErrUnsupportedJoinKeys instead + ErrIncompatibleColumns Error = 122 + ErrUnknownTypeOfAstNode Error = 123 + ErrIncorrectElementOfSet Error = 124 + ErrIncorrectResultOfScalarSubquery Error = 125 + ErrCannotGetReturnType Error = 126 // Deprecated: Error removed from ClickHouse + ErrIllegalIndex Error = 127 + ErrTooLargeArraySize Error = 128 + ErrFunctionIsSpecial Error = 129 + ErrCannotReadArrayFromText Error = 130 + ErrTooLargeStringSize Error = 131 + ErrCannotCreateTableFromMetadata Error = 132 // Deprecated: Error removed from ClickHouse + ErrAggregateFunctionDoesntAllowParameters Error = 133 + ErrParametersToAggregateFunctionsMustBeLiterals Error = 134 + ErrZeroArrayOrTupleIndex Error = 135 + ErrUnknownElementInConfig Error = 137 + ErrExcessiveElementInConfig Error = 138 + ErrNoElementsInConfig Error = 139 + ErrAllRequestedColumnsAreMissing Error = 140 // Deprecated: Error removed from ClickHouse + ErrSamplingNotSupported Error = 141 + ErrNotFoundNode Error = 142 + ErrFoundMoreThanOneNode Error = 143 // Deprecated: Error removed from ClickHouse + ErrFirstDateIsBiggerThanLastDate Error = 144 // Deprecated: Error removed from ClickHouse + ErrUnknownOverflowMode Error = 145 + ErrQuerySectionDoesntMakeSense Error = 146 // Deprecated: Error removed from ClickHouse + ErrNotFoundFunctionElementForAggregate Error = 147 // Deprecated: Error removed from ClickHouse + ErrNotFoundRelationElementForCondition Error = 148 // Deprecated: Error removed from ClickHouse + ErrNotFoundRHSElementForCondition Error = 149 // Deprecated: Error removed from ClickHouse + ErrNoAttributesListed Error = 150 // Deprecated: Error removed from ClickHouse + ErrIndexOfColumnInSortClauseIsOutOfRange Error = 151 // Deprecated: Error removed from ClickHouse + ErrUnknownDirectionOfSorting Error = 152 + ErrIllegalDivision Error = 153 + ErrAggregateFunctionNotApplicable Error = 154 // Deprecated: Error removed from ClickHouse + ErrUnknownRelation Error = 155 // Deprecated: Error removed from ClickHouse + ErrDictionariesWasNotLoaded Error = 156 + ErrIllegalOverflowMode Error = 157 // Deprecated: Error removed from ClickHouse + ErrTooManyRows Error = 158 + ErrTimeoutExceeded Error = 159 + ErrTooSlow Error = 160 + ErrTooManyColumns Error = 161 + ErrTooDeepSubqueries Error = 162 + ErrTooDeepPipeline Error = 163 // Deprecated: Error removed from ClickHouse + ErrReadonly Error = 164 + ErrTooManyTemporaryColumns Error = 165 + ErrTooManyTemporaryNonConstColumns Error = 166 + ErrTooDeepAst Error = 167 + ErrTooBigAst Error = 168 + ErrBadTypeOfField Error = 169 + ErrBadGet Error = 170 + ErrBlocksHaveDifferentStructure Error = 171 // Deprecated: Error removed from ClickHouse + ErrCannotCreateDirectory Error = 172 + ErrCannotAllocateMemory Error = 173 + ErrCyclicAliases Error = 174 + ErrChunkNotFound Error = 176 // Deprecated: Error removed from ClickHouse + ErrDuplicateChunkName Error = 177 // Deprecated: Error removed from ClickHouse + ErrMultipleAliasesForExpression Error = 178 // Deprecated: Error removed from ClickHouse + ErrMultipleExpressionsForAlias Error = 179 + ErrThereIsNoProfile Error = 180 + ErrIllegalFinal Error = 181 + ErrIllegalPrewhere Error = 182 + ErrUnexpectedExpression Error = 183 + ErrIllegalAggregation Error = 184 + ErrUnsupportedMyisamBlockType Error = 185 // Deprecated: Error removed from ClickHouse + ErrUnsupportedCollationLocale Error = 186 + ErrCollationComparisonFailed Error = 187 + ErrUnknownAction Error = 188 // Deprecated: Error removed from ClickHouse + ErrTableMustNotBeCreatedManually Error = 189 // Deprecated: Error removed from ClickHouse + ErrSizesOfArraysDontMatch Error = 190 + ErrSizesOfArraysDoesntMatch Error = 190 // Deprecated: Use ErrSizesOfArraysDontMatch instead + ErrSetSizeLimitExceeded Error = 191 + ErrUnknownUser Error = 192 + ErrWrongPassword Error = 193 + ErrRequiredPassword Error = 194 + ErrIPAddressNotAllowed Error = 195 + ErrUnknownAddressPatternType Error = 196 + ErrServerRevisionIsTooOld Error = 197 // Deprecated: Error removed from ClickHouse + ErrDNSError Error = 198 + ErrUnknownQuota Error = 199 + ErrQuotaDoesntAllowKeys Error = 200 // Deprecated: Error removed from ClickHouse + ErrQuotaExpired Error = 201 // Deprecated: Use ErrQuotaExceeded instead + ErrQuotaExceeded Error = 201 + ErrTooManySimultaneousQueries Error = 202 + ErrNoFreeConnection Error = 203 + ErrCannotFsync Error = 204 + ErrNestedTypeTooDeep Error = 205 // Deprecated: Error removed from ClickHouse + ErrAliasRequired Error = 206 + ErrAmbiguousIdentifier Error = 207 + ErrEmptyNestedTable Error = 208 + ErrSocketTimeout Error = 209 + ErrNetworkError Error = 210 + ErrEmptyQuery Error = 211 + ErrUnknownLoadBalancing Error = 212 + ErrUnknownTotalsMode Error = 213 + ErrCannotStatvfs Error = 214 + ErrNotAnAggregate Error = 215 + ErrQueryWithSameIDIsAlreadyRunning Error = 216 + ErrClientHasConnectedToWrongPort Error = 217 + ErrTableIsDropped Error = 218 + ErrDatabaseNotEmpty Error = 219 + ErrDuplicateInterserverIOEndpoint Error = 220 + ErrDuplicateInterserverIoEndpoint Error = 220 // Deprecated: Use ErrDuplicateInterserverIOEndpoint instead + ErrNoSuchInterserverIoEndpoint Error = 221 // Deprecated: Use ErrNoSuchInterserverIOEndpoint instead + ErrNoSuchInterserverIOEndpoint Error = 221 + ErrAddingReplicaToNonEmptyTable Error = 222 // Deprecated: Error removed from ClickHouse + ErrUnexpectedAstStructure Error = 223 + ErrReplicaIsAlreadyActive Error = 224 + ErrNoZookeeper Error = 225 + ErrNoFileInDataPart Error = 226 + ErrUnexpectedFileInDataPart Error = 227 + ErrBadSizeOfFileInDataPart Error = 228 + ErrQueryIsTooLarge Error = 229 + ErrNotFoundExpectedDataPart Error = 230 + ErrTooManyUnexpectedDataParts Error = 231 + ErrNoSuchDataPart Error = 232 + ErrBadDataPartName Error = 233 + ErrNoReplicaHasPart Error = 234 + ErrDuplicateDataPart Error = 235 + ErrAborted Error = 236 + ErrNoReplicaNameGiven Error = 237 + ErrFormatVersionTooOld Error = 238 + ErrCannotMunmap Error = 239 + ErrCannotMremap Error = 240 + ErrMemoryLimitExceeded Error = 241 + ErrTableIsReadOnly Error = 242 + ErrNotEnoughSpace Error = 243 + ErrUnexpectedZookeeperError Error = 244 + ErrCorruptedData Error = 246 + ErrIncorrectMark Error = 247 // Deprecated: Error removed from ClickHouse + ErrInvalidPartitionValue Error = 248 + ErrNotEnoughBlockNumbers Error = 250 // Deprecated: Error removed from ClickHouse + ErrNoSuchReplica Error = 251 + ErrTooManyParts Error = 252 + ErrReplicaIsAlreadyExist Error = 253 // Deprecated: Use ErrReplicaAlreadyExists instead + ErrReplicaAlreadyExists Error = 253 + ErrNoActiveReplicas Error = 254 + ErrTooManyRetriesToFetchParts Error = 255 + ErrPartitionAlreadyExists Error = 256 + ErrPartitionDoesntExist Error = 257 + ErrUnionAllResultStructuresMismatch Error = 258 + ErrClientOutputFormatSpecified Error = 260 + ErrUnknownBlockInfoField Error = 261 + ErrBadCollation Error = 262 + ErrCannotCompileCode Error = 263 + ErrIncompatibleTypeOfJoin Error = 264 + ErrNoAvailableReplica Error = 265 + ErrMismatchReplicasDataSources Error = 266 + ErrStorageDoesntSupportParallelReplicas Error = 267 // Deprecated: Error removed from ClickHouse + ErrCPUIDError Error = 268 // Deprecated: Error removed from ClickHouse + ErrInfiniteLoop Error = 269 + ErrCannotCompress Error = 270 + ErrCannotDecompress Error = 271 + ErrCannotIOSubmit Error = 272 + ErrAioSubmitError Error = 272 // Deprecated: Use ErrCannotIOSubmit instead + ErrCannotIOGetevents Error = 273 + ErrAioCompletionError Error = 273 // Deprecated: Use ErrCannotIOGetevents instead + ErrAioReadError Error = 274 + ErrAioWriteError Error = 275 + ErrIndexNotUsed Error = 277 + ErrLeadershipLost Error = 278 // Deprecated: Error removed from ClickHouse + ErrAllConnectionTriesFailed Error = 279 + ErrNoAvailableData Error = 280 + ErrDictionaryIsEmpty Error = 281 + ErrIncorrectIndex Error = 282 + ErrUnknownDistributedProductMode Error = 283 + ErrWrongGlobalSubquery Error = 284 + ErrUnknownGlobalSubqueriesMethod Error = 284 // Deprecated: Use ErrWrongGlobalSubquery instead + ErrTooFewLiveReplicas Error = 285 + ErrTooLessLiveReplicas Error = 285 // Deprecated: Use ErrTooFewLiveReplicas instead + ErrUnsatisfiedQuorumForPreviousWrite Error = 286 + ErrUnknownFormatVersion Error = 287 + ErrDistributedInJoinSubqueryDenied Error = 288 + ErrReplicaIsNotInQuorum Error = 289 + ErrLimitExceeded Error = 290 + ErrDatabaseAccessDenied Error = 291 + ErrLeadershipChanged Error = 292 // Deprecated: Error removed from ClickHouse + ErrMongodbCannotAuthenticate Error = 293 + ErrCannotWriteToFile Error = 294 + ErrInvalidBlockExtraInfo Error = 294 // Deprecated: Use ErrCannotWriteToFile instead + ErrReceivedEmptyData Error = 295 + ErrNoRemoteShardFound Error = 296 // Deprecated: Error removed from ClickHouse + ErrShardHasNoConnections Error = 297 + ErrCannotPipe Error = 298 + ErrCannotFork Error = 299 + ErrCannotDlsym Error = 300 + ErrCannotCreateChildProcess Error = 301 + ErrChildWasNotExitedNormally Error = 302 + ErrCannotSelect Error = 303 + ErrCannotWaitpid Error = 304 + ErrTableWasNotDropped Error = 305 + ErrTooDeepRecursion Error = 306 + ErrTooManyBytes Error = 307 + ErrUnexpectedNodeInZookeeper Error = 308 + ErrFunctionCannotHaveParameters Error = 309 + ErrInvalidShardWeight Error = 317 // Deprecated: Error removed from ClickHouse + ErrInvalidConfigParameter Error = 318 + ErrUnknownStatusOfInsert Error = 319 + ErrValueIsOutOfRangeOfDataType Error = 321 + ErrBarrierTimeout Error = 335 // Deprecated: Error removed from ClickHouse + ErrUnknownDatabaseEngine Error = 336 + ErrDdlGuardIsActive Error = 337 // Deprecated: Error removed from ClickHouse + ErrUnfinished Error = 341 + ErrMetadataMismatch Error = 342 + ErrSupportIsDisabled Error = 344 + ErrTableDiffersTooMuch Error = 345 + ErrCannotConvertCharset Error = 346 + ErrCannotLoadConfig Error = 347 + ErrCannotInsertNullInOrdinaryColumn Error = 349 + ErrIncompatibleSourceTables Error = 350 // Deprecated: Error removed from ClickHouse + ErrAmbiguousTableName Error = 351 // Deprecated: Error removed from ClickHouse + ErrAmbiguousColumnName Error = 352 + ErrIndexOfPositionalArgumentIsOutOfRange Error = 353 + ErrZlibInflateFailed Error = 354 + ErrZlibDeflateFailed Error = 355 + ErrBadLambda Error = 356 // Deprecated: Error removed from ClickHouse + ErrReservedIdentifierName Error = 357 // Deprecated: Error removed from ClickHouse + ErrIntoOutfileNotAllowed Error = 358 + ErrTableSizeExceedsMaxDropSizeLimit Error = 359 + ErrCannotCreateCharsetConverter Error = 360 + ErrSeekPositionOutOfBound Error = 361 + ErrCurrentWriteBufferIsExhausted Error = 362 + ErrCannotCreateIoBuffer Error = 363 // Deprecated: Use ErrCannotCreateIOBuffer instead + ErrCannotCreateIOBuffer Error = 363 + ErrReceivedErrorTooManyRequests Error = 364 + ErrOutputIsNotSorted Error = 365 // Deprecated: Error removed from ClickHouse + ErrSizesOfNestedColumnsAreInconsistent Error = 366 + ErrTooManyFetches Error = 367 // Deprecated: Error removed from ClickHouse + ErrBadCast Error = 368 // Deprecated: Error removed from ClickHouse + ErrAllReplicasAreStale Error = 369 + ErrDataTypeCannotBeUsedInTables Error = 370 + ErrInconsistentClusterDefinition Error = 371 + ErrSessionNotFound Error = 372 + ErrSessionIsLocked Error = 373 + ErrInvalidSessionTimeout Error = 374 + ErrCannotDlopen Error = 375 + ErrCannotParseUUID Error = 376 + ErrIllegalSyntaxForDataType Error = 377 + ErrDataTypeCannotHaveArguments Error = 378 + ErrUnknownStatusOfDistributedDdlTask Error = 379 // Deprecated: Error removed from ClickHouse + ErrCannotKill Error = 380 + ErrHTTPLengthRequired Error = 381 + ErrCannotLoadCatboostModel Error = 382 + ErrCannotApplyCatboostModel Error = 383 + ErrPartIsTemporarilyLocked Error = 384 + ErrMultipleStreamsRequired Error = 385 + ErrNoCommonType Error = 386 + ErrExternalLoadableAlreadyExists Error = 387 // Deprecated: Use ErrDictionaryAlreadyExists instead + ErrDictionaryAlreadyExists Error = 387 + ErrCannotAssignOptimize Error = 388 + ErrInsertWasDeduplicated Error = 389 + ErrCannotGetCreateTableQuery Error = 390 + ErrExternalLibraryError Error = 391 + ErrQueryIsProhibited Error = 392 + ErrThereIsNoQuery Error = 393 + ErrQueryWasCancelled Error = 394 + ErrFunctionThrowIfValueIsNonZero Error = 395 + ErrTooManyRowsOrBytes Error = 396 + ErrQueryIsNotSupportedInMaterializedView Error = 397 + ErrUnknownMutationCommand Error = 398 + ErrFormatIsNotSuitableForOutput Error = 399 + ErrCannotStat Error = 400 + ErrFeatureIsNotEnabledAtBuildTime Error = 401 + ErrCannotIosetup Error = 402 + ErrInvalidJoinOnExpression Error = 403 + ErrBadOdbcConnectionString Error = 404 + ErrTopAndLimitTogether Error = 406 + ErrDecimalOverflow Error = 407 + ErrBadRequestParameter Error = 408 + ErrExternalServerIsNotResponding Error = 410 + ErrPthreadError Error = 411 + ErrNetlinkError Error = 412 + ErrCannotSetSignalHandler Error = 413 + ErrAllReplicasLost Error = 415 + ErrReplicaStatusChanged Error = 416 + ErrExpectedAllOrAny Error = 417 + ErrUnknownJoin Error = 418 + ErrMultipleAssignmentsToColumn Error = 419 + ErrCannotUpdateColumn Error = 420 + ErrCannotAddDifferentAggregateStates Error = 421 + ErrUnsupportedURIScheme Error = 422 + ErrCannotGettimeofday Error = 423 + ErrCannotLink Error = 424 + ErrSystemError Error = 425 + ErrCannotCompileRegexp Error = 427 + ErrFailedToGetpwuid Error = 429 + ErrMismatchingUsersForProcessAndData Error = 430 + ErrIllegalSyntaxForCodecType Error = 431 + ErrUnknownCodec Error = 432 + ErrIllegalCodecParameter Error = 433 + ErrCannotParseProtobufSchema Error = 434 + ErrNoColumnSerializedToRequiredProtobufField Error = 435 + ErrProtobufBadCast Error = 436 + ErrProtobufFieldNotRepeated Error = 437 + ErrDataTypeCannotBePromoted Error = 438 + ErrCannotScheduleTask Error = 439 + ErrInvalidLimitExpression Error = 440 + ErrCannotParseDomainValueFromString Error = 441 + ErrBadDatabaseForTemporaryTable Error = 442 + ErrNoColumnsSerializedToProtobufFields Error = 443 + ErrUnknownProtobufFormat Error = 444 + ErrCannotMprotect Error = 445 + ErrFunctionNotAllowed Error = 446 + ErrHyperscanCannotScanText Error = 447 + ErrBrotliReadFailed Error = 448 + ErrBrotliWriteFailed Error = 449 + ErrBadTTLExpression Error = 450 + ErrBadTTLFile Error = 451 + ErrSettingConstraintViolation Error = 452 + ErrMysqlClientInsufficientCapabilities Error = 453 + ErrOpensslError Error = 454 + ErrSuspiciousTypeForLowCardinality Error = 455 + ErrUnknownQueryParameter Error = 456 + ErrBadQueryParameter Error = 457 + ErrCannotUnlink Error = 458 + ErrCannotSetThreadPriority Error = 459 + ErrCannotCreateTimer Error = 460 + ErrCannotSetTimerPeriod Error = 461 + ErrCannotFcntl Error = 463 + ErrCannotParseElf Error = 464 + ErrCannotParseDwarf Error = 465 + ErrInsecurePath Error = 466 + ErrCannotParseBool Error = 467 + ErrCannotPthreadAttr Error = 468 + ErrViolatedConstraint Error = 469 + ErrInvalidSettingValue Error = 471 + ErrReadonlySetting Error = 472 + ErrDeadlockAvoided Error = 473 + ErrInvalidTemplateFormat Error = 474 + ErrInvalidWithFillExpression Error = 475 + ErrWithTiesWithoutOrderBy Error = 476 + ErrInvalidUsageOfInput Error = 477 + ErrUnknownPolicy Error = 478 + ErrUnknownDisk Error = 479 + ErrUnknownProtocol Error = 480 + ErrPathAccessDenied Error = 481 + ErrDictionaryAccessDenied Error = 482 + ErrTooManyRedirects Error = 483 + ErrInternalRedisError Error = 484 + ErrCannotGetCreateDictionaryQuery Error = 487 + ErrIncorrectDictionaryDefinition Error = 489 + ErrCannotFormatDatetime Error = 490 + ErrUnacceptableURL Error = 491 + ErrAccessEntityNotFound Error = 492 + ErrAccessEntityAlreadyExists Error = 493 + ErrAccessStorageReadonly Error = 495 + ErrQuotaRequiresClientKey Error = 496 + ErrAccessDenied Error = 497 + ErrLimitByWithTiesIsNotSupported Error = 498 + ErrS3Error Error = 499 + ErrAzureBlobStorageError Error = 500 + ErrCannotCreateDatabase Error = 501 + ErrCannotSigqueue Error = 502 + ErrAggregateFunctionThrow Error = 503 + ErrFileAlreadyExists Error = 504 + ErrUnableToSkipUnusedShards Error = 507 + ErrUnknownAccessType Error = 508 + ErrInvalidGrant Error = 509 + ErrCacheDictionaryUpdateFail Error = 510 + ErrUnknownRole Error = 511 + ErrSetNonGrantedRole Error = 512 + ErrUnknownPartType Error = 513 + ErrAccessStorageForInsertionNotFound Error = 514 + ErrIncorrectAccessEntityDefinition Error = 515 + ErrAuthenticationFailed Error = 516 + ErrCannotAssignAlter Error = 517 + ErrCannotCommitOffset Error = 518 + ErrNoRemoteShardAvailable Error = 519 + ErrCannotDetachDictionaryAsTable Error = 520 + ErrAtomicRenameFail Error = 521 + ErrUnknownRowPolicy Error = 523 + ErrAlterOfColumnIsForbidden Error = 524 + ErrIncorrectDiskIndex Error = 525 + ErrNoSuitableFunctionImplementation Error = 527 + ErrCassandraInternalError Error = 528 + ErrNotALeader Error = 529 + ErrCannotConnectRabbitmq Error = 530 + ErrCannotFstat Error = 531 + ErrLdapError Error = 532 + ErrUnknownRaidType Error = 535 + ErrCannotRestoreFromFieldDump Error = 536 + ErrIllegalMysqlVariable Error = 537 + ErrMysqlSyntaxError Error = 538 + ErrCannotBindRabbitmqExchange Error = 539 + ErrCannotDeclareRabbitmqExchange Error = 540 + ErrCannotCreateRabbitmqQueueBinding Error = 541 + ErrCannotRemoveRabbitmqExchange Error = 542 + ErrUnknownMysqlDatatypesSupportLevel Error = 543 + ErrRowAndRowsTogether Error = 544 + ErrFirstAndNextTogether Error = 545 + ErrNoRowDelimiter Error = 546 + ErrInvalidRaidType Error = 547 + ErrUnknownVolume Error = 548 + ErrDataTypeCannotBeUsedInKey Error = 549 + ErrUnrecognizedArguments Error = 552 + ErrLzmaStreamEncoderFailed Error = 553 + ErrLzmaStreamDecoderFailed Error = 554 + ErrRocksdbError Error = 555 + ErrSyncMysqlUserAccessError Error = 556 + ErrUnknownUnion Error = 557 + ErrExpectedAllOrDistinct Error = 558 + ErrInvalidGrpcQueryInfo Error = 559 + ErrZstdEncoderFailed Error = 560 + ErrZstdDecoderFailed Error = 561 + ErrTldListNotFound Error = 562 + ErrCannotReadMapFromText Error = 563 + ErrInterserverSchemeDoesntMatch Error = 564 + ErrTooManyPartitions Error = 565 + ErrCannotRmdir Error = 566 + ErrDuplicatedPartUuids Error = 567 + ErrRaftError Error = 568 + ErrMultipleColumnsSerializedToSameProtobufField Error = 569 + ErrDataTypeIncompatibleWithProtobufField Error = 570 + ErrDatabaseReplicationFailed Error = 571 + ErrTooManyQueryPlanOptimizations Error = 572 + ErrEpollError Error = 573 + ErrDistributedTooManyPendingBytes Error = 574 + ErrUnknownSnapshot Error = 575 + ErrKerberosError Error = 576 + ErrInvalidShardID Error = 577 + ErrInvalidFormatInsertQueryWithData Error = 578 + ErrIncorrectPartType Error = 579 + ErrCannotSetRoundingMode Error = 580 + ErrTooLargeDistributedDepth Error = 581 + ErrNoSuchProjectionInTable Error = 582 + ErrIllegalProjection Error = 583 + ErrProjectionNotUsed Error = 584 + ErrCannotParseYaml Error = 585 + ErrCannotCreateFile Error = 586 + ErrConcurrentAccessNotSupported Error = 587 + ErrDistributedBrokenBatchInfo Error = 588 + ErrDistributedBrokenBatchFiles Error = 589 + ErrCannotSysconf Error = 590 + ErrSqliteEngineError Error = 591 + ErrDataEncryptionError Error = 592 + ErrZeroCopyReplicationError Error = 593 + ErrBzip2StreamDecoderFailed Error = 594 + ErrBzip2StreamEncoderFailed Error = 595 + ErrIntersectOrExceptResultStructuresMismatch Error = 596 + ErrNoSuchErrorCode Error = 597 + ErrBackupAlreadyExists Error = 598 + ErrBackupNotFound Error = 599 + ErrBackupVersionNotSupported Error = 600 + ErrBackupDamaged Error = 601 + ErrNoBaseBackup Error = 602 + ErrWrongBaseBackup Error = 603 + ErrBackupEntryAlreadyExists Error = 604 + ErrBackupEntryNotFound Error = 605 + ErrBackupIsEmpty Error = 606 + ErrCannotRestoreDatabase Error = 607 + ErrCannotRestoreTable Error = 608 + ErrFunctionAlreadyExists Error = 609 + ErrCannotDropFunction Error = 610 + ErrCannotCreateRecursiveFunction Error = 611 + ErrPostgresqlConnectionFailure Error = 614 + ErrCannotAdvise Error = 615 + ErrUnknownReadMethod Error = 616 + ErrLz4EncoderFailed Error = 617 + ErrLz4DecoderFailed Error = 618 + ErrPostgresqlReplicationInternalError Error = 619 + ErrQueryNotAllowed Error = 620 + ErrCannotNormalizeString Error = 621 + ErrCannotParseCapnProtoSchema Error = 622 + ErrCapnProtoBadCast Error = 623 + ErrBadFileType Error = 624 + ErrIOSetupError Error = 625 + ErrCannotSkipUnknownField Error = 626 + ErrBackupEngineNotFound Error = 627 + ErrOffsetFetchWithoutOrderBy Error = 628 + ErrHTTPRangeNotSatisfiable Error = 629 + ErrHaveDependentObjects Error = 630 + ErrUnknownFileSize Error = 631 + ErrUnexpectedDataAfterParsedValue Error = 632 + ErrQueryIsNotSupportedInWindowView Error = 633 + ErrMongodbError Error = 634 + ErrCannotPoll Error = 635 + ErrCannotExtractTableStructure Error = 636 + ErrInvalidTableOverride Error = 637 + ErrSnappyUncompressFailed Error = 638 + ErrSnappyCompressFailed Error = 639 + ErrNoHivemetastore Error = 640 + ErrCannotAppendToFile Error = 641 + ErrCannotPackArchive Error = 642 + ErrCannotUnpackArchive Error = 643 + ErrNumberOfDimensionsMismatched Error = 645 + ErrCannotBackupTable Error = 647 + ErrWrongDdlRenamingSettings Error = 648 + ErrInvalidTransaction Error = 649 + ErrSerializationError Error = 650 + ErrCapnProtoBadType Error = 651 + ErrOnlyNullsWhileReadingSchema Error = 652 + ErrCannotParseBackupSettings Error = 653 + ErrWrongBackupSettings Error = 654 + ErrFailedToSyncBackupOrRestore Error = 655 + ErrUnknownStatusOfTransaction Error = 659 + ErrHdfsError Error = 660 + ErrCannotSendSignal Error = 661 + ErrFsMetadataError Error = 662 + ErrInconsistentMetadataForBackup Error = 663 + ErrAccessStorageDoesntAllowBackup Error = 664 + ErrCannotConnectNats Error = 665 + ErrNotInitialized Error = 667 + ErrInvalidState Error = 668 + ErrNamedCollectionDoesntExist Error = 669 + ErrNamedCollectionAlreadyExists Error = 670 + ErrNamedCollectionIsImmutable Error = 671 + ErrInvalidSchedulerNode Error = 672 + ErrResourceAccessDenied Error = 673 + ErrResourceNotFound Error = 674 + ErrCannotParseIpv4 Error = 675 + ErrCannotParseIpv6 Error = 676 + ErrThreadWasCanceled Error = 677 + ErrIOUringInitFailed Error = 678 + ErrIOUringSubmitError Error = 679 + ErrMixedAccessParameterTypes Error = 690 + ErrUnknownElementOfEnum Error = 691 + ErrTooManyMutations Error = 692 + ErrAwsError Error = 693 + ErrAsyncLoadCycle Error = 694 + ErrAsyncLoadFailed Error = 695 + ErrAsyncLoadCanceled Error = 696 + ErrCannotRestoreToNonencryptedDisk Error = 697 + ErrInvalidRedisStorageType Error = 698 + ErrInvalidRedisTableStructure Error = 699 + ErrUserSessionLimitExceeded Error = 700 + ErrClusterDoesntExist Error = 701 + ErrClientInfoDoesNotMatch Error = 702 + ErrInvalidIdentifier Error = 703 + ErrQueryCacheUsedWithNondeterministicFunctions Error = 704 + ErrTableNotEmpty Error = 705 + ErrLibsshError Error = 706 + ErrGcpError Error = 707 + ErrIllegalStatistics Error = 708 + ErrCannotGetReplicatedDatabaseSnapshot Error = 709 + ErrFaultInjected Error = 710 + ErrFilecacheAccessDenied Error = 711 + ErrTooManyMaterializedViews Error = 712 + ErrBrokenProjection Error = 713 + ErrUnexpectedCluster Error = 714 + ErrCannotDetectFormat Error = 715 + ErrCannotForgetPartition Error = 716 + ErrExperimentalFeatureError Error = 717 + ErrTooSlowParsing Error = 718 + ErrQueryCacheUsedWithSystemTable Error = 719 + ErrUserExpired Error = 720 + ErrDeprecatedFunction Error = 721 + ErrAsyncLoadWaitFailed Error = 722 + ErrParquetException Error = 723 + ErrTooManyTables Error = 724 + ErrTooManyDatabases Error = 725 + ErrUnexpectedHTTPHeaders Error = 726 + ErrUnexpectedTableEngine Error = 727 + ErrUnexpectedDataType Error = 728 + ErrIllegalTimeSeriesTags Error = 729 + ErrRefreshFailed Error = 730 + ErrQueryCacheUsedWithNonThrowOverflowMode Error = 731 + ErrTableIsBeingRestarted Error = 733 + ErrCannotWriteAfterBufferCanceled Error = 734 + ErrQueryWasCancelledByClient Error = 735 + ErrDatalakeDatabaseError Error = 736 + ErrGoogleCloudError Error = 737 + ErrPartIsLocked Error = 738 + ErrBuzzhouse Error = 739 + ErrPotentiallyBrokenDataPart Error = 740 + ErrTableUUIDMismatch Error = 741 + ErrDeltaKernelError Error = 742 + ErrIcebergSpecificationViolation Error = 743 + ErrSessionIDEmpty Error = 744 + ErrServerOverloaded Error = 745 + ErrDependenciesNotFound Error = 746 + ErrFilecacheCannotWriteThroughCacheWithConcurrentReads Error = 747 + ErrDistributedCacheError Error = 900 + ErrCannotUseDistributedCache Error = 901 + ErrProtocolVersionMismatch Error = 902 + ErrLicenseExpired Error = 903 + ErrKeeperException Error = 999 + ErrPocoException Error = 1000 + ErrStdException Error = 1001 + ErrUnknownException Error = 1002 + ErrSSHException Error = 1003 + ErrStartupScriptsError Error = 1004 + ErrConditionalTreeParentNotFound Error = 2001 // Deprecated: Error removed from ClickHouse + ErrIllegalProjectionManipulator Error = 2002 // Deprecated: Error removed from ClickHouse ) diff --git a/vendor/github.com/ClickHouse/ch-go/proto/error_enum.go b/vendor/github.com/ClickHouse/ch-go/proto/error_enum.go index ce1ddca102f26..a16b2d3e93dcc 100644 --- a/vendor/github.com/ClickHouse/ch-go/proto/error_enum.go +++ b/vendor/github.com/ClickHouse/ch-go/proto/error_enum.go @@ -7,8 +7,8 @@ import ( "strings" ) -const _ErrorName = "UNSUPPORTED_METHODUNSUPPORTED_PARAMETERUNEXPECTED_END_OF_FILEEXPECTED_END_OF_FILECANNOT_PARSE_TEXTINCORRECT_NUMBER_OF_COLUMNSTHERE_IS_NO_COLUMNSIZES_OF_COLUMNS_DOESNT_MATCHNOT_FOUND_COLUMN_IN_BLOCKPOSITION_OUT_OF_BOUNDPARAMETER_OUT_OF_BOUNDSIZES_OF_COLUMNS_IN_TUPLE_DOESNT_MATCHDUPLICATE_COLUMNNO_SUCH_COLUMN_IN_TABLEDELIMITER_IN_STRING_LITERAL_DOESNT_MATCHCANNOT_INSERT_ELEMENT_INTO_CONSTANT_COLUMNSIZE_OF_FIXED_STRING_DOESNT_MATCHNUMBER_OF_COLUMNS_DOESNT_MATCHCANNOT_READ_ALL_DATA_FROM_TAB_SEPARATED_INPUTCANNOT_PARSE_ALL_VALUE_FROM_TAB_SEPARATED_INPUTCANNOT_READ_FROM_ISTREAMCANNOT_WRITE_TO_OSTREAMCANNOT_PARSE_ESCAPE_SEQUENCECANNOT_PARSE_QUOTED_STRINGCANNOT_PARSE_INPUT_ASSERTION_FAILEDCANNOT_PRINT_FLOAT_OR_DOUBLE_NUMBERCANNOT_PRINT_INTEGERCANNOT_READ_SIZE_OF_COMPRESSED_CHUNKCANNOT_READ_COMPRESSED_CHUNKATTEMPT_TO_READ_AFTER_EOFCANNOT_READ_ALL_DATATOO_MANY_ARGUMENTS_FOR_FUNCTIONTOO_LESS_ARGUMENTS_FOR_FUNCTIONBAD_ARGUMENTSUNKNOWN_ELEMENT_IN_ASTCANNOT_PARSE_DATETOO_LARGE_SIZE_COMPRESSEDCHECKSUM_DOESNT_MATCHCANNOT_PARSE_DATETIMENUMBER_OF_ARGUMENTS_DOESNT_MATCHILLEGAL_TYPE_OF_ARGUMENTILLEGAL_COLUMNILLEGAL_NUMBER_OF_RESULT_COLUMNSUNKNOWN_FUNCTIONUNKNOWN_IDENTIFIERNOT_IMPLEMENTEDLOGICAL_ERRORUNKNOWN_TYPEEMPTY_LIST_OF_COLUMNS_QUERIEDCOLUMN_QUERIED_MORE_THAN_ONCETYPE_MISMATCHSTORAGE_DOESNT_ALLOW_PARAMETERSSTORAGE_REQUIRES_PARAMETERUNKNOWN_STORAGETABLE_ALREADY_EXISTSTABLE_METADATA_ALREADY_EXISTSILLEGAL_TYPE_OF_COLUMN_FOR_FILTERUNKNOWN_TABLEONLY_FILTER_COLUMN_IN_BLOCKSYNTAX_ERRORUNKNOWN_AGGREGATE_FUNCTIONCANNOT_READ_AGGREGATE_FUNCTION_FROM_TEXTCANNOT_WRITE_AGGREGATE_FUNCTION_AS_TEXTNOT_A_COLUMNILLEGAL_KEY_OF_AGGREGATIONCANNOT_GET_SIZE_OF_FIELDARGUMENT_OUT_OF_BOUNDCANNOT_CONVERT_TYPECANNOT_WRITE_AFTER_END_OF_BUFFERCANNOT_PARSE_NUMBERUNKNOWN_FORMATCANNOT_READ_FROM_FILE_DESCRIPTORCANNOT_WRITE_TO_FILE_DESCRIPTORCANNOT_OPEN_FILECANNOT_CLOSE_FILEUNKNOWN_TYPE_OF_QUERYINCORRECT_FILE_NAMEINCORRECT_QUERYUNKNOWN_DATABASEDATABASE_ALREADY_EXISTSDIRECTORY_DOESNT_EXISTDIRECTORY_ALREADY_EXISTSFORMAT_IS_NOT_SUITABLE_FOR_INPUTRECEIVED_ERROR_FROM_REMOTE_IO_SERVERCANNOT_SEEK_THROUGH_FILECANNOT_TRUNCATE_FILEUNKNOWN_COMPRESSION_METHODEMPTY_LIST_OF_COLUMNS_PASSEDSIZES_OF_MARKS_FILES_ARE_INCONSISTENTEMPTY_DATA_PASSEDUNKNOWN_AGGREGATED_DATA_VARIANTCANNOT_MERGE_DIFFERENT_AGGREGATED_DATA_VARIANTSCANNOT_READ_FROM_SOCKETCANNOT_WRITE_TO_SOCKETCANNOT_READ_ALL_DATA_FROM_CHUNKED_INPUTCANNOT_WRITE_TO_EMPTY_BLOCK_OUTPUT_STREAMUNKNOWN_PACKET_FROM_CLIENTUNKNOWN_PACKET_FROM_SERVERUNEXPECTED_PACKET_FROM_CLIENTUNEXPECTED_PACKET_FROM_SERVERRECEIVED_DATA_FOR_WRONG_QUERY_IDTOO_SMALL_BUFFER_SIZECANNOT_READ_HISTORYCANNOT_APPEND_HISTORYFILE_DOESNT_EXISTNO_DATA_TO_INSERTCANNOT_BLOCK_SIGNALCANNOT_UNBLOCK_SIGNALCANNOT_MANIPULATE_SIGSETCANNOT_WAIT_FOR_SIGNALTHERE_IS_NO_SESSIONCANNOT_CLOCK_GETTIMEUNKNOWN_SETTINGTHERE_IS_NO_DEFAULT_VALUEINCORRECT_DATAENGINE_REQUIREDCANNOT_INSERT_VALUE_OF_DIFFERENT_SIZE_INTO_TUPLEUNKNOWN_SET_DATA_VARIANTINCOMPATIBLE_COLUMNSUNKNOWN_TYPE_OF_AST_NODEINCORRECT_ELEMENT_OF_SETINCORRECT_RESULT_OF_SCALAR_SUBQUERYCANNOT_GET_RETURN_TYPEILLEGAL_INDEXTOO_LARGE_ARRAY_SIZEFUNCTION_IS_SPECIALCANNOT_READ_ARRAY_FROM_TEXTTOO_LARGE_STRING_SIZECANNOT_CREATE_TABLE_FROM_METADATAAGGREGATE_FUNCTION_DOESNT_ALLOW_PARAMETERSPARAMETERS_TO_AGGREGATE_FUNCTIONS_MUST_BE_LITERALSZERO_ARRAY_OR_TUPLE_INDEXUNKNOWN_ELEMENT_IN_CONFIGEXCESSIVE_ELEMENT_IN_CONFIGNO_ELEMENTS_IN_CONFIGALL_REQUESTED_COLUMNS_ARE_MISSINGSAMPLING_NOT_SUPPORTEDNOT_FOUND_NODEFOUND_MORE_THAN_ONE_NODEFIRST_DATE_IS_BIGGER_THAN_LAST_DATEUNKNOWN_OVERFLOW_MODEQUERY_SECTION_DOESNT_MAKE_SENSENOT_FOUND_FUNCTION_ELEMENT_FOR_AGGREGATENOT_FOUND_RELATION_ELEMENT_FOR_CONDITIONNOT_FOUND_RHS_ELEMENT_FOR_CONDITIONNO_ATTRIBUTES_LISTEDINDEX_OF_COLUMN_IN_SORT_CLAUSE_IS_OUT_OF_RANGEUNKNOWN_DIRECTION_OF_SORTINGILLEGAL_DIVISIONAGGREGATE_FUNCTION_NOT_APPLICABLEUNKNOWN_RELATIONDICTIONARIES_WAS_NOT_LOADEDILLEGAL_OVERFLOW_MODETOO_MANY_ROWSTIMEOUT_EXCEEDEDTOO_SLOWTOO_MANY_COLUMNSTOO_DEEP_SUBQUERIESTOO_DEEP_PIPELINEREADONLYTOO_MANY_TEMPORARY_COLUMNSTOO_MANY_TEMPORARY_NON_CONST_COLUMNSTOO_DEEP_ASTTOO_BIG_ASTBAD_TYPE_OF_FIELDBAD_GETBLOCKS_HAVE_DIFFERENT_STRUCTURECANNOT_CREATE_DIRECTORYCANNOT_ALLOCATE_MEMORYCYCLIC_ALIASESCHUNK_NOT_FOUNDDUPLICATE_CHUNK_NAMEMULTIPLE_ALIASES_FOR_EXPRESSIONMULTIPLE_EXPRESSIONS_FOR_ALIASTHERE_IS_NO_PROFILEILLEGAL_FINALILLEGAL_PREWHEREUNEXPECTED_EXPRESSIONILLEGAL_AGGREGATIONUNSUPPORTED_MYISAM_BLOCK_TYPEUNSUPPORTED_COLLATION_LOCALECOLLATION_COMPARISON_FAILEDUNKNOWN_ACTIONTABLE_MUST_NOT_BE_CREATED_MANUALLYSIZES_OF_ARRAYS_DOESNT_MATCHSET_SIZE_LIMIT_EXCEEDEDUNKNOWN_USERWRONG_PASSWORDREQUIRED_PASSWORDIP_ADDRESS_NOT_ALLOWEDUNKNOWN_ADDRESS_PATTERN_TYPESERVER_REVISION_IS_TOO_OLDDNS_ERRORUNKNOWN_QUOTAQUOTA_DOESNT_ALLOW_KEYSQUOTA_EXPIREDTOO_MANY_SIMULTANEOUS_QUERIESNO_FREE_CONNECTIONCANNOT_FSYNCNESTED_TYPE_TOO_DEEPALIAS_REQUIREDAMBIGUOUS_IDENTIFIEREMPTY_NESTED_TABLESOCKET_TIMEOUTNETWORK_ERROREMPTY_QUERYUNKNOWN_LOAD_BALANCINGUNKNOWN_TOTALS_MODECANNOT_STATVFSNOT_AN_AGGREGATEQUERY_WITH_SAME_ID_IS_ALREADY_RUNNINGCLIENT_HAS_CONNECTED_TO_WRONG_PORTTABLE_IS_DROPPEDDATABASE_NOT_EMPTYDUPLICATE_INTERSERVER_IO_ENDPOINTNO_SUCH_INTERSERVER_IO_ENDPOINTADDING_REPLICA_TO_NON_EMPTY_TABLEUNEXPECTED_AST_STRUCTUREREPLICA_IS_ALREADY_ACTIVENO_ZOOKEEPERNO_FILE_IN_DATA_PARTUNEXPECTED_FILE_IN_DATA_PARTBAD_SIZE_OF_FILE_IN_DATA_PARTQUERY_IS_TOO_LARGENOT_FOUND_EXPECTED_DATA_PARTTOO_MANY_UNEXPECTED_DATA_PARTSNO_SUCH_DATA_PARTBAD_DATA_PART_NAMENO_REPLICA_HAS_PARTDUPLICATE_DATA_PARTABORTEDNO_REPLICA_NAME_GIVENFORMAT_VERSION_TOO_OLDCANNOT_MUNMAPCANNOT_MREMAPMEMORY_LIMIT_EXCEEDEDTABLE_IS_READ_ONLYNOT_ENOUGH_SPACEUNEXPECTED_ZOOKEEPER_ERRORCORRUPTED_DATAINCORRECT_MARKINVALID_PARTITION_VALUENOT_ENOUGH_BLOCK_NUMBERSNO_SUCH_REPLICATOO_MANY_PARTSREPLICA_IS_ALREADY_EXISTNO_ACTIVE_REPLICASTOO_MANY_RETRIES_TO_FETCH_PARTSPARTITION_ALREADY_EXISTSPARTITION_DOESNT_EXISTUNION_ALL_RESULT_STRUCTURES_MISMATCHCLIENT_OUTPUT_FORMAT_SPECIFIEDUNKNOWN_BLOCK_INFO_FIELDBAD_COLLATIONCANNOT_COMPILE_CODEINCOMPATIBLE_TYPE_OF_JOINNO_AVAILABLE_REPLICAMISMATCH_REPLICAS_DATA_SOURCESSTORAGE_DOESNT_SUPPORT_PARALLEL_REPLICASCPUID_ERRORINFINITE_LOOPCANNOT_COMPRESSCANNOT_DECOMPRESSAIO_SUBMIT_ERRORAIO_COMPLETION_ERRORAIO_READ_ERRORAIO_WRITE_ERRORINDEX_NOT_USEDLEADERSHIP_LOSTALL_CONNECTION_TRIES_FAILEDNO_AVAILABLE_DATADICTIONARY_IS_EMPTYINCORRECT_INDEXUNKNOWN_DISTRIBUTED_PRODUCT_MODEUNKNOWN_GLOBAL_SUBQUERIES_METHODTOO_LESS_LIVE_REPLICASUNSATISFIED_QUORUM_FOR_PREVIOUS_WRITEUNKNOWN_FORMAT_VERSIONDISTRIBUTED_IN_JOIN_SUBQUERY_DENIEDREPLICA_IS_NOT_IN_QUORUMLIMIT_EXCEEDEDDATABASE_ACCESS_DENIEDLEADERSHIP_CHANGEDMONGODB_CANNOT_AUTHENTICATEINVALID_BLOCK_EXTRA_INFORECEIVED_EMPTY_DATANO_REMOTE_SHARD_FOUNDSHARD_HAS_NO_CONNECTIONSCANNOT_PIPECANNOT_FORKCANNOT_DLSYMCANNOT_CREATE_CHILD_PROCESSCHILD_WAS_NOT_EXITED_NORMALLYCANNOT_SELECTCANNOT_WAITPIDTABLE_WAS_NOT_DROPPEDTOO_DEEP_RECURSIONTOO_MANY_BYTESUNEXPECTED_NODE_IN_ZOOKEEPERFUNCTION_CANNOT_HAVE_PARAMETERSINVALID_SHARD_WEIGHTINVALID_CONFIG_PARAMETERUNKNOWN_STATUS_OF_INSERTVALUE_IS_OUT_OF_RANGE_OF_DATA_TYPEBARRIER_TIMEOUTUNKNOWN_DATABASE_ENGINEDDL_GUARD_IS_ACTIVEUNFINISHEDMETADATA_MISMATCHSUPPORT_IS_DISABLEDTABLE_DIFFERS_TOO_MUCHCANNOT_CONVERT_CHARSETCANNOT_LOAD_CONFIGCANNOT_INSERT_NULL_IN_ORDINARY_COLUMNINCOMPATIBLE_SOURCE_TABLESAMBIGUOUS_TABLE_NAMEAMBIGUOUS_COLUMN_NAMEINDEX_OF_POSITIONAL_ARGUMENT_IS_OUT_OF_RANGEZLIB_INFLATE_FAILEDZLIB_DEFLATE_FAILEDBAD_LAMBDARESERVED_IDENTIFIER_NAMEINTO_OUTFILE_NOT_ALLOWEDTABLE_SIZE_EXCEEDS_MAX_DROP_SIZE_LIMITCANNOT_CREATE_CHARSET_CONVERTERSEEK_POSITION_OUT_OF_BOUNDCURRENT_WRITE_BUFFER_IS_EXHAUSTEDCANNOT_CREATE_IO_BUFFERRECEIVED_ERROR_TOO_MANY_REQUESTSOUTPUT_IS_NOT_SORTEDSIZES_OF_NESTED_COLUMNS_ARE_INCONSISTENTTOO_MANY_FETCHESBAD_CASTALL_REPLICAS_ARE_STALEDATA_TYPE_CANNOT_BE_USED_IN_TABLESINCONSISTENT_CLUSTER_DEFINITIONSESSION_NOT_FOUNDSESSION_IS_LOCKEDINVALID_SESSION_TIMEOUTCANNOT_DLOPENCANNOT_PARSE_UUIDILLEGAL_SYNTAX_FOR_DATA_TYPEDATA_TYPE_CANNOT_HAVE_ARGUMENTSUNKNOWN_STATUS_OF_DISTRIBUTED_DDL_TASKCANNOT_KILLHTTP_LENGTH_REQUIREDCANNOT_LOAD_CATBOOST_MODELCANNOT_APPLY_CATBOOST_MODELPART_IS_TEMPORARILY_LOCKEDMULTIPLE_STREAMS_REQUIREDNO_COMMON_TYPEEXTERNAL_LOADABLE_ALREADY_EXISTSCANNOT_ASSIGN_OPTIMIZEINSERT_WAS_DEDUPLICATEDCANNOT_GET_CREATE_TABLE_QUERYEXTERNAL_LIBRARY_ERRORQUERY_IS_PROHIBITEDTHERE_IS_NO_QUERYQUERY_WAS_CANCELLEDFUNCTION_THROW_IF_VALUE_IS_NON_ZEROTOO_MANY_ROWS_OR_BYTESQUERY_IS_NOT_SUPPORTED_IN_MATERIALIZED_VIEWCANNOT_PARSE_DOMAIN_VALUE_FROM_STRINGACCESS_ENTITY_NOT_FOUNDAUTHENTICATION_FAILEDKEEPER_EXCEPTIONPOCO_EXCEPTIONSTD_EXCEPTIONUNKNOWN_EXCEPTIONCONDITIONAL_TREE_PARENT_NOT_FOUNDILLEGAL_PROJECTION_MANIPULATOR" -const _ErrorLowerName = "unsupported_methodunsupported_parameterunexpected_end_of_fileexpected_end_of_filecannot_parse_textincorrect_number_of_columnsthere_is_no_columnsizes_of_columns_doesnt_matchnot_found_column_in_blockposition_out_of_boundparameter_out_of_boundsizes_of_columns_in_tuple_doesnt_matchduplicate_columnno_such_column_in_tabledelimiter_in_string_literal_doesnt_matchcannot_insert_element_into_constant_columnsize_of_fixed_string_doesnt_matchnumber_of_columns_doesnt_matchcannot_read_all_data_from_tab_separated_inputcannot_parse_all_value_from_tab_separated_inputcannot_read_from_istreamcannot_write_to_ostreamcannot_parse_escape_sequencecannot_parse_quoted_stringcannot_parse_input_assertion_failedcannot_print_float_or_double_numbercannot_print_integercannot_read_size_of_compressed_chunkcannot_read_compressed_chunkattempt_to_read_after_eofcannot_read_all_datatoo_many_arguments_for_functiontoo_less_arguments_for_functionbad_argumentsunknown_element_in_astcannot_parse_datetoo_large_size_compressedchecksum_doesnt_matchcannot_parse_datetimenumber_of_arguments_doesnt_matchillegal_type_of_argumentillegal_columnillegal_number_of_result_columnsunknown_functionunknown_identifiernot_implementedlogical_errorunknown_typeempty_list_of_columns_queriedcolumn_queried_more_than_oncetype_mismatchstorage_doesnt_allow_parametersstorage_requires_parameterunknown_storagetable_already_existstable_metadata_already_existsillegal_type_of_column_for_filterunknown_tableonly_filter_column_in_blocksyntax_errorunknown_aggregate_functioncannot_read_aggregate_function_from_textcannot_write_aggregate_function_as_textnot_a_columnillegal_key_of_aggregationcannot_get_size_of_fieldargument_out_of_boundcannot_convert_typecannot_write_after_end_of_buffercannot_parse_numberunknown_formatcannot_read_from_file_descriptorcannot_write_to_file_descriptorcannot_open_filecannot_close_fileunknown_type_of_queryincorrect_file_nameincorrect_queryunknown_databasedatabase_already_existsdirectory_doesnt_existdirectory_already_existsformat_is_not_suitable_for_inputreceived_error_from_remote_io_servercannot_seek_through_filecannot_truncate_fileunknown_compression_methodempty_list_of_columns_passedsizes_of_marks_files_are_inconsistentempty_data_passedunknown_aggregated_data_variantcannot_merge_different_aggregated_data_variantscannot_read_from_socketcannot_write_to_socketcannot_read_all_data_from_chunked_inputcannot_write_to_empty_block_output_streamunknown_packet_from_clientunknown_packet_from_serverunexpected_packet_from_clientunexpected_packet_from_serverreceived_data_for_wrong_query_idtoo_small_buffer_sizecannot_read_historycannot_append_historyfile_doesnt_existno_data_to_insertcannot_block_signalcannot_unblock_signalcannot_manipulate_sigsetcannot_wait_for_signalthere_is_no_sessioncannot_clock_gettimeunknown_settingthere_is_no_default_valueincorrect_dataengine_requiredcannot_insert_value_of_different_size_into_tupleunknown_set_data_variantincompatible_columnsunknown_type_of_ast_nodeincorrect_element_of_setincorrect_result_of_scalar_subquerycannot_get_return_typeillegal_indextoo_large_array_sizefunction_is_specialcannot_read_array_from_texttoo_large_string_sizecannot_create_table_from_metadataaggregate_function_doesnt_allow_parametersparameters_to_aggregate_functions_must_be_literalszero_array_or_tuple_indexunknown_element_in_configexcessive_element_in_configno_elements_in_configall_requested_columns_are_missingsampling_not_supportednot_found_nodefound_more_than_one_nodefirst_date_is_bigger_than_last_dateunknown_overflow_modequery_section_doesnt_make_sensenot_found_function_element_for_aggregatenot_found_relation_element_for_conditionnot_found_rhs_element_for_conditionno_attributes_listedindex_of_column_in_sort_clause_is_out_of_rangeunknown_direction_of_sortingillegal_divisionaggregate_function_not_applicableunknown_relationdictionaries_was_not_loadedillegal_overflow_modetoo_many_rowstimeout_exceededtoo_slowtoo_many_columnstoo_deep_subqueriestoo_deep_pipelinereadonlytoo_many_temporary_columnstoo_many_temporary_non_const_columnstoo_deep_asttoo_big_astbad_type_of_fieldbad_getblocks_have_different_structurecannot_create_directorycannot_allocate_memorycyclic_aliaseschunk_not_foundduplicate_chunk_namemultiple_aliases_for_expressionmultiple_expressions_for_aliasthere_is_no_profileillegal_finalillegal_prewhereunexpected_expressionillegal_aggregationunsupported_myisam_block_typeunsupported_collation_localecollation_comparison_failedunknown_actiontable_must_not_be_created_manuallysizes_of_arrays_doesnt_matchset_size_limit_exceededunknown_userwrong_passwordrequired_passwordip_address_not_allowedunknown_address_pattern_typeserver_revision_is_too_olddns_errorunknown_quotaquota_doesnt_allow_keysquota_expiredtoo_many_simultaneous_queriesno_free_connectioncannot_fsyncnested_type_too_deepalias_requiredambiguous_identifierempty_nested_tablesocket_timeoutnetwork_errorempty_queryunknown_load_balancingunknown_totals_modecannot_statvfsnot_an_aggregatequery_with_same_id_is_already_runningclient_has_connected_to_wrong_porttable_is_droppeddatabase_not_emptyduplicate_interserver_io_endpointno_such_interserver_io_endpointadding_replica_to_non_empty_tableunexpected_ast_structurereplica_is_already_activeno_zookeeperno_file_in_data_partunexpected_file_in_data_partbad_size_of_file_in_data_partquery_is_too_largenot_found_expected_data_parttoo_many_unexpected_data_partsno_such_data_partbad_data_part_nameno_replica_has_partduplicate_data_partabortedno_replica_name_givenformat_version_too_oldcannot_munmapcannot_mremapmemory_limit_exceededtable_is_read_onlynot_enough_spaceunexpected_zookeeper_errorcorrupted_dataincorrect_markinvalid_partition_valuenot_enough_block_numbersno_such_replicatoo_many_partsreplica_is_already_existno_active_replicastoo_many_retries_to_fetch_partspartition_already_existspartition_doesnt_existunion_all_result_structures_mismatchclient_output_format_specifiedunknown_block_info_fieldbad_collationcannot_compile_codeincompatible_type_of_joinno_available_replicamismatch_replicas_data_sourcesstorage_doesnt_support_parallel_replicascpuid_errorinfinite_loopcannot_compresscannot_decompressaio_submit_erroraio_completion_erroraio_read_erroraio_write_errorindex_not_usedleadership_lostall_connection_tries_failedno_available_datadictionary_is_emptyincorrect_indexunknown_distributed_product_modeunknown_global_subqueries_methodtoo_less_live_replicasunsatisfied_quorum_for_previous_writeunknown_format_versiondistributed_in_join_subquery_deniedreplica_is_not_in_quorumlimit_exceededdatabase_access_deniedleadership_changedmongodb_cannot_authenticateinvalid_block_extra_inforeceived_empty_datano_remote_shard_foundshard_has_no_connectionscannot_pipecannot_forkcannot_dlsymcannot_create_child_processchild_was_not_exited_normallycannot_selectcannot_waitpidtable_was_not_droppedtoo_deep_recursiontoo_many_bytesunexpected_node_in_zookeeperfunction_cannot_have_parametersinvalid_shard_weightinvalid_config_parameterunknown_status_of_insertvalue_is_out_of_range_of_data_typebarrier_timeoutunknown_database_engineddl_guard_is_activeunfinishedmetadata_mismatchsupport_is_disabledtable_differs_too_muchcannot_convert_charsetcannot_load_configcannot_insert_null_in_ordinary_columnincompatible_source_tablesambiguous_table_nameambiguous_column_nameindex_of_positional_argument_is_out_of_rangezlib_inflate_failedzlib_deflate_failedbad_lambdareserved_identifier_nameinto_outfile_not_allowedtable_size_exceeds_max_drop_size_limitcannot_create_charset_converterseek_position_out_of_boundcurrent_write_buffer_is_exhaustedcannot_create_io_bufferreceived_error_too_many_requestsoutput_is_not_sortedsizes_of_nested_columns_are_inconsistenttoo_many_fetchesbad_castall_replicas_are_staledata_type_cannot_be_used_in_tablesinconsistent_cluster_definitionsession_not_foundsession_is_lockedinvalid_session_timeoutcannot_dlopencannot_parse_uuidillegal_syntax_for_data_typedata_type_cannot_have_argumentsunknown_status_of_distributed_ddl_taskcannot_killhttp_length_requiredcannot_load_catboost_modelcannot_apply_catboost_modelpart_is_temporarily_lockedmultiple_streams_requiredno_common_typeexternal_loadable_already_existscannot_assign_optimizeinsert_was_deduplicatedcannot_get_create_table_queryexternal_library_errorquery_is_prohibitedthere_is_no_queryquery_was_cancelledfunction_throw_if_value_is_non_zerotoo_many_rows_or_bytesquery_is_not_supported_in_materialized_viewcannot_parse_domain_value_from_stringaccess_entity_not_foundauthentication_failedkeeper_exceptionpoco_exceptionstd_exceptionunknown_exceptionconditional_tree_parent_not_foundillegal_projection_manipulator" +const _ErrorName = "UNSUPPORTED_METHODUNSUPPORTED_PARAMETERUNEXPECTED_END_OF_FILEEXPECTED_END_OF_FILECANNOT_PARSE_TEXTINCORRECT_NUMBER_OF_COLUMNSTHERE_IS_NO_COLUMNSIZES_OF_COLUMNS_DOESNT_MATCHNOT_FOUND_COLUMN_IN_BLOCKPOSITION_OUT_OF_BOUNDPARAMETER_OUT_OF_BOUNDSIZES_OF_COLUMNS_IN_TUPLE_DOESNT_MATCHDUPLICATE_COLUMNNO_SUCH_COLUMN_IN_TABLEDELIMITER_IN_STRING_LITERAL_DOESNT_MATCHCANNOT_INSERT_ELEMENT_INTO_CONSTANT_COLUMNSIZE_OF_FIXED_STRING_DOESNT_MATCHNUMBER_OF_COLUMNS_DOESNT_MATCHCANNOT_READ_ALL_DATA_FROM_TAB_SEPARATED_INPUTCANNOT_PARSE_ALL_VALUE_FROM_TAB_SEPARATED_INPUTCANNOT_READ_FROM_ISTREAMCANNOT_WRITE_TO_OSTREAMCANNOT_PARSE_ESCAPE_SEQUENCECANNOT_PARSE_QUOTED_STRINGCANNOT_PARSE_INPUT_ASSERTION_FAILEDCANNOT_PRINT_FLOAT_OR_DOUBLE_NUMBERCANNOT_PRINT_INTEGERCANNOT_READ_SIZE_OF_COMPRESSED_CHUNKCANNOT_READ_COMPRESSED_CHUNKATTEMPT_TO_READ_AFTER_EOFCANNOT_READ_ALL_DATATOO_MANY_ARGUMENTS_FOR_FUNCTIONTOO_FEW_ARGUMENTS_FOR_FUNCTIONBAD_ARGUMENTSUNKNOWN_ELEMENT_IN_ASTCANNOT_PARSE_DATETOO_LARGE_SIZE_COMPRESSEDCHECKSUM_DOESNT_MATCHCANNOT_PARSE_DATETIMENUMBER_OF_ARGUMENTS_DOESNT_MATCHILLEGAL_TYPE_OF_ARGUMENTILLEGAL_COLUMNILLEGAL_NUMBER_OF_RESULT_COLUMNSUNKNOWN_FUNCTIONUNKNOWN_IDENTIFIERNOT_IMPLEMENTEDLOGICAL_ERRORUNKNOWN_TYPEEMPTY_LIST_OF_COLUMNS_QUERIEDCOLUMN_QUERIED_MORE_THAN_ONCETYPE_MISMATCHSTORAGE_DOESNT_ALLOW_PARAMETERSSTORAGE_REQUIRES_PARAMETERUNKNOWN_STORAGETABLE_ALREADY_EXISTSTABLE_METADATA_ALREADY_EXISTSILLEGAL_TYPE_OF_COLUMN_FOR_FILTERUNKNOWN_TABLEONLY_FILTER_COLUMN_IN_BLOCKSYNTAX_ERRORUNKNOWN_AGGREGATE_FUNCTIONCANNOT_READ_AGGREGATE_FUNCTION_FROM_TEXTCANNOT_WRITE_AGGREGATE_FUNCTION_AS_TEXTNOT_A_COLUMNILLEGAL_KEY_OF_AGGREGATIONCANNOT_GET_SIZE_OF_FIELDARGUMENT_OUT_OF_BOUNDCANNOT_CONVERT_TYPECANNOT_WRITE_AFTER_END_OF_BUFFERCANNOT_PARSE_NUMBERUNKNOWN_FORMATCANNOT_READ_FROM_FILE_DESCRIPTORCANNOT_WRITE_TO_FILE_DESCRIPTORCANNOT_OPEN_FILECANNOT_CLOSE_FILEUNKNOWN_TYPE_OF_QUERYINCORRECT_FILE_NAMEINCORRECT_QUERYUNKNOWN_DATABASEDATABASE_ALREADY_EXISTSDIRECTORY_DOESNT_EXISTDIRECTORY_ALREADY_EXISTSFORMAT_IS_NOT_SUITABLE_FOR_INPUTRECEIVED_ERROR_FROM_REMOTE_IO_SERVERCANNOT_SEEK_THROUGH_FILECANNOT_TRUNCATE_FILEUNKNOWN_COMPRESSION_METHODEMPTY_LIST_OF_COLUMNS_PASSEDSIZES_OF_MARKS_FILES_ARE_INCONSISTENTEMPTY_DATA_PASSEDUNKNOWN_AGGREGATED_DATA_VARIANTCANNOT_MERGE_DIFFERENT_AGGREGATED_DATA_VARIANTSCANNOT_READ_FROM_SOCKETCANNOT_WRITE_TO_SOCKETCANNOT_READ_ALL_DATA_FROM_CHUNKED_INPUTCANNOT_WRITE_TO_EMPTY_BLOCK_OUTPUT_STREAMUNKNOWN_PACKET_FROM_CLIENTUNKNOWN_PACKET_FROM_SERVERUNEXPECTED_PACKET_FROM_CLIENTUNEXPECTED_PACKET_FROM_SERVERRECEIVED_DATA_FOR_WRONG_QUERY_IDTOO_SMALL_BUFFER_SIZECANNOT_READ_HISTORYCANNOT_APPEND_HISTORYFILE_DOESNT_EXISTNO_DATA_TO_INSERTCANNOT_BLOCK_SIGNALCANNOT_UNBLOCK_SIGNALCANNOT_MANIPULATE_SIGSETCANNOT_WAIT_FOR_SIGNALTHERE_IS_NO_SESSIONCANNOT_CLOCK_GETTIMEUNKNOWN_SETTINGTHERE_IS_NO_DEFAULT_VALUEINCORRECT_DATAENGINE_REQUIREDCANNOT_INSERT_VALUE_OF_DIFFERENT_SIZE_INTO_TUPLEUNSUPPORTED_JOIN_KEYSINCOMPATIBLE_COLUMNSUNKNOWN_TYPE_OF_AST_NODEINCORRECT_ELEMENT_OF_SETINCORRECT_RESULT_OF_SCALAR_SUBQUERYCANNOT_GET_RETURN_TYPEILLEGAL_INDEXTOO_LARGE_ARRAY_SIZEFUNCTION_IS_SPECIALCANNOT_READ_ARRAY_FROM_TEXTTOO_LARGE_STRING_SIZECANNOT_CREATE_TABLE_FROM_METADATAAGGREGATE_FUNCTION_DOESNT_ALLOW_PARAMETERSPARAMETERS_TO_AGGREGATE_FUNCTIONS_MUST_BE_LITERALSZERO_ARRAY_OR_TUPLE_INDEXUNKNOWN_ELEMENT_IN_CONFIGEXCESSIVE_ELEMENT_IN_CONFIGNO_ELEMENTS_IN_CONFIGALL_REQUESTED_COLUMNS_ARE_MISSINGSAMPLING_NOT_SUPPORTEDNOT_FOUND_NODEFOUND_MORE_THAN_ONE_NODEFIRST_DATE_IS_BIGGER_THAN_LAST_DATEUNKNOWN_OVERFLOW_MODEQUERY_SECTION_DOESNT_MAKE_SENSENOT_FOUND_FUNCTION_ELEMENT_FOR_AGGREGATENOT_FOUND_RELATION_ELEMENT_FOR_CONDITIONNOT_FOUND_RHS_ELEMENT_FOR_CONDITIONNO_ATTRIBUTES_LISTEDINDEX_OF_COLUMN_IN_SORT_CLAUSE_IS_OUT_OF_RANGEUNKNOWN_DIRECTION_OF_SORTINGILLEGAL_DIVISIONAGGREGATE_FUNCTION_NOT_APPLICABLEUNKNOWN_RELATIONDICTIONARIES_WAS_NOT_LOADEDILLEGAL_OVERFLOW_MODETOO_MANY_ROWSTIMEOUT_EXCEEDEDTOO_SLOWTOO_MANY_COLUMNSTOO_DEEP_SUBQUERIESTOO_DEEP_PIPELINEREADONLYTOO_MANY_TEMPORARY_COLUMNSTOO_MANY_TEMPORARY_NON_CONST_COLUMNSTOO_DEEP_ASTTOO_BIG_ASTBAD_TYPE_OF_FIELDBAD_GETBLOCKS_HAVE_DIFFERENT_STRUCTURECANNOT_CREATE_DIRECTORYCANNOT_ALLOCATE_MEMORYCYCLIC_ALIASESCHUNK_NOT_FOUNDDUPLICATE_CHUNK_NAMEMULTIPLE_ALIASES_FOR_EXPRESSIONMULTIPLE_EXPRESSIONS_FOR_ALIASTHERE_IS_NO_PROFILEILLEGAL_FINALILLEGAL_PREWHEREUNEXPECTED_EXPRESSIONILLEGAL_AGGREGATIONUNSUPPORTED_MYISAM_BLOCK_TYPEUNSUPPORTED_COLLATION_LOCALECOLLATION_COMPARISON_FAILEDUNKNOWN_ACTIONTABLE_MUST_NOT_BE_CREATED_MANUALLYSIZES_OF_ARRAYS_DONT_MATCHSET_SIZE_LIMIT_EXCEEDEDUNKNOWN_USERWRONG_PASSWORDREQUIRED_PASSWORDIP_ADDRESS_NOT_ALLOWEDUNKNOWN_ADDRESS_PATTERN_TYPESERVER_REVISION_IS_TOO_OLDDNS_ERRORUNKNOWN_QUOTAQUOTA_DOESNT_ALLOW_KEYSQUOTA_EXPIREDTOO_MANY_SIMULTANEOUS_QUERIESNO_FREE_CONNECTIONCANNOT_FSYNCNESTED_TYPE_TOO_DEEPALIAS_REQUIREDAMBIGUOUS_IDENTIFIEREMPTY_NESTED_TABLESOCKET_TIMEOUTNETWORK_ERROREMPTY_QUERYUNKNOWN_LOAD_BALANCINGUNKNOWN_TOTALS_MODECANNOT_STATVFSNOT_AN_AGGREGATEQUERY_WITH_SAME_ID_IS_ALREADY_RUNNINGCLIENT_HAS_CONNECTED_TO_WRONG_PORTTABLE_IS_DROPPEDDATABASE_NOT_EMPTYDUPLICATE_INTERSERVER_IO_ENDPOINTNO_SUCH_INTERSERVER_IO_ENDPOINTADDING_REPLICA_TO_NON_EMPTY_TABLEUNEXPECTED_AST_STRUCTUREREPLICA_IS_ALREADY_ACTIVENO_ZOOKEEPERNO_FILE_IN_DATA_PARTUNEXPECTED_FILE_IN_DATA_PARTBAD_SIZE_OF_FILE_IN_DATA_PARTQUERY_IS_TOO_LARGENOT_FOUND_EXPECTED_DATA_PARTTOO_MANY_UNEXPECTED_DATA_PARTSNO_SUCH_DATA_PARTBAD_DATA_PART_NAMENO_REPLICA_HAS_PARTDUPLICATE_DATA_PARTABORTEDNO_REPLICA_NAME_GIVENFORMAT_VERSION_TOO_OLDCANNOT_MUNMAPCANNOT_MREMAPMEMORY_LIMIT_EXCEEDEDTABLE_IS_READ_ONLYNOT_ENOUGH_SPACEUNEXPECTED_ZOOKEEPER_ERRORCORRUPTED_DATAINCORRECT_MARKINVALID_PARTITION_VALUENOT_ENOUGH_BLOCK_NUMBERSNO_SUCH_REPLICATOO_MANY_PARTSREPLICA_IS_ALREADY_EXISTNO_ACTIVE_REPLICASTOO_MANY_RETRIES_TO_FETCH_PARTSPARTITION_ALREADY_EXISTSPARTITION_DOESNT_EXISTUNION_ALL_RESULT_STRUCTURES_MISMATCHCLIENT_OUTPUT_FORMAT_SPECIFIEDUNKNOWN_BLOCK_INFO_FIELDBAD_COLLATIONCANNOT_COMPILE_CODEINCOMPATIBLE_TYPE_OF_JOINNO_AVAILABLE_REPLICAMISMATCH_REPLICAS_DATA_SOURCESSTORAGE_DOESNT_SUPPORT_PARALLEL_REPLICASCPUID_ERRORINFINITE_LOOPCANNOT_COMPRESSCANNOT_DECOMPRESSCANNOT_IO_SUBMITCANNOT_IO_GETEVENTSAIO_READ_ERRORAIO_WRITE_ERRORINDEX_NOT_USEDLEADERSHIP_LOSTALL_CONNECTION_TRIES_FAILEDNO_AVAILABLE_DATADICTIONARY_IS_EMPTYINCORRECT_INDEXUNKNOWN_DISTRIBUTED_PRODUCT_MODEWRONG_GLOBAL_SUBQUERYTOO_FEW_LIVE_REPLICASUNSATISFIED_QUORUM_FOR_PREVIOUS_WRITEUNKNOWN_FORMAT_VERSIONDISTRIBUTED_IN_JOIN_SUBQUERY_DENIEDREPLICA_IS_NOT_IN_QUORUMLIMIT_EXCEEDEDDATABASE_ACCESS_DENIEDLEADERSHIP_CHANGEDMONGODB_CANNOT_AUTHENTICATECANNOT_WRITE_TO_FILERECEIVED_EMPTY_DATANO_REMOTE_SHARD_FOUNDSHARD_HAS_NO_CONNECTIONSCANNOT_PIPECANNOT_FORKCANNOT_DLSYMCANNOT_CREATE_CHILD_PROCESSCHILD_WAS_NOT_EXITED_NORMALLYCANNOT_SELECTCANNOT_WAITPIDTABLE_WAS_NOT_DROPPEDTOO_DEEP_RECURSIONTOO_MANY_BYTESUNEXPECTED_NODE_IN_ZOOKEEPERFUNCTION_CANNOT_HAVE_PARAMETERSINVALID_SHARD_WEIGHTINVALID_CONFIG_PARAMETERUNKNOWN_STATUS_OF_INSERTVALUE_IS_OUT_OF_RANGE_OF_DATA_TYPEBARRIER_TIMEOUTUNKNOWN_DATABASE_ENGINEDDL_GUARD_IS_ACTIVEUNFINISHEDMETADATA_MISMATCHSUPPORT_IS_DISABLEDTABLE_DIFFERS_TOO_MUCHCANNOT_CONVERT_CHARSETCANNOT_LOAD_CONFIGCANNOT_INSERT_NULL_IN_ORDINARY_COLUMNINCOMPATIBLE_SOURCE_TABLESAMBIGUOUS_TABLE_NAMEAMBIGUOUS_COLUMN_NAMEINDEX_OF_POSITIONAL_ARGUMENT_IS_OUT_OF_RANGEZLIB_INFLATE_FAILEDZLIB_DEFLATE_FAILEDBAD_LAMBDARESERVED_IDENTIFIER_NAMEINTO_OUTFILE_NOT_ALLOWEDTABLE_SIZE_EXCEEDS_MAX_DROP_SIZE_LIMITCANNOT_CREATE_CHARSET_CONVERTERSEEK_POSITION_OUT_OF_BOUNDCURRENT_WRITE_BUFFER_IS_EXHAUSTEDCANNOT_CREATE_IO_BUFFERRECEIVED_ERROR_TOO_MANY_REQUESTSOUTPUT_IS_NOT_SORTEDSIZES_OF_NESTED_COLUMNS_ARE_INCONSISTENTTOO_MANY_FETCHESBAD_CASTALL_REPLICAS_ARE_STALEDATA_TYPE_CANNOT_BE_USED_IN_TABLESINCONSISTENT_CLUSTER_DEFINITIONSESSION_NOT_FOUNDSESSION_IS_LOCKEDINVALID_SESSION_TIMEOUTCANNOT_DLOPENCANNOT_PARSE_UUIDILLEGAL_SYNTAX_FOR_DATA_TYPEDATA_TYPE_CANNOT_HAVE_ARGUMENTSUNKNOWN_STATUS_OF_DISTRIBUTED_DDL_TASKCANNOT_KILLHTTP_LENGTH_REQUIREDCANNOT_LOAD_CATBOOST_MODELCANNOT_APPLY_CATBOOST_MODELPART_IS_TEMPORARILY_LOCKEDMULTIPLE_STREAMS_REQUIREDNO_COMMON_TYPEEXTERNAL_LOADABLE_ALREADY_EXISTSCANNOT_ASSIGN_OPTIMIZEINSERT_WAS_DEDUPLICATEDCANNOT_GET_CREATE_TABLE_QUERYEXTERNAL_LIBRARY_ERRORQUERY_IS_PROHIBITEDTHERE_IS_NO_QUERYQUERY_WAS_CANCELLEDFUNCTION_THROW_IF_VALUE_IS_NON_ZEROTOO_MANY_ROWS_OR_BYTESQUERY_IS_NOT_SUPPORTED_IN_MATERIALIZED_VIEWUNKNOWN_MUTATION_COMMANDFORMAT_IS_NOT_SUITABLE_FOR_OUTPUTCANNOT_STATFEATURE_IS_NOT_ENABLED_AT_BUILD_TIMECANNOT_IOSETUPINVALID_JOIN_ON_EXPRESSIONBAD_ODBC_CONNECTION_STRINGTOP_AND_LIMIT_TOGETHERDECIMAL_OVERFLOWBAD_REQUEST_PARAMETEREXTERNAL_SERVER_IS_NOT_RESPONDINGPTHREAD_ERRORNETLINK_ERRORCANNOT_SET_SIGNAL_HANDLERALL_REPLICAS_LOSTREPLICA_STATUS_CHANGEDEXPECTED_ALL_OR_ANYUNKNOWN_JOINMULTIPLE_ASSIGNMENTS_TO_COLUMNCANNOT_UPDATE_COLUMNCANNOT_ADD_DIFFERENT_AGGREGATE_STATESUNSUPPORTED_URI_SCHEMECANNOT_GETTIMEOFDAYCANNOT_LINKSYSTEM_ERRORCANNOT_COMPILE_REGEXPFAILED_TO_GETPWUIDMISMATCHING_USERS_FOR_PROCESS_AND_DATAILLEGAL_SYNTAX_FOR_CODEC_TYPEUNKNOWN_CODECILLEGAL_CODEC_PARAMETERCANNOT_PARSE_PROTOBUF_SCHEMANO_COLUMN_SERIALIZED_TO_REQUIRED_PROTOBUF_FIELDPROTOBUF_BAD_CASTPROTOBUF_FIELD_NOT_REPEATEDDATA_TYPE_CANNOT_BE_PROMOTEDCANNOT_SCHEDULE_TASKINVALID_LIMIT_EXPRESSIONCANNOT_PARSE_DOMAIN_VALUE_FROM_STRINGBAD_DATABASE_FOR_TEMPORARY_TABLENO_COLUMNS_SERIALIZED_TO_PROTOBUF_FIELDSUNKNOWN_PROTOBUF_FORMATCANNOT_MPROTECTFUNCTION_NOT_ALLOWEDHYPERSCAN_CANNOT_SCAN_TEXTBROTLI_READ_FAILEDBROTLI_WRITE_FAILEDBAD_TTL_EXPRESSIONBAD_TTL_FILESETTING_CONSTRAINT_VIOLATIONMYSQL_CLIENT_INSUFFICIENT_CAPABILITIESOPENSSL_ERRORSUSPICIOUS_TYPE_FOR_LOW_CARDINALITYUNKNOWN_QUERY_PARAMETERBAD_QUERY_PARAMETERCANNOT_UNLINKCANNOT_SET_THREAD_PRIORITYCANNOT_CREATE_TIMERCANNOT_SET_TIMER_PERIODCANNOT_FCNTLCANNOT_PARSE_ELFCANNOT_PARSE_DWARFINSECURE_PATHCANNOT_PARSE_BOOLCANNOT_PTHREAD_ATTRVIOLATED_CONSTRAINTINVALID_SETTING_VALUEREADONLY_SETTINGDEADLOCK_AVOIDEDINVALID_TEMPLATE_FORMATINVALID_WITH_FILL_EXPRESSIONWITH_TIES_WITHOUT_ORDER_BYINVALID_USAGE_OF_INPUTUNKNOWN_POLICYUNKNOWN_DISKUNKNOWN_PROTOCOLPATH_ACCESS_DENIEDDICTIONARY_ACCESS_DENIEDTOO_MANY_REDIRECTSINTERNAL_REDIS_ERRORCANNOT_GET_CREATE_DICTIONARY_QUERYINCORRECT_DICTIONARY_DEFINITIONCANNOT_FORMAT_DATETIMEUNACCEPTABLE_URLACCESS_ENTITY_NOT_FOUNDACCESS_ENTITY_ALREADY_EXISTSACCESS_STORAGE_READONLYQUOTA_REQUIRES_CLIENT_KEYACCESS_DENIEDLIMIT_BY_WITH_TIES_IS_NOT_SUPPORTEDS3_ERRORAZURE_BLOB_STORAGE_ERRORCANNOT_CREATE_DATABASECANNOT_SIGQUEUEAGGREGATE_FUNCTION_THROWFILE_ALREADY_EXISTSUNABLE_TO_SKIP_UNUSED_SHARDSUNKNOWN_ACCESS_TYPEINVALID_GRANTCACHE_DICTIONARY_UPDATE_FAILUNKNOWN_ROLESET_NON_GRANTED_ROLEUNKNOWN_PART_TYPEACCESS_STORAGE_FOR_INSERTION_NOT_FOUNDINCORRECT_ACCESS_ENTITY_DEFINITIONAUTHENTICATION_FAILEDCANNOT_ASSIGN_ALTERCANNOT_COMMIT_OFFSETNO_REMOTE_SHARD_AVAILABLECANNOT_DETACH_DICTIONARY_AS_TABLEATOMIC_RENAME_FAILUNKNOWN_ROW_POLICYALTER_OF_COLUMN_IS_FORBIDDENINCORRECT_DISK_INDEXNO_SUITABLE_FUNCTION_IMPLEMENTATIONCASSANDRA_INTERNAL_ERRORNOT_A_LEADERCANNOT_CONNECT_RABBITMQCANNOT_FSTATLDAP_ERRORUNKNOWN_RAID_TYPECANNOT_RESTORE_FROM_FIELD_DUMPILLEGAL_MYSQL_VARIABLEMYSQL_SYNTAX_ERRORCANNOT_BIND_RABBITMQ_EXCHANGECANNOT_DECLARE_RABBITMQ_EXCHANGECANNOT_CREATE_RABBITMQ_QUEUE_BINDINGCANNOT_REMOVE_RABBITMQ_EXCHANGEUNKNOWN_MYSQL_DATATYPES_SUPPORT_LEVELROW_AND_ROWS_TOGETHERFIRST_AND_NEXT_TOGETHERNO_ROW_DELIMITERINVALID_RAID_TYPEUNKNOWN_VOLUMEDATA_TYPE_CANNOT_BE_USED_IN_KEYUNRECOGNIZED_ARGUMENTSLZMA_STREAM_ENCODER_FAILEDLZMA_STREAM_DECODER_FAILEDROCKSDB_ERRORSYNC_MYSQL_USER_ACCESS_ERRORUNKNOWN_UNIONEXPECTED_ALL_OR_DISTINCTINVALID_GRPC_QUERY_INFOZSTD_ENCODER_FAILEDZSTD_DECODER_FAILEDTLD_LIST_NOT_FOUNDCANNOT_READ_MAP_FROM_TEXTINTERSERVER_SCHEME_DOESNT_MATCHTOO_MANY_PARTITIONSCANNOT_RMDIRDUPLICATED_PART_UUIDSRAFT_ERRORMULTIPLE_COLUMNS_SERIALIZED_TO_SAME_PROTOBUF_FIELDDATA_TYPE_INCOMPATIBLE_WITH_PROTOBUF_FIELDDATABASE_REPLICATION_FAILEDTOO_MANY_QUERY_PLAN_OPTIMIZATIONSEPOLL_ERRORDISTRIBUTED_TOO_MANY_PENDING_BYTESUNKNOWN_SNAPSHOTKERBEROS_ERRORINVALID_SHARD_IDINVALID_FORMAT_INSERT_QUERY_WITH_DATAINCORRECT_PART_TYPECANNOT_SET_ROUNDING_MODETOO_LARGE_DISTRIBUTED_DEPTHNO_SUCH_PROJECTION_IN_TABLEILLEGAL_PROJECTIONPROJECTION_NOT_USEDCANNOT_PARSE_YAMLCANNOT_CREATE_FILECONCURRENT_ACCESS_NOT_SUPPORTEDDISTRIBUTED_BROKEN_BATCH_INFODISTRIBUTED_BROKEN_BATCH_FILESCANNOT_SYSCONFSQLITE_ENGINE_ERRORDATA_ENCRYPTION_ERRORZERO_COPY_REPLICATION_ERRORBZIP2_STREAM_DECODER_FAILEDBZIP2_STREAM_ENCODER_FAILEDINTERSECT_OR_EXCEPT_RESULT_STRUCTURES_MISMATCHNO_SUCH_ERROR_CODEBACKUP_ALREADY_EXISTSBACKUP_NOT_FOUNDBACKUP_VERSION_NOT_SUPPORTEDBACKUP_DAMAGEDNO_BASE_BACKUPWRONG_BASE_BACKUPBACKUP_ENTRY_ALREADY_EXISTSBACKUP_ENTRY_NOT_FOUNDBACKUP_IS_EMPTYCANNOT_RESTORE_DATABASECANNOT_RESTORE_TABLEFUNCTION_ALREADY_EXISTSCANNOT_DROP_FUNCTIONCANNOT_CREATE_RECURSIVE_FUNCTIONPOSTGRESQL_CONNECTION_FAILURECANNOT_ADVISEUNKNOWN_READ_METHODLZ4_ENCODER_FAILEDLZ4_DECODER_FAILEDPOSTGRESQL_REPLICATION_INTERNAL_ERRORQUERY_NOT_ALLOWEDCANNOT_NORMALIZE_STRINGCANNOT_PARSE_CAPN_PROTO_SCHEMACAPN_PROTO_BAD_CASTBAD_FILE_TYPEIO_SETUP_ERRORCANNOT_SKIP_UNKNOWN_FIELDBACKUP_ENGINE_NOT_FOUNDOFFSET_FETCH_WITHOUT_ORDER_BYHTTP_RANGE_NOT_SATISFIABLEHAVE_DEPENDENT_OBJECTSUNKNOWN_FILE_SIZEUNEXPECTED_DATA_AFTER_PARSED_VALUEQUERY_IS_NOT_SUPPORTED_IN_WINDOW_VIEWMONGODB_ERRORCANNOT_POLLCANNOT_EXTRACT_TABLE_STRUCTUREINVALID_TABLE_OVERRIDESNAPPY_UNCOMPRESS_FAILEDSNAPPY_COMPRESS_FAILEDNO_HIVEMETASTORECANNOT_APPEND_TO_FILECANNOT_PACK_ARCHIVECANNOT_UNPACK_ARCHIVENUMBER_OF_DIMENSIONS_MISMATCHEDCANNOT_BACKUP_TABLEWRONG_DDL_RENAMING_SETTINGSINVALID_TRANSACTIONSERIALIZATION_ERRORCAPN_PROTO_BAD_TYPEONLY_NULLS_WHILE_READING_SCHEMACANNOT_PARSE_BACKUP_SETTINGSWRONG_BACKUP_SETTINGSFAILED_TO_SYNC_BACKUP_OR_RESTOREUNKNOWN_STATUS_OF_TRANSACTIONHDFS_ERRORCANNOT_SEND_SIGNALFS_METADATA_ERRORINCONSISTENT_METADATA_FOR_BACKUPACCESS_STORAGE_DOESNT_ALLOW_BACKUPCANNOT_CONNECT_NATSNOT_INITIALIZEDINVALID_STATENAMED_COLLECTION_DOESNT_EXISTNAMED_COLLECTION_ALREADY_EXISTSNAMED_COLLECTION_IS_IMMUTABLEINVALID_SCHEDULER_NODERESOURCE_ACCESS_DENIEDRESOURCE_NOT_FOUNDCANNOT_PARSE_IPV4CANNOT_PARSE_IPV6THREAD_WAS_CANCELEDIO_URING_INIT_FAILEDIO_URING_SUBMIT_ERRORMIXED_ACCESS_PARAMETER_TYPESUNKNOWN_ELEMENT_OF_ENUMTOO_MANY_MUTATIONSAWS_ERRORASYNC_LOAD_CYCLEASYNC_LOAD_FAILEDASYNC_LOAD_CANCELEDCANNOT_RESTORE_TO_NONENCRYPTED_DISKINVALID_REDIS_STORAGE_TYPEINVALID_REDIS_TABLE_STRUCTUREUSER_SESSION_LIMIT_EXCEEDEDCLUSTER_DOESNT_EXISTCLIENT_INFO_DOES_NOT_MATCHINVALID_IDENTIFIERQUERY_CACHE_USED_WITH_NONDETERMINISTIC_FUNCTIONSTABLE_NOT_EMPTYLIBSSH_ERRORGCP_ERRORILLEGAL_STATISTICSCANNOT_GET_REPLICATED_DATABASE_SNAPSHOTFAULT_INJECTEDFILECACHE_ACCESS_DENIEDTOO_MANY_MATERIALIZED_VIEWSBROKEN_PROJECTIONUNEXPECTED_CLUSTERCANNOT_DETECT_FORMATCANNOT_FORGET_PARTITIONEXPERIMENTAL_FEATURE_ERRORTOO_SLOW_PARSINGQUERY_CACHE_USED_WITH_SYSTEM_TABLEUSER_EXPIREDDEPRECATED_FUNCTIONASYNC_LOAD_WAIT_FAILEDPARQUET_EXCEPTIONTOO_MANY_TABLESTOO_MANY_DATABASESUNEXPECTED_HTTP_HEADERSUNEXPECTED_TABLE_ENGINEUNEXPECTED_DATA_TYPEILLEGAL_TIME_SERIES_TAGSREFRESH_FAILEDQUERY_CACHE_USED_WITH_NON_THROW_OVERFLOW_MODETABLE_IS_BEING_RESTARTEDCANNOT_WRITE_AFTER_BUFFER_CANCELEDQUERY_WAS_CANCELLED_BY_CLIENTDATALAKE_DATABASE_ERRORGOOGLE_CLOUD_ERRORPART_IS_LOCKEDBUZZHOUSEPOTENTIALLY_BROKEN_DATA_PARTTABLE_UUID_MISMATCHDELTA_KERNEL_ERRORICEBERG_SPECIFICATION_VIOLATIONSESSION_ID_EMPTYSERVER_OVERLOADEDDEPENDENCIES_NOT_FOUNDFILECACHE_CANNOT_WRITE_THROUGH_CACHE_WITH_CONCURRENT_READSDISTRIBUTED_CACHE_ERRORCANNOT_USE_DISTRIBUTED_CACHEPROTOCOL_VERSION_MISMATCHLICENSE_EXPIREDKEEPER_EXCEPTIONPOCO_EXCEPTIONSTD_EXCEPTIONUNKNOWN_EXCEPTIONSSH_EXCEPTIONSTARTUP_SCRIPTS_ERRORCONDITIONAL_TREE_PARENT_NOT_FOUNDILLEGAL_PROJECTION_MANIPULATOR" +const _ErrorLowerName = "unsupported_methodunsupported_parameterunexpected_end_of_fileexpected_end_of_filecannot_parse_textincorrect_number_of_columnsthere_is_no_columnsizes_of_columns_doesnt_matchnot_found_column_in_blockposition_out_of_boundparameter_out_of_boundsizes_of_columns_in_tuple_doesnt_matchduplicate_columnno_such_column_in_tabledelimiter_in_string_literal_doesnt_matchcannot_insert_element_into_constant_columnsize_of_fixed_string_doesnt_matchnumber_of_columns_doesnt_matchcannot_read_all_data_from_tab_separated_inputcannot_parse_all_value_from_tab_separated_inputcannot_read_from_istreamcannot_write_to_ostreamcannot_parse_escape_sequencecannot_parse_quoted_stringcannot_parse_input_assertion_failedcannot_print_float_or_double_numbercannot_print_integercannot_read_size_of_compressed_chunkcannot_read_compressed_chunkattempt_to_read_after_eofcannot_read_all_datatoo_many_arguments_for_functiontoo_few_arguments_for_functionbad_argumentsunknown_element_in_astcannot_parse_datetoo_large_size_compressedchecksum_doesnt_matchcannot_parse_datetimenumber_of_arguments_doesnt_matchillegal_type_of_argumentillegal_columnillegal_number_of_result_columnsunknown_functionunknown_identifiernot_implementedlogical_errorunknown_typeempty_list_of_columns_queriedcolumn_queried_more_than_oncetype_mismatchstorage_doesnt_allow_parametersstorage_requires_parameterunknown_storagetable_already_existstable_metadata_already_existsillegal_type_of_column_for_filterunknown_tableonly_filter_column_in_blocksyntax_errorunknown_aggregate_functioncannot_read_aggregate_function_from_textcannot_write_aggregate_function_as_textnot_a_columnillegal_key_of_aggregationcannot_get_size_of_fieldargument_out_of_boundcannot_convert_typecannot_write_after_end_of_buffercannot_parse_numberunknown_formatcannot_read_from_file_descriptorcannot_write_to_file_descriptorcannot_open_filecannot_close_fileunknown_type_of_queryincorrect_file_nameincorrect_queryunknown_databasedatabase_already_existsdirectory_doesnt_existdirectory_already_existsformat_is_not_suitable_for_inputreceived_error_from_remote_io_servercannot_seek_through_filecannot_truncate_fileunknown_compression_methodempty_list_of_columns_passedsizes_of_marks_files_are_inconsistentempty_data_passedunknown_aggregated_data_variantcannot_merge_different_aggregated_data_variantscannot_read_from_socketcannot_write_to_socketcannot_read_all_data_from_chunked_inputcannot_write_to_empty_block_output_streamunknown_packet_from_clientunknown_packet_from_serverunexpected_packet_from_clientunexpected_packet_from_serverreceived_data_for_wrong_query_idtoo_small_buffer_sizecannot_read_historycannot_append_historyfile_doesnt_existno_data_to_insertcannot_block_signalcannot_unblock_signalcannot_manipulate_sigsetcannot_wait_for_signalthere_is_no_sessioncannot_clock_gettimeunknown_settingthere_is_no_default_valueincorrect_dataengine_requiredcannot_insert_value_of_different_size_into_tupleunsupported_join_keysincompatible_columnsunknown_type_of_ast_nodeincorrect_element_of_setincorrect_result_of_scalar_subquerycannot_get_return_typeillegal_indextoo_large_array_sizefunction_is_specialcannot_read_array_from_texttoo_large_string_sizecannot_create_table_from_metadataaggregate_function_doesnt_allow_parametersparameters_to_aggregate_functions_must_be_literalszero_array_or_tuple_indexunknown_element_in_configexcessive_element_in_configno_elements_in_configall_requested_columns_are_missingsampling_not_supportednot_found_nodefound_more_than_one_nodefirst_date_is_bigger_than_last_dateunknown_overflow_modequery_section_doesnt_make_sensenot_found_function_element_for_aggregatenot_found_relation_element_for_conditionnot_found_rhs_element_for_conditionno_attributes_listedindex_of_column_in_sort_clause_is_out_of_rangeunknown_direction_of_sortingillegal_divisionaggregate_function_not_applicableunknown_relationdictionaries_was_not_loadedillegal_overflow_modetoo_many_rowstimeout_exceededtoo_slowtoo_many_columnstoo_deep_subqueriestoo_deep_pipelinereadonlytoo_many_temporary_columnstoo_many_temporary_non_const_columnstoo_deep_asttoo_big_astbad_type_of_fieldbad_getblocks_have_different_structurecannot_create_directorycannot_allocate_memorycyclic_aliaseschunk_not_foundduplicate_chunk_namemultiple_aliases_for_expressionmultiple_expressions_for_aliasthere_is_no_profileillegal_finalillegal_prewhereunexpected_expressionillegal_aggregationunsupported_myisam_block_typeunsupported_collation_localecollation_comparison_failedunknown_actiontable_must_not_be_created_manuallysizes_of_arrays_dont_matchset_size_limit_exceededunknown_userwrong_passwordrequired_passwordip_address_not_allowedunknown_address_pattern_typeserver_revision_is_too_olddns_errorunknown_quotaquota_doesnt_allow_keysquota_expiredtoo_many_simultaneous_queriesno_free_connectioncannot_fsyncnested_type_too_deepalias_requiredambiguous_identifierempty_nested_tablesocket_timeoutnetwork_errorempty_queryunknown_load_balancingunknown_totals_modecannot_statvfsnot_an_aggregatequery_with_same_id_is_already_runningclient_has_connected_to_wrong_porttable_is_droppeddatabase_not_emptyduplicate_interserver_io_endpointno_such_interserver_io_endpointadding_replica_to_non_empty_tableunexpected_ast_structurereplica_is_already_activeno_zookeeperno_file_in_data_partunexpected_file_in_data_partbad_size_of_file_in_data_partquery_is_too_largenot_found_expected_data_parttoo_many_unexpected_data_partsno_such_data_partbad_data_part_nameno_replica_has_partduplicate_data_partabortedno_replica_name_givenformat_version_too_oldcannot_munmapcannot_mremapmemory_limit_exceededtable_is_read_onlynot_enough_spaceunexpected_zookeeper_errorcorrupted_dataincorrect_markinvalid_partition_valuenot_enough_block_numbersno_such_replicatoo_many_partsreplica_is_already_existno_active_replicastoo_many_retries_to_fetch_partspartition_already_existspartition_doesnt_existunion_all_result_structures_mismatchclient_output_format_specifiedunknown_block_info_fieldbad_collationcannot_compile_codeincompatible_type_of_joinno_available_replicamismatch_replicas_data_sourcesstorage_doesnt_support_parallel_replicascpuid_errorinfinite_loopcannot_compresscannot_decompresscannot_io_submitcannot_io_geteventsaio_read_erroraio_write_errorindex_not_usedleadership_lostall_connection_tries_failedno_available_datadictionary_is_emptyincorrect_indexunknown_distributed_product_modewrong_global_subquerytoo_few_live_replicasunsatisfied_quorum_for_previous_writeunknown_format_versiondistributed_in_join_subquery_deniedreplica_is_not_in_quorumlimit_exceededdatabase_access_deniedleadership_changedmongodb_cannot_authenticatecannot_write_to_filereceived_empty_datano_remote_shard_foundshard_has_no_connectionscannot_pipecannot_forkcannot_dlsymcannot_create_child_processchild_was_not_exited_normallycannot_selectcannot_waitpidtable_was_not_droppedtoo_deep_recursiontoo_many_bytesunexpected_node_in_zookeeperfunction_cannot_have_parametersinvalid_shard_weightinvalid_config_parameterunknown_status_of_insertvalue_is_out_of_range_of_data_typebarrier_timeoutunknown_database_engineddl_guard_is_activeunfinishedmetadata_mismatchsupport_is_disabledtable_differs_too_muchcannot_convert_charsetcannot_load_configcannot_insert_null_in_ordinary_columnincompatible_source_tablesambiguous_table_nameambiguous_column_nameindex_of_positional_argument_is_out_of_rangezlib_inflate_failedzlib_deflate_failedbad_lambdareserved_identifier_nameinto_outfile_not_allowedtable_size_exceeds_max_drop_size_limitcannot_create_charset_converterseek_position_out_of_boundcurrent_write_buffer_is_exhaustedcannot_create_io_bufferreceived_error_too_many_requestsoutput_is_not_sortedsizes_of_nested_columns_are_inconsistenttoo_many_fetchesbad_castall_replicas_are_staledata_type_cannot_be_used_in_tablesinconsistent_cluster_definitionsession_not_foundsession_is_lockedinvalid_session_timeoutcannot_dlopencannot_parse_uuidillegal_syntax_for_data_typedata_type_cannot_have_argumentsunknown_status_of_distributed_ddl_taskcannot_killhttp_length_requiredcannot_load_catboost_modelcannot_apply_catboost_modelpart_is_temporarily_lockedmultiple_streams_requiredno_common_typeexternal_loadable_already_existscannot_assign_optimizeinsert_was_deduplicatedcannot_get_create_table_queryexternal_library_errorquery_is_prohibitedthere_is_no_queryquery_was_cancelledfunction_throw_if_value_is_non_zerotoo_many_rows_or_bytesquery_is_not_supported_in_materialized_viewunknown_mutation_commandformat_is_not_suitable_for_outputcannot_statfeature_is_not_enabled_at_build_timecannot_iosetupinvalid_join_on_expressionbad_odbc_connection_stringtop_and_limit_togetherdecimal_overflowbad_request_parameterexternal_server_is_not_respondingpthread_errornetlink_errorcannot_set_signal_handlerall_replicas_lostreplica_status_changedexpected_all_or_anyunknown_joinmultiple_assignments_to_columncannot_update_columncannot_add_different_aggregate_statesunsupported_uri_schemecannot_gettimeofdaycannot_linksystem_errorcannot_compile_regexpfailed_to_getpwuidmismatching_users_for_process_and_dataillegal_syntax_for_codec_typeunknown_codecillegal_codec_parametercannot_parse_protobuf_schemano_column_serialized_to_required_protobuf_fieldprotobuf_bad_castprotobuf_field_not_repeateddata_type_cannot_be_promotedcannot_schedule_taskinvalid_limit_expressioncannot_parse_domain_value_from_stringbad_database_for_temporary_tableno_columns_serialized_to_protobuf_fieldsunknown_protobuf_formatcannot_mprotectfunction_not_allowedhyperscan_cannot_scan_textbrotli_read_failedbrotli_write_failedbad_ttl_expressionbad_ttl_filesetting_constraint_violationmysql_client_insufficient_capabilitiesopenssl_errorsuspicious_type_for_low_cardinalityunknown_query_parameterbad_query_parametercannot_unlinkcannot_set_thread_prioritycannot_create_timercannot_set_timer_periodcannot_fcntlcannot_parse_elfcannot_parse_dwarfinsecure_pathcannot_parse_boolcannot_pthread_attrviolated_constraintinvalid_setting_valuereadonly_settingdeadlock_avoidedinvalid_template_formatinvalid_with_fill_expressionwith_ties_without_order_byinvalid_usage_of_inputunknown_policyunknown_diskunknown_protocolpath_access_denieddictionary_access_deniedtoo_many_redirectsinternal_redis_errorcannot_get_create_dictionary_queryincorrect_dictionary_definitioncannot_format_datetimeunacceptable_urlaccess_entity_not_foundaccess_entity_already_existsaccess_storage_readonlyquota_requires_client_keyaccess_deniedlimit_by_with_ties_is_not_supporteds3_errorazure_blob_storage_errorcannot_create_databasecannot_sigqueueaggregate_function_throwfile_already_existsunable_to_skip_unused_shardsunknown_access_typeinvalid_grantcache_dictionary_update_failunknown_roleset_non_granted_roleunknown_part_typeaccess_storage_for_insertion_not_foundincorrect_access_entity_definitionauthentication_failedcannot_assign_altercannot_commit_offsetno_remote_shard_availablecannot_detach_dictionary_as_tableatomic_rename_failunknown_row_policyalter_of_column_is_forbiddenincorrect_disk_indexno_suitable_function_implementationcassandra_internal_errornot_a_leadercannot_connect_rabbitmqcannot_fstatldap_errorunknown_raid_typecannot_restore_from_field_dumpillegal_mysql_variablemysql_syntax_errorcannot_bind_rabbitmq_exchangecannot_declare_rabbitmq_exchangecannot_create_rabbitmq_queue_bindingcannot_remove_rabbitmq_exchangeunknown_mysql_datatypes_support_levelrow_and_rows_togetherfirst_and_next_togetherno_row_delimiterinvalid_raid_typeunknown_volumedata_type_cannot_be_used_in_keyunrecognized_argumentslzma_stream_encoder_failedlzma_stream_decoder_failedrocksdb_errorsync_mysql_user_access_errorunknown_unionexpected_all_or_distinctinvalid_grpc_query_infozstd_encoder_failedzstd_decoder_failedtld_list_not_foundcannot_read_map_from_textinterserver_scheme_doesnt_matchtoo_many_partitionscannot_rmdirduplicated_part_uuidsraft_errormultiple_columns_serialized_to_same_protobuf_fielddata_type_incompatible_with_protobuf_fielddatabase_replication_failedtoo_many_query_plan_optimizationsepoll_errordistributed_too_many_pending_bytesunknown_snapshotkerberos_errorinvalid_shard_idinvalid_format_insert_query_with_dataincorrect_part_typecannot_set_rounding_modetoo_large_distributed_depthno_such_projection_in_tableillegal_projectionprojection_not_usedcannot_parse_yamlcannot_create_fileconcurrent_access_not_supporteddistributed_broken_batch_infodistributed_broken_batch_filescannot_sysconfsqlite_engine_errordata_encryption_errorzero_copy_replication_errorbzip2_stream_decoder_failedbzip2_stream_encoder_failedintersect_or_except_result_structures_mismatchno_such_error_codebackup_already_existsbackup_not_foundbackup_version_not_supportedbackup_damagedno_base_backupwrong_base_backupbackup_entry_already_existsbackup_entry_not_foundbackup_is_emptycannot_restore_databasecannot_restore_tablefunction_already_existscannot_drop_functioncannot_create_recursive_functionpostgresql_connection_failurecannot_adviseunknown_read_methodlz4_encoder_failedlz4_decoder_failedpostgresql_replication_internal_errorquery_not_allowedcannot_normalize_stringcannot_parse_capn_proto_schemacapn_proto_bad_castbad_file_typeio_setup_errorcannot_skip_unknown_fieldbackup_engine_not_foundoffset_fetch_without_order_byhttp_range_not_satisfiablehave_dependent_objectsunknown_file_sizeunexpected_data_after_parsed_valuequery_is_not_supported_in_window_viewmongodb_errorcannot_pollcannot_extract_table_structureinvalid_table_overridesnappy_uncompress_failedsnappy_compress_failedno_hivemetastorecannot_append_to_filecannot_pack_archivecannot_unpack_archivenumber_of_dimensions_mismatchedcannot_backup_tablewrong_ddl_renaming_settingsinvalid_transactionserialization_errorcapn_proto_bad_typeonly_nulls_while_reading_schemacannot_parse_backup_settingswrong_backup_settingsfailed_to_sync_backup_or_restoreunknown_status_of_transactionhdfs_errorcannot_send_signalfs_metadata_errorinconsistent_metadata_for_backupaccess_storage_doesnt_allow_backupcannot_connect_natsnot_initializedinvalid_statenamed_collection_doesnt_existnamed_collection_already_existsnamed_collection_is_immutableinvalid_scheduler_noderesource_access_deniedresource_not_foundcannot_parse_ipv4cannot_parse_ipv6thread_was_canceledio_uring_init_failedio_uring_submit_errormixed_access_parameter_typesunknown_element_of_enumtoo_many_mutationsaws_errorasync_load_cycleasync_load_failedasync_load_canceledcannot_restore_to_nonencrypted_diskinvalid_redis_storage_typeinvalid_redis_table_structureuser_session_limit_exceededcluster_doesnt_existclient_info_does_not_matchinvalid_identifierquery_cache_used_with_nondeterministic_functionstable_not_emptylibssh_errorgcp_errorillegal_statisticscannot_get_replicated_database_snapshotfault_injectedfilecache_access_deniedtoo_many_materialized_viewsbroken_projectionunexpected_clustercannot_detect_formatcannot_forget_partitionexperimental_feature_errortoo_slow_parsingquery_cache_used_with_system_tableuser_expireddeprecated_functionasync_load_wait_failedparquet_exceptiontoo_many_tablestoo_many_databasesunexpected_http_headersunexpected_table_engineunexpected_data_typeillegal_time_series_tagsrefresh_failedquery_cache_used_with_non_throw_overflow_modetable_is_being_restartedcannot_write_after_buffer_canceledquery_was_cancelled_by_clientdatalake_database_errorgoogle_cloud_errorpart_is_lockedbuzzhousepotentially_broken_data_parttable_uuid_mismatchdelta_kernel_erroriceberg_specification_violationsession_id_emptyserver_overloadeddependencies_not_foundfilecache_cannot_write_through_cache_with_concurrent_readsdistributed_cache_errorcannot_use_distributed_cacheprotocol_version_mismatchlicense_expiredkeeper_exceptionpoco_exceptionstd_exceptionunknown_exceptionssh_exceptionstartup_scripts_errorconditional_tree_parent_not_foundillegal_projection_manipulator" var _ErrorMap = map[Error]string{ 1: _ErrorName[0:18], @@ -43,345 +43,660 @@ var _ErrorMap = map[Error]string{ 32: _ErrorName[809:834], 33: _ErrorName[834:854], 34: _ErrorName[854:885], - 35: _ErrorName[885:916], - 36: _ErrorName[916:929], - 37: _ErrorName[929:951], - 38: _ErrorName[951:968], - 39: _ErrorName[968:993], - 40: _ErrorName[993:1014], - 41: _ErrorName[1014:1035], - 42: _ErrorName[1035:1067], - 43: _ErrorName[1067:1091], - 44: _ErrorName[1091:1105], - 45: _ErrorName[1105:1137], - 46: _ErrorName[1137:1153], - 47: _ErrorName[1153:1171], - 48: _ErrorName[1171:1186], - 49: _ErrorName[1186:1199], - 50: _ErrorName[1199:1211], - 51: _ErrorName[1211:1240], - 52: _ErrorName[1240:1269], - 53: _ErrorName[1269:1282], - 54: _ErrorName[1282:1313], - 55: _ErrorName[1313:1339], - 56: _ErrorName[1339:1354], - 57: _ErrorName[1354:1374], - 58: _ErrorName[1374:1403], - 59: _ErrorName[1403:1436], - 60: _ErrorName[1436:1449], - 61: _ErrorName[1449:1476], - 62: _ErrorName[1476:1488], - 63: _ErrorName[1488:1514], - 64: _ErrorName[1514:1554], - 65: _ErrorName[1554:1593], - 66: _ErrorName[1593:1605], - 67: _ErrorName[1605:1631], - 68: _ErrorName[1631:1655], - 69: _ErrorName[1655:1676], - 70: _ErrorName[1676:1695], - 71: _ErrorName[1695:1727], - 72: _ErrorName[1727:1746], - 73: _ErrorName[1746:1760], - 74: _ErrorName[1760:1792], - 75: _ErrorName[1792:1823], - 76: _ErrorName[1823:1839], - 77: _ErrorName[1839:1856], - 78: _ErrorName[1856:1877], - 79: _ErrorName[1877:1896], - 80: _ErrorName[1896:1911], - 81: _ErrorName[1911:1927], - 82: _ErrorName[1927:1950], - 83: _ErrorName[1950:1972], - 84: _ErrorName[1972:1996], - 85: _ErrorName[1996:2028], - 86: _ErrorName[2028:2064], - 87: _ErrorName[2064:2088], - 88: _ErrorName[2088:2108], - 89: _ErrorName[2108:2134], - 90: _ErrorName[2134:2162], - 91: _ErrorName[2162:2199], - 92: _ErrorName[2199:2216], - 93: _ErrorName[2216:2247], - 94: _ErrorName[2247:2294], - 95: _ErrorName[2294:2317], - 96: _ErrorName[2317:2339], - 97: _ErrorName[2339:2378], - 98: _ErrorName[2378:2419], - 99: _ErrorName[2419:2445], - 100: _ErrorName[2445:2471], - 101: _ErrorName[2471:2500], - 102: _ErrorName[2500:2529], - 103: _ErrorName[2529:2561], - 104: _ErrorName[2561:2582], - 105: _ErrorName[2582:2601], - 106: _ErrorName[2601:2622], - 107: _ErrorName[2622:2639], - 108: _ErrorName[2639:2656], - 109: _ErrorName[2656:2675], - 110: _ErrorName[2675:2696], - 111: _ErrorName[2696:2720], - 112: _ErrorName[2720:2742], - 113: _ErrorName[2742:2761], - 114: _ErrorName[2761:2781], - 115: _ErrorName[2781:2796], - 116: _ErrorName[2796:2821], - 117: _ErrorName[2821:2835], - 119: _ErrorName[2835:2850], - 120: _ErrorName[2850:2898], - 121: _ErrorName[2898:2922], - 122: _ErrorName[2922:2942], - 123: _ErrorName[2942:2966], - 124: _ErrorName[2966:2990], - 125: _ErrorName[2990:3025], - 126: _ErrorName[3025:3047], - 127: _ErrorName[3047:3060], - 128: _ErrorName[3060:3080], - 129: _ErrorName[3080:3099], - 130: _ErrorName[3099:3126], - 131: _ErrorName[3126:3147], - 132: _ErrorName[3147:3180], - 133: _ErrorName[3180:3222], - 134: _ErrorName[3222:3272], - 135: _ErrorName[3272:3297], - 137: _ErrorName[3297:3322], - 138: _ErrorName[3322:3349], - 139: _ErrorName[3349:3370], - 140: _ErrorName[3370:3403], - 141: _ErrorName[3403:3425], - 142: _ErrorName[3425:3439], - 143: _ErrorName[3439:3463], - 144: _ErrorName[3463:3498], - 145: _ErrorName[3498:3519], - 146: _ErrorName[3519:3550], - 147: _ErrorName[3550:3590], - 148: _ErrorName[3590:3630], - 149: _ErrorName[3630:3665], - 150: _ErrorName[3665:3685], - 151: _ErrorName[3685:3731], - 152: _ErrorName[3731:3759], - 153: _ErrorName[3759:3775], - 154: _ErrorName[3775:3808], - 155: _ErrorName[3808:3824], - 156: _ErrorName[3824:3851], - 157: _ErrorName[3851:3872], - 158: _ErrorName[3872:3885], - 159: _ErrorName[3885:3901], - 160: _ErrorName[3901:3909], - 161: _ErrorName[3909:3925], - 162: _ErrorName[3925:3944], - 163: _ErrorName[3944:3961], - 164: _ErrorName[3961:3969], - 165: _ErrorName[3969:3995], - 166: _ErrorName[3995:4031], - 167: _ErrorName[4031:4043], - 168: _ErrorName[4043:4054], - 169: _ErrorName[4054:4071], - 170: _ErrorName[4071:4078], - 171: _ErrorName[4078:4109], - 172: _ErrorName[4109:4132], - 173: _ErrorName[4132:4154], - 174: _ErrorName[4154:4168], - 176: _ErrorName[4168:4183], - 177: _ErrorName[4183:4203], - 178: _ErrorName[4203:4234], - 179: _ErrorName[4234:4264], - 180: _ErrorName[4264:4283], - 181: _ErrorName[4283:4296], - 182: _ErrorName[4296:4312], - 183: _ErrorName[4312:4333], - 184: _ErrorName[4333:4352], - 185: _ErrorName[4352:4381], - 186: _ErrorName[4381:4409], - 187: _ErrorName[4409:4436], - 188: _ErrorName[4436:4450], - 189: _ErrorName[4450:4484], - 190: _ErrorName[4484:4512], - 191: _ErrorName[4512:4535], - 192: _ErrorName[4535:4547], - 193: _ErrorName[4547:4561], - 194: _ErrorName[4561:4578], - 195: _ErrorName[4578:4600], - 196: _ErrorName[4600:4628], - 197: _ErrorName[4628:4654], - 198: _ErrorName[4654:4663], - 199: _ErrorName[4663:4676], - 200: _ErrorName[4676:4699], - 201: _ErrorName[4699:4712], - 202: _ErrorName[4712:4741], - 203: _ErrorName[4741:4759], - 204: _ErrorName[4759:4771], - 205: _ErrorName[4771:4791], - 206: _ErrorName[4791:4805], - 207: _ErrorName[4805:4825], - 208: _ErrorName[4825:4843], - 209: _ErrorName[4843:4857], - 210: _ErrorName[4857:4870], - 211: _ErrorName[4870:4881], - 212: _ErrorName[4881:4903], - 213: _ErrorName[4903:4922], - 214: _ErrorName[4922:4936], - 215: _ErrorName[4936:4952], - 216: _ErrorName[4952:4989], - 217: _ErrorName[4989:5023], - 218: _ErrorName[5023:5039], - 219: _ErrorName[5039:5057], - 220: _ErrorName[5057:5090], - 221: _ErrorName[5090:5121], - 222: _ErrorName[5121:5154], - 223: _ErrorName[5154:5178], - 224: _ErrorName[5178:5203], - 225: _ErrorName[5203:5215], - 226: _ErrorName[5215:5235], - 227: _ErrorName[5235:5263], - 228: _ErrorName[5263:5292], - 229: _ErrorName[5292:5310], - 230: _ErrorName[5310:5338], - 231: _ErrorName[5338:5368], - 232: _ErrorName[5368:5385], - 233: _ErrorName[5385:5403], - 234: _ErrorName[5403:5422], - 235: _ErrorName[5422:5441], - 236: _ErrorName[5441:5448], - 237: _ErrorName[5448:5469], - 238: _ErrorName[5469:5491], - 239: _ErrorName[5491:5504], - 240: _ErrorName[5504:5517], - 241: _ErrorName[5517:5538], - 242: _ErrorName[5538:5556], - 243: _ErrorName[5556:5572], - 244: _ErrorName[5572:5598], - 246: _ErrorName[5598:5612], - 247: _ErrorName[5612:5626], - 248: _ErrorName[5626:5649], - 250: _ErrorName[5649:5673], - 251: _ErrorName[5673:5688], - 252: _ErrorName[5688:5702], - 253: _ErrorName[5702:5726], - 254: _ErrorName[5726:5744], - 255: _ErrorName[5744:5775], - 256: _ErrorName[5775:5799], - 257: _ErrorName[5799:5821], - 258: _ErrorName[5821:5857], - 260: _ErrorName[5857:5887], - 261: _ErrorName[5887:5911], - 262: _ErrorName[5911:5924], - 263: _ErrorName[5924:5943], - 264: _ErrorName[5943:5968], - 265: _ErrorName[5968:5988], - 266: _ErrorName[5988:6018], - 267: _ErrorName[6018:6058], - 268: _ErrorName[6058:6069], - 269: _ErrorName[6069:6082], - 270: _ErrorName[6082:6097], - 271: _ErrorName[6097:6114], - 272: _ErrorName[6114:6130], - 273: _ErrorName[6130:6150], - 274: _ErrorName[6150:6164], - 275: _ErrorName[6164:6179], - 277: _ErrorName[6179:6193], - 278: _ErrorName[6193:6208], - 279: _ErrorName[6208:6235], - 280: _ErrorName[6235:6252], - 281: _ErrorName[6252:6271], - 282: _ErrorName[6271:6286], - 283: _ErrorName[6286:6318], - 284: _ErrorName[6318:6350], - 285: _ErrorName[6350:6372], - 286: _ErrorName[6372:6409], - 287: _ErrorName[6409:6431], - 288: _ErrorName[6431:6466], - 289: _ErrorName[6466:6490], - 290: _ErrorName[6490:6504], - 291: _ErrorName[6504:6526], - 292: _ErrorName[6526:6544], - 293: _ErrorName[6544:6571], - 294: _ErrorName[6571:6595], - 295: _ErrorName[6595:6614], - 296: _ErrorName[6614:6635], - 297: _ErrorName[6635:6659], - 298: _ErrorName[6659:6670], - 299: _ErrorName[6670:6681], - 300: _ErrorName[6681:6693], - 301: _ErrorName[6693:6720], - 302: _ErrorName[6720:6749], - 303: _ErrorName[6749:6762], - 304: _ErrorName[6762:6776], - 305: _ErrorName[6776:6797], - 306: _ErrorName[6797:6815], - 307: _ErrorName[6815:6829], - 308: _ErrorName[6829:6857], - 309: _ErrorName[6857:6888], - 317: _ErrorName[6888:6908], - 318: _ErrorName[6908:6932], - 319: _ErrorName[6932:6956], - 321: _ErrorName[6956:6990], - 335: _ErrorName[6990:7005], - 336: _ErrorName[7005:7028], - 337: _ErrorName[7028:7047], - 341: _ErrorName[7047:7057], - 342: _ErrorName[7057:7074], - 344: _ErrorName[7074:7093], - 345: _ErrorName[7093:7115], - 346: _ErrorName[7115:7137], - 347: _ErrorName[7137:7155], - 349: _ErrorName[7155:7192], - 350: _ErrorName[7192:7218], - 351: _ErrorName[7218:7238], - 352: _ErrorName[7238:7259], - 353: _ErrorName[7259:7303], - 354: _ErrorName[7303:7322], - 355: _ErrorName[7322:7341], - 356: _ErrorName[7341:7351], - 357: _ErrorName[7351:7375], - 358: _ErrorName[7375:7399], - 359: _ErrorName[7399:7437], - 360: _ErrorName[7437:7468], - 361: _ErrorName[7468:7494], - 362: _ErrorName[7494:7527], - 363: _ErrorName[7527:7550], - 364: _ErrorName[7550:7582], - 365: _ErrorName[7582:7602], - 366: _ErrorName[7602:7642], - 367: _ErrorName[7642:7658], - 368: _ErrorName[7658:7666], - 369: _ErrorName[7666:7688], - 370: _ErrorName[7688:7722], - 371: _ErrorName[7722:7753], - 372: _ErrorName[7753:7770], - 373: _ErrorName[7770:7787], - 374: _ErrorName[7787:7810], - 375: _ErrorName[7810:7823], - 376: _ErrorName[7823:7840], - 377: _ErrorName[7840:7868], - 378: _ErrorName[7868:7899], - 379: _ErrorName[7899:7937], - 380: _ErrorName[7937:7948], - 381: _ErrorName[7948:7968], - 382: _ErrorName[7968:7994], - 383: _ErrorName[7994:8021], - 384: _ErrorName[8021:8047], - 385: _ErrorName[8047:8072], - 386: _ErrorName[8072:8086], - 387: _ErrorName[8086:8118], - 388: _ErrorName[8118:8140], - 389: _ErrorName[8140:8163], - 390: _ErrorName[8163:8192], - 391: _ErrorName[8192:8214], - 392: _ErrorName[8214:8233], - 393: _ErrorName[8233:8250], - 394: _ErrorName[8250:8269], - 395: _ErrorName[8269:8304], - 396: _ErrorName[8304:8326], - 397: _ErrorName[8326:8369], - 441: _ErrorName[8369:8406], - 492: _ErrorName[8406:8429], - 516: _ErrorName[8429:8450], - 999: _ErrorName[8450:8466], - 1000: _ErrorName[8466:8480], - 1001: _ErrorName[8480:8493], - 1002: _ErrorName[8493:8510], - 2001: _ErrorName[8510:8543], - 2002: _ErrorName[8543:8573], + 35: _ErrorName[885:915], + 36: _ErrorName[915:928], + 37: _ErrorName[928:950], + 38: _ErrorName[950:967], + 39: _ErrorName[967:992], + 40: _ErrorName[992:1013], + 41: _ErrorName[1013:1034], + 42: _ErrorName[1034:1066], + 43: _ErrorName[1066:1090], + 44: _ErrorName[1090:1104], + 45: _ErrorName[1104:1136], + 46: _ErrorName[1136:1152], + 47: _ErrorName[1152:1170], + 48: _ErrorName[1170:1185], + 49: _ErrorName[1185:1198], + 50: _ErrorName[1198:1210], + 51: _ErrorName[1210:1239], + 52: _ErrorName[1239:1268], + 53: _ErrorName[1268:1281], + 54: _ErrorName[1281:1312], + 55: _ErrorName[1312:1338], + 56: _ErrorName[1338:1353], + 57: _ErrorName[1353:1373], + 58: _ErrorName[1373:1402], + 59: _ErrorName[1402:1435], + 60: _ErrorName[1435:1448], + 61: _ErrorName[1448:1475], + 62: _ErrorName[1475:1487], + 63: _ErrorName[1487:1513], + 64: _ErrorName[1513:1553], + 65: _ErrorName[1553:1592], + 66: _ErrorName[1592:1604], + 67: _ErrorName[1604:1630], + 68: _ErrorName[1630:1654], + 69: _ErrorName[1654:1675], + 70: _ErrorName[1675:1694], + 71: _ErrorName[1694:1726], + 72: _ErrorName[1726:1745], + 73: _ErrorName[1745:1759], + 74: _ErrorName[1759:1791], + 75: _ErrorName[1791:1822], + 76: _ErrorName[1822:1838], + 77: _ErrorName[1838:1855], + 78: _ErrorName[1855:1876], + 79: _ErrorName[1876:1895], + 80: _ErrorName[1895:1910], + 81: _ErrorName[1910:1926], + 82: _ErrorName[1926:1949], + 83: _ErrorName[1949:1971], + 84: _ErrorName[1971:1995], + 85: _ErrorName[1995:2027], + 86: _ErrorName[2027:2063], + 87: _ErrorName[2063:2087], + 88: _ErrorName[2087:2107], + 89: _ErrorName[2107:2133], + 90: _ErrorName[2133:2161], + 91: _ErrorName[2161:2198], + 92: _ErrorName[2198:2215], + 93: _ErrorName[2215:2246], + 94: _ErrorName[2246:2293], + 95: _ErrorName[2293:2316], + 96: _ErrorName[2316:2338], + 97: _ErrorName[2338:2377], + 98: _ErrorName[2377:2418], + 99: _ErrorName[2418:2444], + 100: _ErrorName[2444:2470], + 101: _ErrorName[2470:2499], + 102: _ErrorName[2499:2528], + 103: _ErrorName[2528:2560], + 104: _ErrorName[2560:2581], + 105: _ErrorName[2581:2600], + 106: _ErrorName[2600:2621], + 107: _ErrorName[2621:2638], + 108: _ErrorName[2638:2655], + 109: _ErrorName[2655:2674], + 110: _ErrorName[2674:2695], + 111: _ErrorName[2695:2719], + 112: _ErrorName[2719:2741], + 113: _ErrorName[2741:2760], + 114: _ErrorName[2760:2780], + 115: _ErrorName[2780:2795], + 116: _ErrorName[2795:2820], + 117: _ErrorName[2820:2834], + 119: _ErrorName[2834:2849], + 120: _ErrorName[2849:2897], + 121: _ErrorName[2897:2918], + 122: _ErrorName[2918:2938], + 123: _ErrorName[2938:2962], + 124: _ErrorName[2962:2986], + 125: _ErrorName[2986:3021], + 126: _ErrorName[3021:3043], + 127: _ErrorName[3043:3056], + 128: _ErrorName[3056:3076], + 129: _ErrorName[3076:3095], + 130: _ErrorName[3095:3122], + 131: _ErrorName[3122:3143], + 132: _ErrorName[3143:3176], + 133: _ErrorName[3176:3218], + 134: _ErrorName[3218:3268], + 135: _ErrorName[3268:3293], + 137: _ErrorName[3293:3318], + 138: _ErrorName[3318:3345], + 139: _ErrorName[3345:3366], + 140: _ErrorName[3366:3399], + 141: _ErrorName[3399:3421], + 142: _ErrorName[3421:3435], + 143: _ErrorName[3435:3459], + 144: _ErrorName[3459:3494], + 145: _ErrorName[3494:3515], + 146: _ErrorName[3515:3546], + 147: _ErrorName[3546:3586], + 148: _ErrorName[3586:3626], + 149: _ErrorName[3626:3661], + 150: _ErrorName[3661:3681], + 151: _ErrorName[3681:3727], + 152: _ErrorName[3727:3755], + 153: _ErrorName[3755:3771], + 154: _ErrorName[3771:3804], + 155: _ErrorName[3804:3820], + 156: _ErrorName[3820:3847], + 157: _ErrorName[3847:3868], + 158: _ErrorName[3868:3881], + 159: _ErrorName[3881:3897], + 160: _ErrorName[3897:3905], + 161: _ErrorName[3905:3921], + 162: _ErrorName[3921:3940], + 163: _ErrorName[3940:3957], + 164: _ErrorName[3957:3965], + 165: _ErrorName[3965:3991], + 166: _ErrorName[3991:4027], + 167: _ErrorName[4027:4039], + 168: _ErrorName[4039:4050], + 169: _ErrorName[4050:4067], + 170: _ErrorName[4067:4074], + 171: _ErrorName[4074:4105], + 172: _ErrorName[4105:4128], + 173: _ErrorName[4128:4150], + 174: _ErrorName[4150:4164], + 176: _ErrorName[4164:4179], + 177: _ErrorName[4179:4199], + 178: _ErrorName[4199:4230], + 179: _ErrorName[4230:4260], + 180: _ErrorName[4260:4279], + 181: _ErrorName[4279:4292], + 182: _ErrorName[4292:4308], + 183: _ErrorName[4308:4329], + 184: _ErrorName[4329:4348], + 185: _ErrorName[4348:4377], + 186: _ErrorName[4377:4405], + 187: _ErrorName[4405:4432], + 188: _ErrorName[4432:4446], + 189: _ErrorName[4446:4480], + 190: _ErrorName[4480:4506], + 191: _ErrorName[4506:4529], + 192: _ErrorName[4529:4541], + 193: _ErrorName[4541:4555], + 194: _ErrorName[4555:4572], + 195: _ErrorName[4572:4594], + 196: _ErrorName[4594:4622], + 197: _ErrorName[4622:4648], + 198: _ErrorName[4648:4657], + 199: _ErrorName[4657:4670], + 200: _ErrorName[4670:4693], + 201: _ErrorName[4693:4706], + 202: _ErrorName[4706:4735], + 203: _ErrorName[4735:4753], + 204: _ErrorName[4753:4765], + 205: _ErrorName[4765:4785], + 206: _ErrorName[4785:4799], + 207: _ErrorName[4799:4819], + 208: _ErrorName[4819:4837], + 209: _ErrorName[4837:4851], + 210: _ErrorName[4851:4864], + 211: _ErrorName[4864:4875], + 212: _ErrorName[4875:4897], + 213: _ErrorName[4897:4916], + 214: _ErrorName[4916:4930], + 215: _ErrorName[4930:4946], + 216: _ErrorName[4946:4983], + 217: _ErrorName[4983:5017], + 218: _ErrorName[5017:5033], + 219: _ErrorName[5033:5051], + 220: _ErrorName[5051:5084], + 221: _ErrorName[5084:5115], + 222: _ErrorName[5115:5148], + 223: _ErrorName[5148:5172], + 224: _ErrorName[5172:5197], + 225: _ErrorName[5197:5209], + 226: _ErrorName[5209:5229], + 227: _ErrorName[5229:5257], + 228: _ErrorName[5257:5286], + 229: _ErrorName[5286:5304], + 230: _ErrorName[5304:5332], + 231: _ErrorName[5332:5362], + 232: _ErrorName[5362:5379], + 233: _ErrorName[5379:5397], + 234: _ErrorName[5397:5416], + 235: _ErrorName[5416:5435], + 236: _ErrorName[5435:5442], + 237: _ErrorName[5442:5463], + 238: _ErrorName[5463:5485], + 239: _ErrorName[5485:5498], + 240: _ErrorName[5498:5511], + 241: _ErrorName[5511:5532], + 242: _ErrorName[5532:5550], + 243: _ErrorName[5550:5566], + 244: _ErrorName[5566:5592], + 246: _ErrorName[5592:5606], + 247: _ErrorName[5606:5620], + 248: _ErrorName[5620:5643], + 250: _ErrorName[5643:5667], + 251: _ErrorName[5667:5682], + 252: _ErrorName[5682:5696], + 253: _ErrorName[5696:5720], + 254: _ErrorName[5720:5738], + 255: _ErrorName[5738:5769], + 256: _ErrorName[5769:5793], + 257: _ErrorName[5793:5815], + 258: _ErrorName[5815:5851], + 260: _ErrorName[5851:5881], + 261: _ErrorName[5881:5905], + 262: _ErrorName[5905:5918], + 263: _ErrorName[5918:5937], + 264: _ErrorName[5937:5962], + 265: _ErrorName[5962:5982], + 266: _ErrorName[5982:6012], + 267: _ErrorName[6012:6052], + 268: _ErrorName[6052:6063], + 269: _ErrorName[6063:6076], + 270: _ErrorName[6076:6091], + 271: _ErrorName[6091:6108], + 272: _ErrorName[6108:6124], + 273: _ErrorName[6124:6143], + 274: _ErrorName[6143:6157], + 275: _ErrorName[6157:6172], + 277: _ErrorName[6172:6186], + 278: _ErrorName[6186:6201], + 279: _ErrorName[6201:6228], + 280: _ErrorName[6228:6245], + 281: _ErrorName[6245:6264], + 282: _ErrorName[6264:6279], + 283: _ErrorName[6279:6311], + 284: _ErrorName[6311:6332], + 285: _ErrorName[6332:6353], + 286: _ErrorName[6353:6390], + 287: _ErrorName[6390:6412], + 288: _ErrorName[6412:6447], + 289: _ErrorName[6447:6471], + 290: _ErrorName[6471:6485], + 291: _ErrorName[6485:6507], + 292: _ErrorName[6507:6525], + 293: _ErrorName[6525:6552], + 294: _ErrorName[6552:6572], + 295: _ErrorName[6572:6591], + 296: _ErrorName[6591:6612], + 297: _ErrorName[6612:6636], + 298: _ErrorName[6636:6647], + 299: _ErrorName[6647:6658], + 300: _ErrorName[6658:6670], + 301: _ErrorName[6670:6697], + 302: _ErrorName[6697:6726], + 303: _ErrorName[6726:6739], + 304: _ErrorName[6739:6753], + 305: _ErrorName[6753:6774], + 306: _ErrorName[6774:6792], + 307: _ErrorName[6792:6806], + 308: _ErrorName[6806:6834], + 309: _ErrorName[6834:6865], + 317: _ErrorName[6865:6885], + 318: _ErrorName[6885:6909], + 319: _ErrorName[6909:6933], + 321: _ErrorName[6933:6967], + 335: _ErrorName[6967:6982], + 336: _ErrorName[6982:7005], + 337: _ErrorName[7005:7024], + 341: _ErrorName[7024:7034], + 342: _ErrorName[7034:7051], + 344: _ErrorName[7051:7070], + 345: _ErrorName[7070:7092], + 346: _ErrorName[7092:7114], + 347: _ErrorName[7114:7132], + 349: _ErrorName[7132:7169], + 350: _ErrorName[7169:7195], + 351: _ErrorName[7195:7215], + 352: _ErrorName[7215:7236], + 353: _ErrorName[7236:7280], + 354: _ErrorName[7280:7299], + 355: _ErrorName[7299:7318], + 356: _ErrorName[7318:7328], + 357: _ErrorName[7328:7352], + 358: _ErrorName[7352:7376], + 359: _ErrorName[7376:7414], + 360: _ErrorName[7414:7445], + 361: _ErrorName[7445:7471], + 362: _ErrorName[7471:7504], + 363: _ErrorName[7504:7527], + 364: _ErrorName[7527:7559], + 365: _ErrorName[7559:7579], + 366: _ErrorName[7579:7619], + 367: _ErrorName[7619:7635], + 368: _ErrorName[7635:7643], + 369: _ErrorName[7643:7665], + 370: _ErrorName[7665:7699], + 371: _ErrorName[7699:7730], + 372: _ErrorName[7730:7747], + 373: _ErrorName[7747:7764], + 374: _ErrorName[7764:7787], + 375: _ErrorName[7787:7800], + 376: _ErrorName[7800:7817], + 377: _ErrorName[7817:7845], + 378: _ErrorName[7845:7876], + 379: _ErrorName[7876:7914], + 380: _ErrorName[7914:7925], + 381: _ErrorName[7925:7945], + 382: _ErrorName[7945:7971], + 383: _ErrorName[7971:7998], + 384: _ErrorName[7998:8024], + 385: _ErrorName[8024:8049], + 386: _ErrorName[8049:8063], + 387: _ErrorName[8063:8095], + 388: _ErrorName[8095:8117], + 389: _ErrorName[8117:8140], + 390: _ErrorName[8140:8169], + 391: _ErrorName[8169:8191], + 392: _ErrorName[8191:8210], + 393: _ErrorName[8210:8227], + 394: _ErrorName[8227:8246], + 395: _ErrorName[8246:8281], + 396: _ErrorName[8281:8303], + 397: _ErrorName[8303:8346], + 398: _ErrorName[8346:8370], + 399: _ErrorName[8370:8403], + 400: _ErrorName[8403:8414], + 401: _ErrorName[8414:8450], + 402: _ErrorName[8450:8464], + 403: _ErrorName[8464:8490], + 404: _ErrorName[8490:8516], + 406: _ErrorName[8516:8538], + 407: _ErrorName[8538:8554], + 408: _ErrorName[8554:8575], + 410: _ErrorName[8575:8608], + 411: _ErrorName[8608:8621], + 412: _ErrorName[8621:8634], + 413: _ErrorName[8634:8659], + 415: _ErrorName[8659:8676], + 416: _ErrorName[8676:8698], + 417: _ErrorName[8698:8717], + 418: _ErrorName[8717:8729], + 419: _ErrorName[8729:8759], + 420: _ErrorName[8759:8779], + 421: _ErrorName[8779:8816], + 422: _ErrorName[8816:8838], + 423: _ErrorName[8838:8857], + 424: _ErrorName[8857:8868], + 425: _ErrorName[8868:8880], + 427: _ErrorName[8880:8901], + 429: _ErrorName[8901:8919], + 430: _ErrorName[8919:8957], + 431: _ErrorName[8957:8986], + 432: _ErrorName[8986:8999], + 433: _ErrorName[8999:9022], + 434: _ErrorName[9022:9050], + 435: _ErrorName[9050:9097], + 436: _ErrorName[9097:9114], + 437: _ErrorName[9114:9141], + 438: _ErrorName[9141:9169], + 439: _ErrorName[9169:9189], + 440: _ErrorName[9189:9213], + 441: _ErrorName[9213:9250], + 442: _ErrorName[9250:9282], + 443: _ErrorName[9282:9322], + 444: _ErrorName[9322:9345], + 445: _ErrorName[9345:9360], + 446: _ErrorName[9360:9380], + 447: _ErrorName[9380:9406], + 448: _ErrorName[9406:9424], + 449: _ErrorName[9424:9443], + 450: _ErrorName[9443:9461], + 451: _ErrorName[9461:9473], + 452: _ErrorName[9473:9501], + 453: _ErrorName[9501:9539], + 454: _ErrorName[9539:9552], + 455: _ErrorName[9552:9587], + 456: _ErrorName[9587:9610], + 457: _ErrorName[9610:9629], + 458: _ErrorName[9629:9642], + 459: _ErrorName[9642:9668], + 460: _ErrorName[9668:9687], + 461: _ErrorName[9687:9710], + 463: _ErrorName[9710:9722], + 464: _ErrorName[9722:9738], + 465: _ErrorName[9738:9756], + 466: _ErrorName[9756:9769], + 467: _ErrorName[9769:9786], + 468: _ErrorName[9786:9805], + 469: _ErrorName[9805:9824], + 471: _ErrorName[9824:9845], + 472: _ErrorName[9845:9861], + 473: _ErrorName[9861:9877], + 474: _ErrorName[9877:9900], + 475: _ErrorName[9900:9928], + 476: _ErrorName[9928:9954], + 477: _ErrorName[9954:9976], + 478: _ErrorName[9976:9990], + 479: _ErrorName[9990:10002], + 480: _ErrorName[10002:10018], + 481: _ErrorName[10018:10036], + 482: _ErrorName[10036:10060], + 483: _ErrorName[10060:10078], + 484: _ErrorName[10078:10098], + 487: _ErrorName[10098:10132], + 489: _ErrorName[10132:10163], + 490: _ErrorName[10163:10185], + 491: _ErrorName[10185:10201], + 492: _ErrorName[10201:10224], + 493: _ErrorName[10224:10252], + 495: _ErrorName[10252:10275], + 496: _ErrorName[10275:10300], + 497: _ErrorName[10300:10313], + 498: _ErrorName[10313:10348], + 499: _ErrorName[10348:10356], + 500: _ErrorName[10356:10380], + 501: _ErrorName[10380:10402], + 502: _ErrorName[10402:10417], + 503: _ErrorName[10417:10441], + 504: _ErrorName[10441:10460], + 507: _ErrorName[10460:10488], + 508: _ErrorName[10488:10507], + 509: _ErrorName[10507:10520], + 510: _ErrorName[10520:10548], + 511: _ErrorName[10548:10560], + 512: _ErrorName[10560:10580], + 513: _ErrorName[10580:10597], + 514: _ErrorName[10597:10635], + 515: _ErrorName[10635:10669], + 516: _ErrorName[10669:10690], + 517: _ErrorName[10690:10709], + 518: _ErrorName[10709:10729], + 519: _ErrorName[10729:10754], + 520: _ErrorName[10754:10787], + 521: _ErrorName[10787:10805], + 523: _ErrorName[10805:10823], + 524: _ErrorName[10823:10851], + 525: _ErrorName[10851:10871], + 527: _ErrorName[10871:10906], + 528: _ErrorName[10906:10930], + 529: _ErrorName[10930:10942], + 530: _ErrorName[10942:10965], + 531: _ErrorName[10965:10977], + 532: _ErrorName[10977:10987], + 535: _ErrorName[10987:11004], + 536: _ErrorName[11004:11034], + 537: _ErrorName[11034:11056], + 538: _ErrorName[11056:11074], + 539: _ErrorName[11074:11103], + 540: _ErrorName[11103:11135], + 541: _ErrorName[11135:11171], + 542: _ErrorName[11171:11202], + 543: _ErrorName[11202:11239], + 544: _ErrorName[11239:11260], + 545: _ErrorName[11260:11283], + 546: _ErrorName[11283:11299], + 547: _ErrorName[11299:11316], + 548: _ErrorName[11316:11330], + 549: _ErrorName[11330:11361], + 552: _ErrorName[11361:11383], + 553: _ErrorName[11383:11409], + 554: _ErrorName[11409:11435], + 555: _ErrorName[11435:11448], + 556: _ErrorName[11448:11476], + 557: _ErrorName[11476:11489], + 558: _ErrorName[11489:11513], + 559: _ErrorName[11513:11536], + 560: _ErrorName[11536:11555], + 561: _ErrorName[11555:11574], + 562: _ErrorName[11574:11592], + 563: _ErrorName[11592:11617], + 564: _ErrorName[11617:11648], + 565: _ErrorName[11648:11667], + 566: _ErrorName[11667:11679], + 567: _ErrorName[11679:11700], + 568: _ErrorName[11700:11710], + 569: _ErrorName[11710:11760], + 570: _ErrorName[11760:11802], + 571: _ErrorName[11802:11829], + 572: _ErrorName[11829:11862], + 573: _ErrorName[11862:11873], + 574: _ErrorName[11873:11907], + 575: _ErrorName[11907:11923], + 576: _ErrorName[11923:11937], + 577: _ErrorName[11937:11953], + 578: _ErrorName[11953:11990], + 579: _ErrorName[11990:12009], + 580: _ErrorName[12009:12033], + 581: _ErrorName[12033:12060], + 582: _ErrorName[12060:12087], + 583: _ErrorName[12087:12105], + 584: _ErrorName[12105:12124], + 585: _ErrorName[12124:12141], + 586: _ErrorName[12141:12159], + 587: _ErrorName[12159:12190], + 588: _ErrorName[12190:12219], + 589: _ErrorName[12219:12249], + 590: _ErrorName[12249:12263], + 591: _ErrorName[12263:12282], + 592: _ErrorName[12282:12303], + 593: _ErrorName[12303:12330], + 594: _ErrorName[12330:12357], + 595: _ErrorName[12357:12384], + 596: _ErrorName[12384:12430], + 597: _ErrorName[12430:12448], + 598: _ErrorName[12448:12469], + 599: _ErrorName[12469:12485], + 600: _ErrorName[12485:12513], + 601: _ErrorName[12513:12527], + 602: _ErrorName[12527:12541], + 603: _ErrorName[12541:12558], + 604: _ErrorName[12558:12585], + 605: _ErrorName[12585:12607], + 606: _ErrorName[12607:12622], + 607: _ErrorName[12622:12645], + 608: _ErrorName[12645:12665], + 609: _ErrorName[12665:12688], + 610: _ErrorName[12688:12708], + 611: _ErrorName[12708:12740], + 614: _ErrorName[12740:12769], + 615: _ErrorName[12769:12782], + 616: _ErrorName[12782:12801], + 617: _ErrorName[12801:12819], + 618: _ErrorName[12819:12837], + 619: _ErrorName[12837:12874], + 620: _ErrorName[12874:12891], + 621: _ErrorName[12891:12914], + 622: _ErrorName[12914:12944], + 623: _ErrorName[12944:12963], + 624: _ErrorName[12963:12976], + 625: _ErrorName[12976:12990], + 626: _ErrorName[12990:13015], + 627: _ErrorName[13015:13038], + 628: _ErrorName[13038:13067], + 629: _ErrorName[13067:13093], + 630: _ErrorName[13093:13115], + 631: _ErrorName[13115:13132], + 632: _ErrorName[13132:13166], + 633: _ErrorName[13166:13203], + 634: _ErrorName[13203:13216], + 635: _ErrorName[13216:13227], + 636: _ErrorName[13227:13257], + 637: _ErrorName[13257:13279], + 638: _ErrorName[13279:13303], + 639: _ErrorName[13303:13325], + 640: _ErrorName[13325:13341], + 641: _ErrorName[13341:13362], + 642: _ErrorName[13362:13381], + 643: _ErrorName[13381:13402], + 645: _ErrorName[13402:13433], + 647: _ErrorName[13433:13452], + 648: _ErrorName[13452:13479], + 649: _ErrorName[13479:13498], + 650: _ErrorName[13498:13517], + 651: _ErrorName[13517:13536], + 652: _ErrorName[13536:13567], + 653: _ErrorName[13567:13595], + 654: _ErrorName[13595:13616], + 655: _ErrorName[13616:13648], + 659: _ErrorName[13648:13677], + 660: _ErrorName[13677:13687], + 661: _ErrorName[13687:13705], + 662: _ErrorName[13705:13722], + 663: _ErrorName[13722:13754], + 664: _ErrorName[13754:13788], + 665: _ErrorName[13788:13807], + 667: _ErrorName[13807:13822], + 668: _ErrorName[13822:13835], + 669: _ErrorName[13835:13864], + 670: _ErrorName[13864:13895], + 671: _ErrorName[13895:13924], + 672: _ErrorName[13924:13946], + 673: _ErrorName[13946:13968], + 674: _ErrorName[13968:13986], + 675: _ErrorName[13986:14003], + 676: _ErrorName[14003:14020], + 677: _ErrorName[14020:14039], + 678: _ErrorName[14039:14059], + 679: _ErrorName[14059:14080], + 690: _ErrorName[14080:14108], + 691: _ErrorName[14108:14131], + 692: _ErrorName[14131:14149], + 693: _ErrorName[14149:14158], + 694: _ErrorName[14158:14174], + 695: _ErrorName[14174:14191], + 696: _ErrorName[14191:14210], + 697: _ErrorName[14210:14245], + 698: _ErrorName[14245:14271], + 699: _ErrorName[14271:14300], + 700: _ErrorName[14300:14327], + 701: _ErrorName[14327:14347], + 702: _ErrorName[14347:14373], + 703: _ErrorName[14373:14391], + 704: _ErrorName[14391:14439], + 705: _ErrorName[14439:14454], + 706: _ErrorName[14454:14466], + 707: _ErrorName[14466:14475], + 708: _ErrorName[14475:14493], + 709: _ErrorName[14493:14532], + 710: _ErrorName[14532:14546], + 711: _ErrorName[14546:14569], + 712: _ErrorName[14569:14596], + 713: _ErrorName[14596:14613], + 714: _ErrorName[14613:14631], + 715: _ErrorName[14631:14651], + 716: _ErrorName[14651:14674], + 717: _ErrorName[14674:14700], + 718: _ErrorName[14700:14716], + 719: _ErrorName[14716:14750], + 720: _ErrorName[14750:14762], + 721: _ErrorName[14762:14781], + 722: _ErrorName[14781:14803], + 723: _ErrorName[14803:14820], + 724: _ErrorName[14820:14835], + 725: _ErrorName[14835:14853], + 726: _ErrorName[14853:14876], + 727: _ErrorName[14876:14899], + 728: _ErrorName[14899:14919], + 729: _ErrorName[14919:14943], + 730: _ErrorName[14943:14957], + 731: _ErrorName[14957:15002], + 733: _ErrorName[15002:15026], + 734: _ErrorName[15026:15060], + 735: _ErrorName[15060:15089], + 736: _ErrorName[15089:15112], + 737: _ErrorName[15112:15130], + 738: _ErrorName[15130:15144], + 739: _ErrorName[15144:15153], + 740: _ErrorName[15153:15181], + 741: _ErrorName[15181:15200], + 742: _ErrorName[15200:15218], + 743: _ErrorName[15218:15249], + 744: _ErrorName[15249:15265], + 745: _ErrorName[15265:15282], + 746: _ErrorName[15282:15304], + 747: _ErrorName[15304:15362], + 900: _ErrorName[15362:15385], + 901: _ErrorName[15385:15413], + 902: _ErrorName[15413:15438], + 903: _ErrorName[15438:15453], + 999: _ErrorName[15453:15469], + 1000: _ErrorName[15469:15483], + 1001: _ErrorName[15483:15496], + 1002: _ErrorName[15496:15513], + 1003: _ErrorName[15513:15526], + 1004: _ErrorName[15526:15547], + 2001: _ErrorName[15547:15580], + 2002: _ErrorName[15580:15610], } func (i Error) String() string { @@ -427,7 +742,7 @@ func _ErrorNoOp() { _ = x[ErrAttemptToReadAfterEOF-(32)] _ = x[ErrCannotReadAllData-(33)] _ = x[ErrTooManyArgumentsForFunction-(34)] - _ = x[ErrTooLessArgumentsForFunction-(35)] + _ = x[ErrTooFewArgumentsForFunction-(35)] _ = x[ErrBadArguments-(36)] _ = x[ErrUnknownElementInAst-(37)] _ = x[ErrCannotParseDate-(38)] @@ -512,7 +827,7 @@ func _ErrorNoOp() { _ = x[ErrIncorrectData-(117)] _ = x[ErrEngineRequired-(119)] _ = x[ErrCannotInsertValueOfDifferentSizeIntoTuple-(120)] - _ = x[ErrUnknownSetDataVariant-(121)] + _ = x[ErrUnsupportedJoinKeys-(121)] _ = x[ErrIncompatibleColumns-(122)] _ = x[ErrUnknownTypeOfAstNode-(123)] _ = x[ErrIncorrectElementOfSet-(124)] @@ -579,7 +894,7 @@ func _ErrorNoOp() { _ = x[ErrCollationComparisonFailed-(187)] _ = x[ErrUnknownAction-(188)] _ = x[ErrTableMustNotBeCreatedManually-(189)] - _ = x[ErrSizesOfArraysDoesntMatch-(190)] + _ = x[ErrSizesOfArraysDontMatch-(190)] _ = x[ErrSetSizeLimitExceeded-(191)] _ = x[ErrUnknownUser-(192)] _ = x[ErrWrongPassword-(193)] @@ -609,7 +924,7 @@ func _ErrorNoOp() { _ = x[ErrClientHasConnectedToWrongPort-(217)] _ = x[ErrTableIsDropped-(218)] _ = x[ErrDatabaseNotEmpty-(219)] - _ = x[ErrDuplicateInterserverIoEndpoint-(220)] + _ = x[ErrDuplicateInterserverIOEndpoint-(220)] _ = x[ErrNoSuchInterserverIoEndpoint-(221)] _ = x[ErrAddingReplicaToNonEmptyTable-(222)] _ = x[ErrUnexpectedAstStructure-(223)] @@ -658,8 +973,8 @@ func _ErrorNoOp() { _ = x[ErrInfiniteLoop-(269)] _ = x[ErrCannotCompress-(270)] _ = x[ErrCannotDecompress-(271)] - _ = x[ErrAioSubmitError-(272)] - _ = x[ErrAioCompletionError-(273)] + _ = x[ErrCannotIOSubmit-(272)] + _ = x[ErrCannotIOGetevents-(273)] _ = x[ErrAioReadError-(274)] _ = x[ErrAioWriteError-(275)] _ = x[ErrIndexNotUsed-(277)] @@ -669,8 +984,8 @@ func _ErrorNoOp() { _ = x[ErrDictionaryIsEmpty-(281)] _ = x[ErrIncorrectIndex-(282)] _ = x[ErrUnknownDistributedProductMode-(283)] - _ = x[ErrUnknownGlobalSubqueriesMethod-(284)] - _ = x[ErrTooLessLiveReplicas-(285)] + _ = x[ErrWrongGlobalSubquery-(284)] + _ = x[ErrTooFewLiveReplicas-(285)] _ = x[ErrUnsatisfiedQuorumForPreviousWrite-(286)] _ = x[ErrUnknownFormatVersion-(287)] _ = x[ErrDistributedInJoinSubqueryDenied-(288)] @@ -679,7 +994,7 @@ func _ErrorNoOp() { _ = x[ErrDatabaseAccessDenied-(291)] _ = x[ErrLeadershipChanged-(292)] _ = x[ErrMongodbCannotAuthenticate-(293)] - _ = x[ErrInvalidBlockExtraInfo-(294)] + _ = x[ErrCannotWriteToFile-(294)] _ = x[ErrReceivedEmptyData-(295)] _ = x[ErrNoRemoteShardFound-(296)] _ = x[ErrShardHasNoConnections-(297)] @@ -757,762 +1072,1707 @@ func _ErrorNoOp() { _ = x[ErrFunctionThrowIfValueIsNonZero-(395)] _ = x[ErrTooManyRowsOrBytes-(396)] _ = x[ErrQueryIsNotSupportedInMaterializedView-(397)] + _ = x[ErrUnknownMutationCommand-(398)] + _ = x[ErrFormatIsNotSuitableForOutput-(399)] + _ = x[ErrCannotStat-(400)] + _ = x[ErrFeatureIsNotEnabledAtBuildTime-(401)] + _ = x[ErrCannotIosetup-(402)] + _ = x[ErrInvalidJoinOnExpression-(403)] + _ = x[ErrBadOdbcConnectionString-(404)] + _ = x[ErrTopAndLimitTogether-(406)] + _ = x[ErrDecimalOverflow-(407)] + _ = x[ErrBadRequestParameter-(408)] + _ = x[ErrExternalServerIsNotResponding-(410)] + _ = x[ErrPthreadError-(411)] + _ = x[ErrNetlinkError-(412)] + _ = x[ErrCannotSetSignalHandler-(413)] + _ = x[ErrAllReplicasLost-(415)] + _ = x[ErrReplicaStatusChanged-(416)] + _ = x[ErrExpectedAllOrAny-(417)] + _ = x[ErrUnknownJoin-(418)] + _ = x[ErrMultipleAssignmentsToColumn-(419)] + _ = x[ErrCannotUpdateColumn-(420)] + _ = x[ErrCannotAddDifferentAggregateStates-(421)] + _ = x[ErrUnsupportedURIScheme-(422)] + _ = x[ErrCannotGettimeofday-(423)] + _ = x[ErrCannotLink-(424)] + _ = x[ErrSystemError-(425)] + _ = x[ErrCannotCompileRegexp-(427)] + _ = x[ErrFailedToGetpwuid-(429)] + _ = x[ErrMismatchingUsersForProcessAndData-(430)] + _ = x[ErrIllegalSyntaxForCodecType-(431)] + _ = x[ErrUnknownCodec-(432)] + _ = x[ErrIllegalCodecParameter-(433)] + _ = x[ErrCannotParseProtobufSchema-(434)] + _ = x[ErrNoColumnSerializedToRequiredProtobufField-(435)] + _ = x[ErrProtobufBadCast-(436)] + _ = x[ErrProtobufFieldNotRepeated-(437)] + _ = x[ErrDataTypeCannotBePromoted-(438)] + _ = x[ErrCannotScheduleTask-(439)] + _ = x[ErrInvalidLimitExpression-(440)] _ = x[ErrCannotParseDomainValueFromString-(441)] + _ = x[ErrBadDatabaseForTemporaryTable-(442)] + _ = x[ErrNoColumnsSerializedToProtobufFields-(443)] + _ = x[ErrUnknownProtobufFormat-(444)] + _ = x[ErrCannotMprotect-(445)] + _ = x[ErrFunctionNotAllowed-(446)] + _ = x[ErrHyperscanCannotScanText-(447)] + _ = x[ErrBrotliReadFailed-(448)] + _ = x[ErrBrotliWriteFailed-(449)] + _ = x[ErrBadTTLExpression-(450)] + _ = x[ErrBadTTLFile-(451)] + _ = x[ErrSettingConstraintViolation-(452)] + _ = x[ErrMysqlClientInsufficientCapabilities-(453)] + _ = x[ErrOpensslError-(454)] + _ = x[ErrSuspiciousTypeForLowCardinality-(455)] + _ = x[ErrUnknownQueryParameter-(456)] + _ = x[ErrBadQueryParameter-(457)] + _ = x[ErrCannotUnlink-(458)] + _ = x[ErrCannotSetThreadPriority-(459)] + _ = x[ErrCannotCreateTimer-(460)] + _ = x[ErrCannotSetTimerPeriod-(461)] + _ = x[ErrCannotFcntl-(463)] + _ = x[ErrCannotParseElf-(464)] + _ = x[ErrCannotParseDwarf-(465)] + _ = x[ErrInsecurePath-(466)] + _ = x[ErrCannotParseBool-(467)] + _ = x[ErrCannotPthreadAttr-(468)] + _ = x[ErrViolatedConstraint-(469)] + _ = x[ErrInvalidSettingValue-(471)] + _ = x[ErrReadonlySetting-(472)] + _ = x[ErrDeadlockAvoided-(473)] + _ = x[ErrInvalidTemplateFormat-(474)] + _ = x[ErrInvalidWithFillExpression-(475)] + _ = x[ErrWithTiesWithoutOrderBy-(476)] + _ = x[ErrInvalidUsageOfInput-(477)] + _ = x[ErrUnknownPolicy-(478)] + _ = x[ErrUnknownDisk-(479)] + _ = x[ErrUnknownProtocol-(480)] + _ = x[ErrPathAccessDenied-(481)] + _ = x[ErrDictionaryAccessDenied-(482)] + _ = x[ErrTooManyRedirects-(483)] + _ = x[ErrInternalRedisError-(484)] + _ = x[ErrCannotGetCreateDictionaryQuery-(487)] + _ = x[ErrIncorrectDictionaryDefinition-(489)] + _ = x[ErrCannotFormatDatetime-(490)] + _ = x[ErrUnacceptableURL-(491)] _ = x[ErrAccessEntityNotFound-(492)] + _ = x[ErrAccessEntityAlreadyExists-(493)] + _ = x[ErrAccessStorageReadonly-(495)] + _ = x[ErrQuotaRequiresClientKey-(496)] + _ = x[ErrAccessDenied-(497)] + _ = x[ErrLimitByWithTiesIsNotSupported-(498)] + _ = x[ErrS3Error-(499)] + _ = x[ErrAzureBlobStorageError-(500)] + _ = x[ErrCannotCreateDatabase-(501)] + _ = x[ErrCannotSigqueue-(502)] + _ = x[ErrAggregateFunctionThrow-(503)] + _ = x[ErrFileAlreadyExists-(504)] + _ = x[ErrUnableToSkipUnusedShards-(507)] + _ = x[ErrUnknownAccessType-(508)] + _ = x[ErrInvalidGrant-(509)] + _ = x[ErrCacheDictionaryUpdateFail-(510)] + _ = x[ErrUnknownRole-(511)] + _ = x[ErrSetNonGrantedRole-(512)] + _ = x[ErrUnknownPartType-(513)] + _ = x[ErrAccessStorageForInsertionNotFound-(514)] + _ = x[ErrIncorrectAccessEntityDefinition-(515)] _ = x[ErrAuthenticationFailed-(516)] + _ = x[ErrCannotAssignAlter-(517)] + _ = x[ErrCannotCommitOffset-(518)] + _ = x[ErrNoRemoteShardAvailable-(519)] + _ = x[ErrCannotDetachDictionaryAsTable-(520)] + _ = x[ErrAtomicRenameFail-(521)] + _ = x[ErrUnknownRowPolicy-(523)] + _ = x[ErrAlterOfColumnIsForbidden-(524)] + _ = x[ErrIncorrectDiskIndex-(525)] + _ = x[ErrNoSuitableFunctionImplementation-(527)] + _ = x[ErrCassandraInternalError-(528)] + _ = x[ErrNotALeader-(529)] + _ = x[ErrCannotConnectRabbitmq-(530)] + _ = x[ErrCannotFstat-(531)] + _ = x[ErrLdapError-(532)] + _ = x[ErrUnknownRaidType-(535)] + _ = x[ErrCannotRestoreFromFieldDump-(536)] + _ = x[ErrIllegalMysqlVariable-(537)] + _ = x[ErrMysqlSyntaxError-(538)] + _ = x[ErrCannotBindRabbitmqExchange-(539)] + _ = x[ErrCannotDeclareRabbitmqExchange-(540)] + _ = x[ErrCannotCreateRabbitmqQueueBinding-(541)] + _ = x[ErrCannotRemoveRabbitmqExchange-(542)] + _ = x[ErrUnknownMysqlDatatypesSupportLevel-(543)] + _ = x[ErrRowAndRowsTogether-(544)] + _ = x[ErrFirstAndNextTogether-(545)] + _ = x[ErrNoRowDelimiter-(546)] + _ = x[ErrInvalidRaidType-(547)] + _ = x[ErrUnknownVolume-(548)] + _ = x[ErrDataTypeCannotBeUsedInKey-(549)] + _ = x[ErrUnrecognizedArguments-(552)] + _ = x[ErrLzmaStreamEncoderFailed-(553)] + _ = x[ErrLzmaStreamDecoderFailed-(554)] + _ = x[ErrRocksdbError-(555)] + _ = x[ErrSyncMysqlUserAccessError-(556)] + _ = x[ErrUnknownUnion-(557)] + _ = x[ErrExpectedAllOrDistinct-(558)] + _ = x[ErrInvalidGrpcQueryInfo-(559)] + _ = x[ErrZstdEncoderFailed-(560)] + _ = x[ErrZstdDecoderFailed-(561)] + _ = x[ErrTldListNotFound-(562)] + _ = x[ErrCannotReadMapFromText-(563)] + _ = x[ErrInterserverSchemeDoesntMatch-(564)] + _ = x[ErrTooManyPartitions-(565)] + _ = x[ErrCannotRmdir-(566)] + _ = x[ErrDuplicatedPartUuids-(567)] + _ = x[ErrRaftError-(568)] + _ = x[ErrMultipleColumnsSerializedToSameProtobufField-(569)] + _ = x[ErrDataTypeIncompatibleWithProtobufField-(570)] + _ = x[ErrDatabaseReplicationFailed-(571)] + _ = x[ErrTooManyQueryPlanOptimizations-(572)] + _ = x[ErrEpollError-(573)] + _ = x[ErrDistributedTooManyPendingBytes-(574)] + _ = x[ErrUnknownSnapshot-(575)] + _ = x[ErrKerberosError-(576)] + _ = x[ErrInvalidShardID-(577)] + _ = x[ErrInvalidFormatInsertQueryWithData-(578)] + _ = x[ErrIncorrectPartType-(579)] + _ = x[ErrCannotSetRoundingMode-(580)] + _ = x[ErrTooLargeDistributedDepth-(581)] + _ = x[ErrNoSuchProjectionInTable-(582)] + _ = x[ErrIllegalProjection-(583)] + _ = x[ErrProjectionNotUsed-(584)] + _ = x[ErrCannotParseYaml-(585)] + _ = x[ErrCannotCreateFile-(586)] + _ = x[ErrConcurrentAccessNotSupported-(587)] + _ = x[ErrDistributedBrokenBatchInfo-(588)] + _ = x[ErrDistributedBrokenBatchFiles-(589)] + _ = x[ErrCannotSysconf-(590)] + _ = x[ErrSqliteEngineError-(591)] + _ = x[ErrDataEncryptionError-(592)] + _ = x[ErrZeroCopyReplicationError-(593)] + _ = x[ErrBzip2StreamDecoderFailed-(594)] + _ = x[ErrBzip2StreamEncoderFailed-(595)] + _ = x[ErrIntersectOrExceptResultStructuresMismatch-(596)] + _ = x[ErrNoSuchErrorCode-(597)] + _ = x[ErrBackupAlreadyExists-(598)] + _ = x[ErrBackupNotFound-(599)] + _ = x[ErrBackupVersionNotSupported-(600)] + _ = x[ErrBackupDamaged-(601)] + _ = x[ErrNoBaseBackup-(602)] + _ = x[ErrWrongBaseBackup-(603)] + _ = x[ErrBackupEntryAlreadyExists-(604)] + _ = x[ErrBackupEntryNotFound-(605)] + _ = x[ErrBackupIsEmpty-(606)] + _ = x[ErrCannotRestoreDatabase-(607)] + _ = x[ErrCannotRestoreTable-(608)] + _ = x[ErrFunctionAlreadyExists-(609)] + _ = x[ErrCannotDropFunction-(610)] + _ = x[ErrCannotCreateRecursiveFunction-(611)] + _ = x[ErrPostgresqlConnectionFailure-(614)] + _ = x[ErrCannotAdvise-(615)] + _ = x[ErrUnknownReadMethod-(616)] + _ = x[ErrLz4EncoderFailed-(617)] + _ = x[ErrLz4DecoderFailed-(618)] + _ = x[ErrPostgresqlReplicationInternalError-(619)] + _ = x[ErrQueryNotAllowed-(620)] + _ = x[ErrCannotNormalizeString-(621)] + _ = x[ErrCannotParseCapnProtoSchema-(622)] + _ = x[ErrCapnProtoBadCast-(623)] + _ = x[ErrBadFileType-(624)] + _ = x[ErrIOSetupError-(625)] + _ = x[ErrCannotSkipUnknownField-(626)] + _ = x[ErrBackupEngineNotFound-(627)] + _ = x[ErrOffsetFetchWithoutOrderBy-(628)] + _ = x[ErrHTTPRangeNotSatisfiable-(629)] + _ = x[ErrHaveDependentObjects-(630)] + _ = x[ErrUnknownFileSize-(631)] + _ = x[ErrUnexpectedDataAfterParsedValue-(632)] + _ = x[ErrQueryIsNotSupportedInWindowView-(633)] + _ = x[ErrMongodbError-(634)] + _ = x[ErrCannotPoll-(635)] + _ = x[ErrCannotExtractTableStructure-(636)] + _ = x[ErrInvalidTableOverride-(637)] + _ = x[ErrSnappyUncompressFailed-(638)] + _ = x[ErrSnappyCompressFailed-(639)] + _ = x[ErrNoHivemetastore-(640)] + _ = x[ErrCannotAppendToFile-(641)] + _ = x[ErrCannotPackArchive-(642)] + _ = x[ErrCannotUnpackArchive-(643)] + _ = x[ErrNumberOfDimensionsMismatched-(645)] + _ = x[ErrCannotBackupTable-(647)] + _ = x[ErrWrongDdlRenamingSettings-(648)] + _ = x[ErrInvalidTransaction-(649)] + _ = x[ErrSerializationError-(650)] + _ = x[ErrCapnProtoBadType-(651)] + _ = x[ErrOnlyNullsWhileReadingSchema-(652)] + _ = x[ErrCannotParseBackupSettings-(653)] + _ = x[ErrWrongBackupSettings-(654)] + _ = x[ErrFailedToSyncBackupOrRestore-(655)] + _ = x[ErrUnknownStatusOfTransaction-(659)] + _ = x[ErrHdfsError-(660)] + _ = x[ErrCannotSendSignal-(661)] + _ = x[ErrFsMetadataError-(662)] + _ = x[ErrInconsistentMetadataForBackup-(663)] + _ = x[ErrAccessStorageDoesntAllowBackup-(664)] + _ = x[ErrCannotConnectNats-(665)] + _ = x[ErrNotInitialized-(667)] + _ = x[ErrInvalidState-(668)] + _ = x[ErrNamedCollectionDoesntExist-(669)] + _ = x[ErrNamedCollectionAlreadyExists-(670)] + _ = x[ErrNamedCollectionIsImmutable-(671)] + _ = x[ErrInvalidSchedulerNode-(672)] + _ = x[ErrResourceAccessDenied-(673)] + _ = x[ErrResourceNotFound-(674)] + _ = x[ErrCannotParseIpv4-(675)] + _ = x[ErrCannotParseIpv6-(676)] + _ = x[ErrThreadWasCanceled-(677)] + _ = x[ErrIOUringInitFailed-(678)] + _ = x[ErrIOUringSubmitError-(679)] + _ = x[ErrMixedAccessParameterTypes-(690)] + _ = x[ErrUnknownElementOfEnum-(691)] + _ = x[ErrTooManyMutations-(692)] + _ = x[ErrAwsError-(693)] + _ = x[ErrAsyncLoadCycle-(694)] + _ = x[ErrAsyncLoadFailed-(695)] + _ = x[ErrAsyncLoadCanceled-(696)] + _ = x[ErrCannotRestoreToNonencryptedDisk-(697)] + _ = x[ErrInvalidRedisStorageType-(698)] + _ = x[ErrInvalidRedisTableStructure-(699)] + _ = x[ErrUserSessionLimitExceeded-(700)] + _ = x[ErrClusterDoesntExist-(701)] + _ = x[ErrClientInfoDoesNotMatch-(702)] + _ = x[ErrInvalidIdentifier-(703)] + _ = x[ErrQueryCacheUsedWithNondeterministicFunctions-(704)] + _ = x[ErrTableNotEmpty-(705)] + _ = x[ErrLibsshError-(706)] + _ = x[ErrGcpError-(707)] + _ = x[ErrIllegalStatistics-(708)] + _ = x[ErrCannotGetReplicatedDatabaseSnapshot-(709)] + _ = x[ErrFaultInjected-(710)] + _ = x[ErrFilecacheAccessDenied-(711)] + _ = x[ErrTooManyMaterializedViews-(712)] + _ = x[ErrBrokenProjection-(713)] + _ = x[ErrUnexpectedCluster-(714)] + _ = x[ErrCannotDetectFormat-(715)] + _ = x[ErrCannotForgetPartition-(716)] + _ = x[ErrExperimentalFeatureError-(717)] + _ = x[ErrTooSlowParsing-(718)] + _ = x[ErrQueryCacheUsedWithSystemTable-(719)] + _ = x[ErrUserExpired-(720)] + _ = x[ErrDeprecatedFunction-(721)] + _ = x[ErrAsyncLoadWaitFailed-(722)] + _ = x[ErrParquetException-(723)] + _ = x[ErrTooManyTables-(724)] + _ = x[ErrTooManyDatabases-(725)] + _ = x[ErrUnexpectedHTTPHeaders-(726)] + _ = x[ErrUnexpectedTableEngine-(727)] + _ = x[ErrUnexpectedDataType-(728)] + _ = x[ErrIllegalTimeSeriesTags-(729)] + _ = x[ErrRefreshFailed-(730)] + _ = x[ErrQueryCacheUsedWithNonThrowOverflowMode-(731)] + _ = x[ErrTableIsBeingRestarted-(733)] + _ = x[ErrCannotWriteAfterBufferCanceled-(734)] + _ = x[ErrQueryWasCancelledByClient-(735)] + _ = x[ErrDatalakeDatabaseError-(736)] + _ = x[ErrGoogleCloudError-(737)] + _ = x[ErrPartIsLocked-(738)] + _ = x[ErrBuzzhouse-(739)] + _ = x[ErrPotentiallyBrokenDataPart-(740)] + _ = x[ErrTableUUIDMismatch-(741)] + _ = x[ErrDeltaKernelError-(742)] + _ = x[ErrIcebergSpecificationViolation-(743)] + _ = x[ErrSessionIDEmpty-(744)] + _ = x[ErrServerOverloaded-(745)] + _ = x[ErrDependenciesNotFound-(746)] + _ = x[ErrFilecacheCannotWriteThroughCacheWithConcurrentReads-(747)] + _ = x[ErrDistributedCacheError-(900)] + _ = x[ErrCannotUseDistributedCache-(901)] + _ = x[ErrProtocolVersionMismatch-(902)] + _ = x[ErrLicenseExpired-(903)] _ = x[ErrKeeperException-(999)] _ = x[ErrPocoException-(1000)] _ = x[ErrStdException-(1001)] _ = x[ErrUnknownException-(1002)] + _ = x[ErrSSHException-(1003)] + _ = x[ErrStartupScriptsError-(1004)] _ = x[ErrConditionalTreeParentNotFound-(2001)] _ = x[ErrIllegalProjectionManipulator-(2002)] } -var _ErrorValues = []Error{ErrUnsupportedMethod, ErrUnsupportedParameter, ErrUnexpectedEndOfFile, ErrExpectedEndOfFile, ErrCannotParseText, ErrIncorrectNumberOfColumns, ErrThereIsNoColumn, ErrSizesOfColumnsDoesntMatch, ErrNotFoundColumnInBlock, ErrPositionOutOfBound, ErrParameterOutOfBound, ErrSizesOfColumnsInTupleDoesntMatch, ErrDuplicateColumn, ErrNoSuchColumnInTable, ErrDelimiterInStringLiteralDoesntMatch, ErrCannotInsertElementIntoConstantColumn, ErrSizeOfFixedStringDoesntMatch, ErrNumberOfColumnsDoesntMatch, ErrCannotReadAllDataFromTabSeparatedInput, ErrCannotParseAllValueFromTabSeparatedInput, ErrCannotReadFromIstream, ErrCannotWriteToOstream, ErrCannotParseEscapeSequence, ErrCannotParseQuotedString, ErrCannotParseInputAssertionFailed, ErrCannotPrintFloatOrDoubleNumber, ErrCannotPrintInteger, ErrCannotReadSizeOfCompressedChunk, ErrCannotReadCompressedChunk, ErrAttemptToReadAfterEOF, ErrCannotReadAllData, ErrTooManyArgumentsForFunction, ErrTooLessArgumentsForFunction, ErrBadArguments, ErrUnknownElementInAst, ErrCannotParseDate, ErrTooLargeSizeCompressed, ErrChecksumDoesntMatch, ErrCannotParseDatetime, ErrNumberOfArgumentsDoesntMatch, ErrIllegalTypeOfArgument, ErrIllegalColumn, ErrIllegalNumberOfResultColumns, ErrUnknownFunction, ErrUnknownIdentifier, ErrNotImplemented, ErrLogicalError, ErrUnknownType, ErrEmptyListOfColumnsQueried, ErrColumnQueriedMoreThanOnce, ErrTypeMismatch, ErrStorageDoesntAllowParameters, ErrStorageRequiresParameter, ErrUnknownStorage, ErrTableAlreadyExists, ErrTableMetadataAlreadyExists, ErrIllegalTypeOfColumnForFilter, ErrUnknownTable, ErrOnlyFilterColumnInBlock, ErrSyntaxError, ErrUnknownAggregateFunction, ErrCannotReadAggregateFunctionFromText, ErrCannotWriteAggregateFunctionAsText, ErrNotAColumn, ErrIllegalKeyOfAggregation, ErrCannotGetSizeOfField, ErrArgumentOutOfBound, ErrCannotConvertType, ErrCannotWriteAfterEndOfBuffer, ErrCannotParseNumber, ErrUnknownFormat, ErrCannotReadFromFileDescriptor, ErrCannotWriteToFileDescriptor, ErrCannotOpenFile, ErrCannotCloseFile, ErrUnknownTypeOfQuery, ErrIncorrectFileName, ErrIncorrectQuery, ErrUnknownDatabase, ErrDatabaseAlreadyExists, ErrDirectoryDoesntExist, ErrDirectoryAlreadyExists, ErrFormatIsNotSuitableForInput, ErrReceivedErrorFromRemoteIoServer, ErrCannotSeekThroughFile, ErrCannotTruncateFile, ErrUnknownCompressionMethod, ErrEmptyListOfColumnsPassed, ErrSizesOfMarksFilesAreInconsistent, ErrEmptyDataPassed, ErrUnknownAggregatedDataVariant, ErrCannotMergeDifferentAggregatedDataVariants, ErrCannotReadFromSocket, ErrCannotWriteToSocket, ErrCannotReadAllDataFromChunkedInput, ErrCannotWriteToEmptyBlockOutputStream, ErrUnknownPacketFromClient, ErrUnknownPacketFromServer, ErrUnexpectedPacketFromClient, ErrUnexpectedPacketFromServer, ErrReceivedDataForWrongQueryID, ErrTooSmallBufferSize, ErrCannotReadHistory, ErrCannotAppendHistory, ErrFileDoesntExist, ErrNoDataToInsert, ErrCannotBlockSignal, ErrCannotUnblockSignal, ErrCannotManipulateSigset, ErrCannotWaitForSignal, ErrThereIsNoSession, ErrCannotClockGettime, ErrUnknownSetting, ErrThereIsNoDefaultValue, ErrIncorrectData, ErrEngineRequired, ErrCannotInsertValueOfDifferentSizeIntoTuple, ErrUnknownSetDataVariant, ErrIncompatibleColumns, ErrUnknownTypeOfAstNode, ErrIncorrectElementOfSet, ErrIncorrectResultOfScalarSubquery, ErrCannotGetReturnType, ErrIllegalIndex, ErrTooLargeArraySize, ErrFunctionIsSpecial, ErrCannotReadArrayFromText, ErrTooLargeStringSize, ErrCannotCreateTableFromMetadata, ErrAggregateFunctionDoesntAllowParameters, ErrParametersToAggregateFunctionsMustBeLiterals, ErrZeroArrayOrTupleIndex, ErrUnknownElementInConfig, ErrExcessiveElementInConfig, ErrNoElementsInConfig, ErrAllRequestedColumnsAreMissing, ErrSamplingNotSupported, ErrNotFoundNode, ErrFoundMoreThanOneNode, ErrFirstDateIsBiggerThanLastDate, ErrUnknownOverflowMode, ErrQuerySectionDoesntMakeSense, ErrNotFoundFunctionElementForAggregate, ErrNotFoundRelationElementForCondition, ErrNotFoundRHSElementForCondition, ErrNoAttributesListed, ErrIndexOfColumnInSortClauseIsOutOfRange, ErrUnknownDirectionOfSorting, ErrIllegalDivision, ErrAggregateFunctionNotApplicable, ErrUnknownRelation, ErrDictionariesWasNotLoaded, ErrIllegalOverflowMode, ErrTooManyRows, ErrTimeoutExceeded, ErrTooSlow, ErrTooManyColumns, ErrTooDeepSubqueries, ErrTooDeepPipeline, ErrReadonly, ErrTooManyTemporaryColumns, ErrTooManyTemporaryNonConstColumns, ErrTooDeepAst, ErrTooBigAst, ErrBadTypeOfField, ErrBadGet, ErrBlocksHaveDifferentStructure, ErrCannotCreateDirectory, ErrCannotAllocateMemory, ErrCyclicAliases, ErrChunkNotFound, ErrDuplicateChunkName, ErrMultipleAliasesForExpression, ErrMultipleExpressionsForAlias, ErrThereIsNoProfile, ErrIllegalFinal, ErrIllegalPrewhere, ErrUnexpectedExpression, ErrIllegalAggregation, ErrUnsupportedMyisamBlockType, ErrUnsupportedCollationLocale, ErrCollationComparisonFailed, ErrUnknownAction, ErrTableMustNotBeCreatedManually, ErrSizesOfArraysDoesntMatch, ErrSetSizeLimitExceeded, ErrUnknownUser, ErrWrongPassword, ErrRequiredPassword, ErrIPAddressNotAllowed, ErrUnknownAddressPatternType, ErrServerRevisionIsTooOld, ErrDNSError, ErrUnknownQuota, ErrQuotaDoesntAllowKeys, ErrQuotaExpired, ErrTooManySimultaneousQueries, ErrNoFreeConnection, ErrCannotFsync, ErrNestedTypeTooDeep, ErrAliasRequired, ErrAmbiguousIdentifier, ErrEmptyNestedTable, ErrSocketTimeout, ErrNetworkError, ErrEmptyQuery, ErrUnknownLoadBalancing, ErrUnknownTotalsMode, ErrCannotStatvfs, ErrNotAnAggregate, ErrQueryWithSameIDIsAlreadyRunning, ErrClientHasConnectedToWrongPort, ErrTableIsDropped, ErrDatabaseNotEmpty, ErrDuplicateInterserverIoEndpoint, ErrNoSuchInterserverIoEndpoint, ErrAddingReplicaToNonEmptyTable, ErrUnexpectedAstStructure, ErrReplicaIsAlreadyActive, ErrNoZookeeper, ErrNoFileInDataPart, ErrUnexpectedFileInDataPart, ErrBadSizeOfFileInDataPart, ErrQueryIsTooLarge, ErrNotFoundExpectedDataPart, ErrTooManyUnexpectedDataParts, ErrNoSuchDataPart, ErrBadDataPartName, ErrNoReplicaHasPart, ErrDuplicateDataPart, ErrAborted, ErrNoReplicaNameGiven, ErrFormatVersionTooOld, ErrCannotMunmap, ErrCannotMremap, ErrMemoryLimitExceeded, ErrTableIsReadOnly, ErrNotEnoughSpace, ErrUnexpectedZookeeperError, ErrCorruptedData, ErrIncorrectMark, ErrInvalidPartitionValue, ErrNotEnoughBlockNumbers, ErrNoSuchReplica, ErrTooManyParts, ErrReplicaIsAlreadyExist, ErrNoActiveReplicas, ErrTooManyRetriesToFetchParts, ErrPartitionAlreadyExists, ErrPartitionDoesntExist, ErrUnionAllResultStructuresMismatch, ErrClientOutputFormatSpecified, ErrUnknownBlockInfoField, ErrBadCollation, ErrCannotCompileCode, ErrIncompatibleTypeOfJoin, ErrNoAvailableReplica, ErrMismatchReplicasDataSources, ErrStorageDoesntSupportParallelReplicas, ErrCPUIDError, ErrInfiniteLoop, ErrCannotCompress, ErrCannotDecompress, ErrAioSubmitError, ErrAioCompletionError, ErrAioReadError, ErrAioWriteError, ErrIndexNotUsed, ErrLeadershipLost, ErrAllConnectionTriesFailed, ErrNoAvailableData, ErrDictionaryIsEmpty, ErrIncorrectIndex, ErrUnknownDistributedProductMode, ErrUnknownGlobalSubqueriesMethod, ErrTooLessLiveReplicas, ErrUnsatisfiedQuorumForPreviousWrite, ErrUnknownFormatVersion, ErrDistributedInJoinSubqueryDenied, ErrReplicaIsNotInQuorum, ErrLimitExceeded, ErrDatabaseAccessDenied, ErrLeadershipChanged, ErrMongodbCannotAuthenticate, ErrInvalidBlockExtraInfo, ErrReceivedEmptyData, ErrNoRemoteShardFound, ErrShardHasNoConnections, ErrCannotPipe, ErrCannotFork, ErrCannotDlsym, ErrCannotCreateChildProcess, ErrChildWasNotExitedNormally, ErrCannotSelect, ErrCannotWaitpid, ErrTableWasNotDropped, ErrTooDeepRecursion, ErrTooManyBytes, ErrUnexpectedNodeInZookeeper, ErrFunctionCannotHaveParameters, ErrInvalidShardWeight, ErrInvalidConfigParameter, ErrUnknownStatusOfInsert, ErrValueIsOutOfRangeOfDataType, ErrBarrierTimeout, ErrUnknownDatabaseEngine, ErrDdlGuardIsActive, ErrUnfinished, ErrMetadataMismatch, ErrSupportIsDisabled, ErrTableDiffersTooMuch, ErrCannotConvertCharset, ErrCannotLoadConfig, ErrCannotInsertNullInOrdinaryColumn, ErrIncompatibleSourceTables, ErrAmbiguousTableName, ErrAmbiguousColumnName, ErrIndexOfPositionalArgumentIsOutOfRange, ErrZlibInflateFailed, ErrZlibDeflateFailed, ErrBadLambda, ErrReservedIdentifierName, ErrIntoOutfileNotAllowed, ErrTableSizeExceedsMaxDropSizeLimit, ErrCannotCreateCharsetConverter, ErrSeekPositionOutOfBound, ErrCurrentWriteBufferIsExhausted, ErrCannotCreateIoBuffer, ErrReceivedErrorTooManyRequests, ErrOutputIsNotSorted, ErrSizesOfNestedColumnsAreInconsistent, ErrTooManyFetches, ErrBadCast, ErrAllReplicasAreStale, ErrDataTypeCannotBeUsedInTables, ErrInconsistentClusterDefinition, ErrSessionNotFound, ErrSessionIsLocked, ErrInvalidSessionTimeout, ErrCannotDlopen, ErrCannotParseUUID, ErrIllegalSyntaxForDataType, ErrDataTypeCannotHaveArguments, ErrUnknownStatusOfDistributedDdlTask, ErrCannotKill, ErrHTTPLengthRequired, ErrCannotLoadCatboostModel, ErrCannotApplyCatboostModel, ErrPartIsTemporarilyLocked, ErrMultipleStreamsRequired, ErrNoCommonType, ErrExternalLoadableAlreadyExists, ErrCannotAssignOptimize, ErrInsertWasDeduplicated, ErrCannotGetCreateTableQuery, ErrExternalLibraryError, ErrQueryIsProhibited, ErrThereIsNoQuery, ErrQueryWasCancelled, ErrFunctionThrowIfValueIsNonZero, ErrTooManyRowsOrBytes, ErrQueryIsNotSupportedInMaterializedView, ErrCannotParseDomainValueFromString, ErrAccessEntityNotFound, ErrAuthenticationFailed, ErrKeeperException, ErrPocoException, ErrStdException, ErrUnknownException, ErrConditionalTreeParentNotFound, ErrIllegalProjectionManipulator} +var _ErrorValues = []Error{ErrUnsupportedMethod, ErrUnsupportedParameter, ErrUnexpectedEndOfFile, ErrExpectedEndOfFile, ErrCannotParseText, ErrIncorrectNumberOfColumns, ErrThereIsNoColumn, ErrSizesOfColumnsDoesntMatch, ErrNotFoundColumnInBlock, ErrPositionOutOfBound, ErrParameterOutOfBound, ErrSizesOfColumnsInTupleDoesntMatch, ErrDuplicateColumn, ErrNoSuchColumnInTable, ErrDelimiterInStringLiteralDoesntMatch, ErrCannotInsertElementIntoConstantColumn, ErrSizeOfFixedStringDoesntMatch, ErrNumberOfColumnsDoesntMatch, ErrCannotReadAllDataFromTabSeparatedInput, ErrCannotParseAllValueFromTabSeparatedInput, ErrCannotReadFromIstream, ErrCannotWriteToOstream, ErrCannotParseEscapeSequence, ErrCannotParseQuotedString, ErrCannotParseInputAssertionFailed, ErrCannotPrintFloatOrDoubleNumber, ErrCannotPrintInteger, ErrCannotReadSizeOfCompressedChunk, ErrCannotReadCompressedChunk, ErrAttemptToReadAfterEOF, ErrCannotReadAllData, ErrTooManyArgumentsForFunction, ErrTooFewArgumentsForFunction, ErrBadArguments, ErrUnknownElementInAst, ErrCannotParseDate, ErrTooLargeSizeCompressed, ErrChecksumDoesntMatch, ErrCannotParseDatetime, ErrNumberOfArgumentsDoesntMatch, ErrIllegalTypeOfArgument, ErrIllegalColumn, ErrIllegalNumberOfResultColumns, ErrUnknownFunction, ErrUnknownIdentifier, ErrNotImplemented, ErrLogicalError, ErrUnknownType, ErrEmptyListOfColumnsQueried, ErrColumnQueriedMoreThanOnce, ErrTypeMismatch, ErrStorageDoesntAllowParameters, ErrStorageRequiresParameter, ErrUnknownStorage, ErrTableAlreadyExists, ErrTableMetadataAlreadyExists, ErrIllegalTypeOfColumnForFilter, ErrUnknownTable, ErrOnlyFilterColumnInBlock, ErrSyntaxError, ErrUnknownAggregateFunction, ErrCannotReadAggregateFunctionFromText, ErrCannotWriteAggregateFunctionAsText, ErrNotAColumn, ErrIllegalKeyOfAggregation, ErrCannotGetSizeOfField, ErrArgumentOutOfBound, ErrCannotConvertType, ErrCannotWriteAfterEndOfBuffer, ErrCannotParseNumber, ErrUnknownFormat, ErrCannotReadFromFileDescriptor, ErrCannotWriteToFileDescriptor, ErrCannotOpenFile, ErrCannotCloseFile, ErrUnknownTypeOfQuery, ErrIncorrectFileName, ErrIncorrectQuery, ErrUnknownDatabase, ErrDatabaseAlreadyExists, ErrDirectoryDoesntExist, ErrDirectoryAlreadyExists, ErrFormatIsNotSuitableForInput, ErrReceivedErrorFromRemoteIoServer, ErrCannotSeekThroughFile, ErrCannotTruncateFile, ErrUnknownCompressionMethod, ErrEmptyListOfColumnsPassed, ErrSizesOfMarksFilesAreInconsistent, ErrEmptyDataPassed, ErrUnknownAggregatedDataVariant, ErrCannotMergeDifferentAggregatedDataVariants, ErrCannotReadFromSocket, ErrCannotWriteToSocket, ErrCannotReadAllDataFromChunkedInput, ErrCannotWriteToEmptyBlockOutputStream, ErrUnknownPacketFromClient, ErrUnknownPacketFromServer, ErrUnexpectedPacketFromClient, ErrUnexpectedPacketFromServer, ErrReceivedDataForWrongQueryID, ErrTooSmallBufferSize, ErrCannotReadHistory, ErrCannotAppendHistory, ErrFileDoesntExist, ErrNoDataToInsert, ErrCannotBlockSignal, ErrCannotUnblockSignal, ErrCannotManipulateSigset, ErrCannotWaitForSignal, ErrThereIsNoSession, ErrCannotClockGettime, ErrUnknownSetting, ErrThereIsNoDefaultValue, ErrIncorrectData, ErrEngineRequired, ErrCannotInsertValueOfDifferentSizeIntoTuple, ErrUnsupportedJoinKeys, ErrIncompatibleColumns, ErrUnknownTypeOfAstNode, ErrIncorrectElementOfSet, ErrIncorrectResultOfScalarSubquery, ErrCannotGetReturnType, ErrIllegalIndex, ErrTooLargeArraySize, ErrFunctionIsSpecial, ErrCannotReadArrayFromText, ErrTooLargeStringSize, ErrCannotCreateTableFromMetadata, ErrAggregateFunctionDoesntAllowParameters, ErrParametersToAggregateFunctionsMustBeLiterals, ErrZeroArrayOrTupleIndex, ErrUnknownElementInConfig, ErrExcessiveElementInConfig, ErrNoElementsInConfig, ErrAllRequestedColumnsAreMissing, ErrSamplingNotSupported, ErrNotFoundNode, ErrFoundMoreThanOneNode, ErrFirstDateIsBiggerThanLastDate, ErrUnknownOverflowMode, ErrQuerySectionDoesntMakeSense, ErrNotFoundFunctionElementForAggregate, ErrNotFoundRelationElementForCondition, ErrNotFoundRHSElementForCondition, ErrNoAttributesListed, ErrIndexOfColumnInSortClauseIsOutOfRange, ErrUnknownDirectionOfSorting, ErrIllegalDivision, ErrAggregateFunctionNotApplicable, ErrUnknownRelation, ErrDictionariesWasNotLoaded, ErrIllegalOverflowMode, ErrTooManyRows, ErrTimeoutExceeded, ErrTooSlow, ErrTooManyColumns, ErrTooDeepSubqueries, ErrTooDeepPipeline, ErrReadonly, ErrTooManyTemporaryColumns, ErrTooManyTemporaryNonConstColumns, ErrTooDeepAst, ErrTooBigAst, ErrBadTypeOfField, ErrBadGet, ErrBlocksHaveDifferentStructure, ErrCannotCreateDirectory, ErrCannotAllocateMemory, ErrCyclicAliases, ErrChunkNotFound, ErrDuplicateChunkName, ErrMultipleAliasesForExpression, ErrMultipleExpressionsForAlias, ErrThereIsNoProfile, ErrIllegalFinal, ErrIllegalPrewhere, ErrUnexpectedExpression, ErrIllegalAggregation, ErrUnsupportedMyisamBlockType, ErrUnsupportedCollationLocale, ErrCollationComparisonFailed, ErrUnknownAction, ErrTableMustNotBeCreatedManually, ErrSizesOfArraysDontMatch, ErrSetSizeLimitExceeded, ErrUnknownUser, ErrWrongPassword, ErrRequiredPassword, ErrIPAddressNotAllowed, ErrUnknownAddressPatternType, ErrServerRevisionIsTooOld, ErrDNSError, ErrUnknownQuota, ErrQuotaDoesntAllowKeys, ErrQuotaExpired, ErrTooManySimultaneousQueries, ErrNoFreeConnection, ErrCannotFsync, ErrNestedTypeTooDeep, ErrAliasRequired, ErrAmbiguousIdentifier, ErrEmptyNestedTable, ErrSocketTimeout, ErrNetworkError, ErrEmptyQuery, ErrUnknownLoadBalancing, ErrUnknownTotalsMode, ErrCannotStatvfs, ErrNotAnAggregate, ErrQueryWithSameIDIsAlreadyRunning, ErrClientHasConnectedToWrongPort, ErrTableIsDropped, ErrDatabaseNotEmpty, ErrDuplicateInterserverIOEndpoint, ErrNoSuchInterserverIoEndpoint, ErrAddingReplicaToNonEmptyTable, ErrUnexpectedAstStructure, ErrReplicaIsAlreadyActive, ErrNoZookeeper, ErrNoFileInDataPart, ErrUnexpectedFileInDataPart, ErrBadSizeOfFileInDataPart, ErrQueryIsTooLarge, ErrNotFoundExpectedDataPart, ErrTooManyUnexpectedDataParts, ErrNoSuchDataPart, ErrBadDataPartName, ErrNoReplicaHasPart, ErrDuplicateDataPart, ErrAborted, ErrNoReplicaNameGiven, ErrFormatVersionTooOld, ErrCannotMunmap, ErrCannotMremap, ErrMemoryLimitExceeded, ErrTableIsReadOnly, ErrNotEnoughSpace, ErrUnexpectedZookeeperError, ErrCorruptedData, ErrIncorrectMark, ErrInvalidPartitionValue, ErrNotEnoughBlockNumbers, ErrNoSuchReplica, ErrTooManyParts, ErrReplicaIsAlreadyExist, ErrNoActiveReplicas, ErrTooManyRetriesToFetchParts, ErrPartitionAlreadyExists, ErrPartitionDoesntExist, ErrUnionAllResultStructuresMismatch, ErrClientOutputFormatSpecified, ErrUnknownBlockInfoField, ErrBadCollation, ErrCannotCompileCode, ErrIncompatibleTypeOfJoin, ErrNoAvailableReplica, ErrMismatchReplicasDataSources, ErrStorageDoesntSupportParallelReplicas, ErrCPUIDError, ErrInfiniteLoop, ErrCannotCompress, ErrCannotDecompress, ErrCannotIOSubmit, ErrCannotIOGetevents, ErrAioReadError, ErrAioWriteError, ErrIndexNotUsed, ErrLeadershipLost, ErrAllConnectionTriesFailed, ErrNoAvailableData, ErrDictionaryIsEmpty, ErrIncorrectIndex, ErrUnknownDistributedProductMode, ErrWrongGlobalSubquery, ErrTooFewLiveReplicas, ErrUnsatisfiedQuorumForPreviousWrite, ErrUnknownFormatVersion, ErrDistributedInJoinSubqueryDenied, ErrReplicaIsNotInQuorum, ErrLimitExceeded, ErrDatabaseAccessDenied, ErrLeadershipChanged, ErrMongodbCannotAuthenticate, ErrCannotWriteToFile, ErrReceivedEmptyData, ErrNoRemoteShardFound, ErrShardHasNoConnections, ErrCannotPipe, ErrCannotFork, ErrCannotDlsym, ErrCannotCreateChildProcess, ErrChildWasNotExitedNormally, ErrCannotSelect, ErrCannotWaitpid, ErrTableWasNotDropped, ErrTooDeepRecursion, ErrTooManyBytes, ErrUnexpectedNodeInZookeeper, ErrFunctionCannotHaveParameters, ErrInvalidShardWeight, ErrInvalidConfigParameter, ErrUnknownStatusOfInsert, ErrValueIsOutOfRangeOfDataType, ErrBarrierTimeout, ErrUnknownDatabaseEngine, ErrDdlGuardIsActive, ErrUnfinished, ErrMetadataMismatch, ErrSupportIsDisabled, ErrTableDiffersTooMuch, ErrCannotConvertCharset, ErrCannotLoadConfig, ErrCannotInsertNullInOrdinaryColumn, ErrIncompatibleSourceTables, ErrAmbiguousTableName, ErrAmbiguousColumnName, ErrIndexOfPositionalArgumentIsOutOfRange, ErrZlibInflateFailed, ErrZlibDeflateFailed, ErrBadLambda, ErrReservedIdentifierName, ErrIntoOutfileNotAllowed, ErrTableSizeExceedsMaxDropSizeLimit, ErrCannotCreateCharsetConverter, ErrSeekPositionOutOfBound, ErrCurrentWriteBufferIsExhausted, ErrCannotCreateIoBuffer, ErrReceivedErrorTooManyRequests, ErrOutputIsNotSorted, ErrSizesOfNestedColumnsAreInconsistent, ErrTooManyFetches, ErrBadCast, ErrAllReplicasAreStale, ErrDataTypeCannotBeUsedInTables, ErrInconsistentClusterDefinition, ErrSessionNotFound, ErrSessionIsLocked, ErrInvalidSessionTimeout, ErrCannotDlopen, ErrCannotParseUUID, ErrIllegalSyntaxForDataType, ErrDataTypeCannotHaveArguments, ErrUnknownStatusOfDistributedDdlTask, ErrCannotKill, ErrHTTPLengthRequired, ErrCannotLoadCatboostModel, ErrCannotApplyCatboostModel, ErrPartIsTemporarilyLocked, ErrMultipleStreamsRequired, ErrNoCommonType, ErrExternalLoadableAlreadyExists, ErrCannotAssignOptimize, ErrInsertWasDeduplicated, ErrCannotGetCreateTableQuery, ErrExternalLibraryError, ErrQueryIsProhibited, ErrThereIsNoQuery, ErrQueryWasCancelled, ErrFunctionThrowIfValueIsNonZero, ErrTooManyRowsOrBytes, ErrQueryIsNotSupportedInMaterializedView, ErrUnknownMutationCommand, ErrFormatIsNotSuitableForOutput, ErrCannotStat, ErrFeatureIsNotEnabledAtBuildTime, ErrCannotIosetup, ErrInvalidJoinOnExpression, ErrBadOdbcConnectionString, ErrTopAndLimitTogether, ErrDecimalOverflow, ErrBadRequestParameter, ErrExternalServerIsNotResponding, ErrPthreadError, ErrNetlinkError, ErrCannotSetSignalHandler, ErrAllReplicasLost, ErrReplicaStatusChanged, ErrExpectedAllOrAny, ErrUnknownJoin, ErrMultipleAssignmentsToColumn, ErrCannotUpdateColumn, ErrCannotAddDifferentAggregateStates, ErrUnsupportedURIScheme, ErrCannotGettimeofday, ErrCannotLink, ErrSystemError, ErrCannotCompileRegexp, ErrFailedToGetpwuid, ErrMismatchingUsersForProcessAndData, ErrIllegalSyntaxForCodecType, ErrUnknownCodec, ErrIllegalCodecParameter, ErrCannotParseProtobufSchema, ErrNoColumnSerializedToRequiredProtobufField, ErrProtobufBadCast, ErrProtobufFieldNotRepeated, ErrDataTypeCannotBePromoted, ErrCannotScheduleTask, ErrInvalidLimitExpression, ErrCannotParseDomainValueFromString, ErrBadDatabaseForTemporaryTable, ErrNoColumnsSerializedToProtobufFields, ErrUnknownProtobufFormat, ErrCannotMprotect, ErrFunctionNotAllowed, ErrHyperscanCannotScanText, ErrBrotliReadFailed, ErrBrotliWriteFailed, ErrBadTTLExpression, ErrBadTTLFile, ErrSettingConstraintViolation, ErrMysqlClientInsufficientCapabilities, ErrOpensslError, ErrSuspiciousTypeForLowCardinality, ErrUnknownQueryParameter, ErrBadQueryParameter, ErrCannotUnlink, ErrCannotSetThreadPriority, ErrCannotCreateTimer, ErrCannotSetTimerPeriod, ErrCannotFcntl, ErrCannotParseElf, ErrCannotParseDwarf, ErrInsecurePath, ErrCannotParseBool, ErrCannotPthreadAttr, ErrViolatedConstraint, ErrInvalidSettingValue, ErrReadonlySetting, ErrDeadlockAvoided, ErrInvalidTemplateFormat, ErrInvalidWithFillExpression, ErrWithTiesWithoutOrderBy, ErrInvalidUsageOfInput, ErrUnknownPolicy, ErrUnknownDisk, ErrUnknownProtocol, ErrPathAccessDenied, ErrDictionaryAccessDenied, ErrTooManyRedirects, ErrInternalRedisError, ErrCannotGetCreateDictionaryQuery, ErrIncorrectDictionaryDefinition, ErrCannotFormatDatetime, ErrUnacceptableURL, ErrAccessEntityNotFound, ErrAccessEntityAlreadyExists, ErrAccessStorageReadonly, ErrQuotaRequiresClientKey, ErrAccessDenied, ErrLimitByWithTiesIsNotSupported, ErrS3Error, ErrAzureBlobStorageError, ErrCannotCreateDatabase, ErrCannotSigqueue, ErrAggregateFunctionThrow, ErrFileAlreadyExists, ErrUnableToSkipUnusedShards, ErrUnknownAccessType, ErrInvalidGrant, ErrCacheDictionaryUpdateFail, ErrUnknownRole, ErrSetNonGrantedRole, ErrUnknownPartType, ErrAccessStorageForInsertionNotFound, ErrIncorrectAccessEntityDefinition, ErrAuthenticationFailed, ErrCannotAssignAlter, ErrCannotCommitOffset, ErrNoRemoteShardAvailable, ErrCannotDetachDictionaryAsTable, ErrAtomicRenameFail, ErrUnknownRowPolicy, ErrAlterOfColumnIsForbidden, ErrIncorrectDiskIndex, ErrNoSuitableFunctionImplementation, ErrCassandraInternalError, ErrNotALeader, ErrCannotConnectRabbitmq, ErrCannotFstat, ErrLdapError, ErrUnknownRaidType, ErrCannotRestoreFromFieldDump, ErrIllegalMysqlVariable, ErrMysqlSyntaxError, ErrCannotBindRabbitmqExchange, ErrCannotDeclareRabbitmqExchange, ErrCannotCreateRabbitmqQueueBinding, ErrCannotRemoveRabbitmqExchange, ErrUnknownMysqlDatatypesSupportLevel, ErrRowAndRowsTogether, ErrFirstAndNextTogether, ErrNoRowDelimiter, ErrInvalidRaidType, ErrUnknownVolume, ErrDataTypeCannotBeUsedInKey, ErrUnrecognizedArguments, ErrLzmaStreamEncoderFailed, ErrLzmaStreamDecoderFailed, ErrRocksdbError, ErrSyncMysqlUserAccessError, ErrUnknownUnion, ErrExpectedAllOrDistinct, ErrInvalidGrpcQueryInfo, ErrZstdEncoderFailed, ErrZstdDecoderFailed, ErrTldListNotFound, ErrCannotReadMapFromText, ErrInterserverSchemeDoesntMatch, ErrTooManyPartitions, ErrCannotRmdir, ErrDuplicatedPartUuids, ErrRaftError, ErrMultipleColumnsSerializedToSameProtobufField, ErrDataTypeIncompatibleWithProtobufField, ErrDatabaseReplicationFailed, ErrTooManyQueryPlanOptimizations, ErrEpollError, ErrDistributedTooManyPendingBytes, ErrUnknownSnapshot, ErrKerberosError, ErrInvalidShardID, ErrInvalidFormatInsertQueryWithData, ErrIncorrectPartType, ErrCannotSetRoundingMode, ErrTooLargeDistributedDepth, ErrNoSuchProjectionInTable, ErrIllegalProjection, ErrProjectionNotUsed, ErrCannotParseYaml, ErrCannotCreateFile, ErrConcurrentAccessNotSupported, ErrDistributedBrokenBatchInfo, ErrDistributedBrokenBatchFiles, ErrCannotSysconf, ErrSqliteEngineError, ErrDataEncryptionError, ErrZeroCopyReplicationError, ErrBzip2StreamDecoderFailed, ErrBzip2StreamEncoderFailed, ErrIntersectOrExceptResultStructuresMismatch, ErrNoSuchErrorCode, ErrBackupAlreadyExists, ErrBackupNotFound, ErrBackupVersionNotSupported, ErrBackupDamaged, ErrNoBaseBackup, ErrWrongBaseBackup, ErrBackupEntryAlreadyExists, ErrBackupEntryNotFound, ErrBackupIsEmpty, ErrCannotRestoreDatabase, ErrCannotRestoreTable, ErrFunctionAlreadyExists, ErrCannotDropFunction, ErrCannotCreateRecursiveFunction, ErrPostgresqlConnectionFailure, ErrCannotAdvise, ErrUnknownReadMethod, ErrLz4EncoderFailed, ErrLz4DecoderFailed, ErrPostgresqlReplicationInternalError, ErrQueryNotAllowed, ErrCannotNormalizeString, ErrCannotParseCapnProtoSchema, ErrCapnProtoBadCast, ErrBadFileType, ErrIOSetupError, ErrCannotSkipUnknownField, ErrBackupEngineNotFound, ErrOffsetFetchWithoutOrderBy, ErrHTTPRangeNotSatisfiable, ErrHaveDependentObjects, ErrUnknownFileSize, ErrUnexpectedDataAfterParsedValue, ErrQueryIsNotSupportedInWindowView, ErrMongodbError, ErrCannotPoll, ErrCannotExtractTableStructure, ErrInvalidTableOverride, ErrSnappyUncompressFailed, ErrSnappyCompressFailed, ErrNoHivemetastore, ErrCannotAppendToFile, ErrCannotPackArchive, ErrCannotUnpackArchive, ErrNumberOfDimensionsMismatched, ErrCannotBackupTable, ErrWrongDdlRenamingSettings, ErrInvalidTransaction, ErrSerializationError, ErrCapnProtoBadType, ErrOnlyNullsWhileReadingSchema, ErrCannotParseBackupSettings, ErrWrongBackupSettings, ErrFailedToSyncBackupOrRestore, ErrUnknownStatusOfTransaction, ErrHdfsError, ErrCannotSendSignal, ErrFsMetadataError, ErrInconsistentMetadataForBackup, ErrAccessStorageDoesntAllowBackup, ErrCannotConnectNats, ErrNotInitialized, ErrInvalidState, ErrNamedCollectionDoesntExist, ErrNamedCollectionAlreadyExists, ErrNamedCollectionIsImmutable, ErrInvalidSchedulerNode, ErrResourceAccessDenied, ErrResourceNotFound, ErrCannotParseIpv4, ErrCannotParseIpv6, ErrThreadWasCanceled, ErrIOUringInitFailed, ErrIOUringSubmitError, ErrMixedAccessParameterTypes, ErrUnknownElementOfEnum, ErrTooManyMutations, ErrAwsError, ErrAsyncLoadCycle, ErrAsyncLoadFailed, ErrAsyncLoadCanceled, ErrCannotRestoreToNonencryptedDisk, ErrInvalidRedisStorageType, ErrInvalidRedisTableStructure, ErrUserSessionLimitExceeded, ErrClusterDoesntExist, ErrClientInfoDoesNotMatch, ErrInvalidIdentifier, ErrQueryCacheUsedWithNondeterministicFunctions, ErrTableNotEmpty, ErrLibsshError, ErrGcpError, ErrIllegalStatistics, ErrCannotGetReplicatedDatabaseSnapshot, ErrFaultInjected, ErrFilecacheAccessDenied, ErrTooManyMaterializedViews, ErrBrokenProjection, ErrUnexpectedCluster, ErrCannotDetectFormat, ErrCannotForgetPartition, ErrExperimentalFeatureError, ErrTooSlowParsing, ErrQueryCacheUsedWithSystemTable, ErrUserExpired, ErrDeprecatedFunction, ErrAsyncLoadWaitFailed, ErrParquetException, ErrTooManyTables, ErrTooManyDatabases, ErrUnexpectedHTTPHeaders, ErrUnexpectedTableEngine, ErrUnexpectedDataType, ErrIllegalTimeSeriesTags, ErrRefreshFailed, ErrQueryCacheUsedWithNonThrowOverflowMode, ErrTableIsBeingRestarted, ErrCannotWriteAfterBufferCanceled, ErrQueryWasCancelledByClient, ErrDatalakeDatabaseError, ErrGoogleCloudError, ErrPartIsLocked, ErrBuzzhouse, ErrPotentiallyBrokenDataPart, ErrTableUUIDMismatch, ErrDeltaKernelError, ErrIcebergSpecificationViolation, ErrSessionIDEmpty, ErrServerOverloaded, ErrDependenciesNotFound, ErrFilecacheCannotWriteThroughCacheWithConcurrentReads, ErrDistributedCacheError, ErrCannotUseDistributedCache, ErrProtocolVersionMismatch, ErrLicenseExpired, ErrKeeperException, ErrPocoException, ErrStdException, ErrUnknownException, ErrSSHException, ErrStartupScriptsError, ErrConditionalTreeParentNotFound, ErrIllegalProjectionManipulator} var _ErrorNameToValueMap = map[string]Error{ - _ErrorName[0:18]: ErrUnsupportedMethod, - _ErrorLowerName[0:18]: ErrUnsupportedMethod, - _ErrorName[18:39]: ErrUnsupportedParameter, - _ErrorLowerName[18:39]: ErrUnsupportedParameter, - _ErrorName[39:61]: ErrUnexpectedEndOfFile, - _ErrorLowerName[39:61]: ErrUnexpectedEndOfFile, - _ErrorName[61:81]: ErrExpectedEndOfFile, - _ErrorLowerName[61:81]: ErrExpectedEndOfFile, - _ErrorName[81:98]: ErrCannotParseText, - _ErrorLowerName[81:98]: ErrCannotParseText, - _ErrorName[98:125]: ErrIncorrectNumberOfColumns, - _ErrorLowerName[98:125]: ErrIncorrectNumberOfColumns, - _ErrorName[125:143]: ErrThereIsNoColumn, - _ErrorLowerName[125:143]: ErrThereIsNoColumn, - _ErrorName[143:172]: ErrSizesOfColumnsDoesntMatch, - _ErrorLowerName[143:172]: ErrSizesOfColumnsDoesntMatch, - _ErrorName[172:197]: ErrNotFoundColumnInBlock, - _ErrorLowerName[172:197]: ErrNotFoundColumnInBlock, - _ErrorName[197:218]: ErrPositionOutOfBound, - _ErrorLowerName[197:218]: ErrPositionOutOfBound, - _ErrorName[218:240]: ErrParameterOutOfBound, - _ErrorLowerName[218:240]: ErrParameterOutOfBound, - _ErrorName[240:278]: ErrSizesOfColumnsInTupleDoesntMatch, - _ErrorLowerName[240:278]: ErrSizesOfColumnsInTupleDoesntMatch, - _ErrorName[278:294]: ErrDuplicateColumn, - _ErrorLowerName[278:294]: ErrDuplicateColumn, - _ErrorName[294:317]: ErrNoSuchColumnInTable, - _ErrorLowerName[294:317]: ErrNoSuchColumnInTable, - _ErrorName[317:357]: ErrDelimiterInStringLiteralDoesntMatch, - _ErrorLowerName[317:357]: ErrDelimiterInStringLiteralDoesntMatch, - _ErrorName[357:399]: ErrCannotInsertElementIntoConstantColumn, - _ErrorLowerName[357:399]: ErrCannotInsertElementIntoConstantColumn, - _ErrorName[399:432]: ErrSizeOfFixedStringDoesntMatch, - _ErrorLowerName[399:432]: ErrSizeOfFixedStringDoesntMatch, - _ErrorName[432:462]: ErrNumberOfColumnsDoesntMatch, - _ErrorLowerName[432:462]: ErrNumberOfColumnsDoesntMatch, - _ErrorName[462:507]: ErrCannotReadAllDataFromTabSeparatedInput, - _ErrorLowerName[462:507]: ErrCannotReadAllDataFromTabSeparatedInput, - _ErrorName[507:554]: ErrCannotParseAllValueFromTabSeparatedInput, - _ErrorLowerName[507:554]: ErrCannotParseAllValueFromTabSeparatedInput, - _ErrorName[554:578]: ErrCannotReadFromIstream, - _ErrorLowerName[554:578]: ErrCannotReadFromIstream, - _ErrorName[578:601]: ErrCannotWriteToOstream, - _ErrorLowerName[578:601]: ErrCannotWriteToOstream, - _ErrorName[601:629]: ErrCannotParseEscapeSequence, - _ErrorLowerName[601:629]: ErrCannotParseEscapeSequence, - _ErrorName[629:655]: ErrCannotParseQuotedString, - _ErrorLowerName[629:655]: ErrCannotParseQuotedString, - _ErrorName[655:690]: ErrCannotParseInputAssertionFailed, - _ErrorLowerName[655:690]: ErrCannotParseInputAssertionFailed, - _ErrorName[690:725]: ErrCannotPrintFloatOrDoubleNumber, - _ErrorLowerName[690:725]: ErrCannotPrintFloatOrDoubleNumber, - _ErrorName[725:745]: ErrCannotPrintInteger, - _ErrorLowerName[725:745]: ErrCannotPrintInteger, - _ErrorName[745:781]: ErrCannotReadSizeOfCompressedChunk, - _ErrorLowerName[745:781]: ErrCannotReadSizeOfCompressedChunk, - _ErrorName[781:809]: ErrCannotReadCompressedChunk, - _ErrorLowerName[781:809]: ErrCannotReadCompressedChunk, - _ErrorName[809:834]: ErrAttemptToReadAfterEOF, - _ErrorLowerName[809:834]: ErrAttemptToReadAfterEOF, - _ErrorName[834:854]: ErrCannotReadAllData, - _ErrorLowerName[834:854]: ErrCannotReadAllData, - _ErrorName[854:885]: ErrTooManyArgumentsForFunction, - _ErrorLowerName[854:885]: ErrTooManyArgumentsForFunction, - _ErrorName[885:916]: ErrTooLessArgumentsForFunction, - _ErrorLowerName[885:916]: ErrTooLessArgumentsForFunction, - _ErrorName[916:929]: ErrBadArguments, - _ErrorLowerName[916:929]: ErrBadArguments, - _ErrorName[929:951]: ErrUnknownElementInAst, - _ErrorLowerName[929:951]: ErrUnknownElementInAst, - _ErrorName[951:968]: ErrCannotParseDate, - _ErrorLowerName[951:968]: ErrCannotParseDate, - _ErrorName[968:993]: ErrTooLargeSizeCompressed, - _ErrorLowerName[968:993]: ErrTooLargeSizeCompressed, - _ErrorName[993:1014]: ErrChecksumDoesntMatch, - _ErrorLowerName[993:1014]: ErrChecksumDoesntMatch, - _ErrorName[1014:1035]: ErrCannotParseDatetime, - _ErrorLowerName[1014:1035]: ErrCannotParseDatetime, - _ErrorName[1035:1067]: ErrNumberOfArgumentsDoesntMatch, - _ErrorLowerName[1035:1067]: ErrNumberOfArgumentsDoesntMatch, - _ErrorName[1067:1091]: ErrIllegalTypeOfArgument, - _ErrorLowerName[1067:1091]: ErrIllegalTypeOfArgument, - _ErrorName[1091:1105]: ErrIllegalColumn, - _ErrorLowerName[1091:1105]: ErrIllegalColumn, - _ErrorName[1105:1137]: ErrIllegalNumberOfResultColumns, - _ErrorLowerName[1105:1137]: ErrIllegalNumberOfResultColumns, - _ErrorName[1137:1153]: ErrUnknownFunction, - _ErrorLowerName[1137:1153]: ErrUnknownFunction, - _ErrorName[1153:1171]: ErrUnknownIdentifier, - _ErrorLowerName[1153:1171]: ErrUnknownIdentifier, - _ErrorName[1171:1186]: ErrNotImplemented, - _ErrorLowerName[1171:1186]: ErrNotImplemented, - _ErrorName[1186:1199]: ErrLogicalError, - _ErrorLowerName[1186:1199]: ErrLogicalError, - _ErrorName[1199:1211]: ErrUnknownType, - _ErrorLowerName[1199:1211]: ErrUnknownType, - _ErrorName[1211:1240]: ErrEmptyListOfColumnsQueried, - _ErrorLowerName[1211:1240]: ErrEmptyListOfColumnsQueried, - _ErrorName[1240:1269]: ErrColumnQueriedMoreThanOnce, - _ErrorLowerName[1240:1269]: ErrColumnQueriedMoreThanOnce, - _ErrorName[1269:1282]: ErrTypeMismatch, - _ErrorLowerName[1269:1282]: ErrTypeMismatch, - _ErrorName[1282:1313]: ErrStorageDoesntAllowParameters, - _ErrorLowerName[1282:1313]: ErrStorageDoesntAllowParameters, - _ErrorName[1313:1339]: ErrStorageRequiresParameter, - _ErrorLowerName[1313:1339]: ErrStorageRequiresParameter, - _ErrorName[1339:1354]: ErrUnknownStorage, - _ErrorLowerName[1339:1354]: ErrUnknownStorage, - _ErrorName[1354:1374]: ErrTableAlreadyExists, - _ErrorLowerName[1354:1374]: ErrTableAlreadyExists, - _ErrorName[1374:1403]: ErrTableMetadataAlreadyExists, - _ErrorLowerName[1374:1403]: ErrTableMetadataAlreadyExists, - _ErrorName[1403:1436]: ErrIllegalTypeOfColumnForFilter, - _ErrorLowerName[1403:1436]: ErrIllegalTypeOfColumnForFilter, - _ErrorName[1436:1449]: ErrUnknownTable, - _ErrorLowerName[1436:1449]: ErrUnknownTable, - _ErrorName[1449:1476]: ErrOnlyFilterColumnInBlock, - _ErrorLowerName[1449:1476]: ErrOnlyFilterColumnInBlock, - _ErrorName[1476:1488]: ErrSyntaxError, - _ErrorLowerName[1476:1488]: ErrSyntaxError, - _ErrorName[1488:1514]: ErrUnknownAggregateFunction, - _ErrorLowerName[1488:1514]: ErrUnknownAggregateFunction, - _ErrorName[1514:1554]: ErrCannotReadAggregateFunctionFromText, - _ErrorLowerName[1514:1554]: ErrCannotReadAggregateFunctionFromText, - _ErrorName[1554:1593]: ErrCannotWriteAggregateFunctionAsText, - _ErrorLowerName[1554:1593]: ErrCannotWriteAggregateFunctionAsText, - _ErrorName[1593:1605]: ErrNotAColumn, - _ErrorLowerName[1593:1605]: ErrNotAColumn, - _ErrorName[1605:1631]: ErrIllegalKeyOfAggregation, - _ErrorLowerName[1605:1631]: ErrIllegalKeyOfAggregation, - _ErrorName[1631:1655]: ErrCannotGetSizeOfField, - _ErrorLowerName[1631:1655]: ErrCannotGetSizeOfField, - _ErrorName[1655:1676]: ErrArgumentOutOfBound, - _ErrorLowerName[1655:1676]: ErrArgumentOutOfBound, - _ErrorName[1676:1695]: ErrCannotConvertType, - _ErrorLowerName[1676:1695]: ErrCannotConvertType, - _ErrorName[1695:1727]: ErrCannotWriteAfterEndOfBuffer, - _ErrorLowerName[1695:1727]: ErrCannotWriteAfterEndOfBuffer, - _ErrorName[1727:1746]: ErrCannotParseNumber, - _ErrorLowerName[1727:1746]: ErrCannotParseNumber, - _ErrorName[1746:1760]: ErrUnknownFormat, - _ErrorLowerName[1746:1760]: ErrUnknownFormat, - _ErrorName[1760:1792]: ErrCannotReadFromFileDescriptor, - _ErrorLowerName[1760:1792]: ErrCannotReadFromFileDescriptor, - _ErrorName[1792:1823]: ErrCannotWriteToFileDescriptor, - _ErrorLowerName[1792:1823]: ErrCannotWriteToFileDescriptor, - _ErrorName[1823:1839]: ErrCannotOpenFile, - _ErrorLowerName[1823:1839]: ErrCannotOpenFile, - _ErrorName[1839:1856]: ErrCannotCloseFile, - _ErrorLowerName[1839:1856]: ErrCannotCloseFile, - _ErrorName[1856:1877]: ErrUnknownTypeOfQuery, - _ErrorLowerName[1856:1877]: ErrUnknownTypeOfQuery, - _ErrorName[1877:1896]: ErrIncorrectFileName, - _ErrorLowerName[1877:1896]: ErrIncorrectFileName, - _ErrorName[1896:1911]: ErrIncorrectQuery, - _ErrorLowerName[1896:1911]: ErrIncorrectQuery, - _ErrorName[1911:1927]: ErrUnknownDatabase, - _ErrorLowerName[1911:1927]: ErrUnknownDatabase, - _ErrorName[1927:1950]: ErrDatabaseAlreadyExists, - _ErrorLowerName[1927:1950]: ErrDatabaseAlreadyExists, - _ErrorName[1950:1972]: ErrDirectoryDoesntExist, - _ErrorLowerName[1950:1972]: ErrDirectoryDoesntExist, - _ErrorName[1972:1996]: ErrDirectoryAlreadyExists, - _ErrorLowerName[1972:1996]: ErrDirectoryAlreadyExists, - _ErrorName[1996:2028]: ErrFormatIsNotSuitableForInput, - _ErrorLowerName[1996:2028]: ErrFormatIsNotSuitableForInput, - _ErrorName[2028:2064]: ErrReceivedErrorFromRemoteIoServer, - _ErrorLowerName[2028:2064]: ErrReceivedErrorFromRemoteIoServer, - _ErrorName[2064:2088]: ErrCannotSeekThroughFile, - _ErrorLowerName[2064:2088]: ErrCannotSeekThroughFile, - _ErrorName[2088:2108]: ErrCannotTruncateFile, - _ErrorLowerName[2088:2108]: ErrCannotTruncateFile, - _ErrorName[2108:2134]: ErrUnknownCompressionMethod, - _ErrorLowerName[2108:2134]: ErrUnknownCompressionMethod, - _ErrorName[2134:2162]: ErrEmptyListOfColumnsPassed, - _ErrorLowerName[2134:2162]: ErrEmptyListOfColumnsPassed, - _ErrorName[2162:2199]: ErrSizesOfMarksFilesAreInconsistent, - _ErrorLowerName[2162:2199]: ErrSizesOfMarksFilesAreInconsistent, - _ErrorName[2199:2216]: ErrEmptyDataPassed, - _ErrorLowerName[2199:2216]: ErrEmptyDataPassed, - _ErrorName[2216:2247]: ErrUnknownAggregatedDataVariant, - _ErrorLowerName[2216:2247]: ErrUnknownAggregatedDataVariant, - _ErrorName[2247:2294]: ErrCannotMergeDifferentAggregatedDataVariants, - _ErrorLowerName[2247:2294]: ErrCannotMergeDifferentAggregatedDataVariants, - _ErrorName[2294:2317]: ErrCannotReadFromSocket, - _ErrorLowerName[2294:2317]: ErrCannotReadFromSocket, - _ErrorName[2317:2339]: ErrCannotWriteToSocket, - _ErrorLowerName[2317:2339]: ErrCannotWriteToSocket, - _ErrorName[2339:2378]: ErrCannotReadAllDataFromChunkedInput, - _ErrorLowerName[2339:2378]: ErrCannotReadAllDataFromChunkedInput, - _ErrorName[2378:2419]: ErrCannotWriteToEmptyBlockOutputStream, - _ErrorLowerName[2378:2419]: ErrCannotWriteToEmptyBlockOutputStream, - _ErrorName[2419:2445]: ErrUnknownPacketFromClient, - _ErrorLowerName[2419:2445]: ErrUnknownPacketFromClient, - _ErrorName[2445:2471]: ErrUnknownPacketFromServer, - _ErrorLowerName[2445:2471]: ErrUnknownPacketFromServer, - _ErrorName[2471:2500]: ErrUnexpectedPacketFromClient, - _ErrorLowerName[2471:2500]: ErrUnexpectedPacketFromClient, - _ErrorName[2500:2529]: ErrUnexpectedPacketFromServer, - _ErrorLowerName[2500:2529]: ErrUnexpectedPacketFromServer, - _ErrorName[2529:2561]: ErrReceivedDataForWrongQueryID, - _ErrorLowerName[2529:2561]: ErrReceivedDataForWrongQueryID, - _ErrorName[2561:2582]: ErrTooSmallBufferSize, - _ErrorLowerName[2561:2582]: ErrTooSmallBufferSize, - _ErrorName[2582:2601]: ErrCannotReadHistory, - _ErrorLowerName[2582:2601]: ErrCannotReadHistory, - _ErrorName[2601:2622]: ErrCannotAppendHistory, - _ErrorLowerName[2601:2622]: ErrCannotAppendHistory, - _ErrorName[2622:2639]: ErrFileDoesntExist, - _ErrorLowerName[2622:2639]: ErrFileDoesntExist, - _ErrorName[2639:2656]: ErrNoDataToInsert, - _ErrorLowerName[2639:2656]: ErrNoDataToInsert, - _ErrorName[2656:2675]: ErrCannotBlockSignal, - _ErrorLowerName[2656:2675]: ErrCannotBlockSignal, - _ErrorName[2675:2696]: ErrCannotUnblockSignal, - _ErrorLowerName[2675:2696]: ErrCannotUnblockSignal, - _ErrorName[2696:2720]: ErrCannotManipulateSigset, - _ErrorLowerName[2696:2720]: ErrCannotManipulateSigset, - _ErrorName[2720:2742]: ErrCannotWaitForSignal, - _ErrorLowerName[2720:2742]: ErrCannotWaitForSignal, - _ErrorName[2742:2761]: ErrThereIsNoSession, - _ErrorLowerName[2742:2761]: ErrThereIsNoSession, - _ErrorName[2761:2781]: ErrCannotClockGettime, - _ErrorLowerName[2761:2781]: ErrCannotClockGettime, - _ErrorName[2781:2796]: ErrUnknownSetting, - _ErrorLowerName[2781:2796]: ErrUnknownSetting, - _ErrorName[2796:2821]: ErrThereIsNoDefaultValue, - _ErrorLowerName[2796:2821]: ErrThereIsNoDefaultValue, - _ErrorName[2821:2835]: ErrIncorrectData, - _ErrorLowerName[2821:2835]: ErrIncorrectData, - _ErrorName[2835:2850]: ErrEngineRequired, - _ErrorLowerName[2835:2850]: ErrEngineRequired, - _ErrorName[2850:2898]: ErrCannotInsertValueOfDifferentSizeIntoTuple, - _ErrorLowerName[2850:2898]: ErrCannotInsertValueOfDifferentSizeIntoTuple, - _ErrorName[2898:2922]: ErrUnknownSetDataVariant, - _ErrorLowerName[2898:2922]: ErrUnknownSetDataVariant, - _ErrorName[2922:2942]: ErrIncompatibleColumns, - _ErrorLowerName[2922:2942]: ErrIncompatibleColumns, - _ErrorName[2942:2966]: ErrUnknownTypeOfAstNode, - _ErrorLowerName[2942:2966]: ErrUnknownTypeOfAstNode, - _ErrorName[2966:2990]: ErrIncorrectElementOfSet, - _ErrorLowerName[2966:2990]: ErrIncorrectElementOfSet, - _ErrorName[2990:3025]: ErrIncorrectResultOfScalarSubquery, - _ErrorLowerName[2990:3025]: ErrIncorrectResultOfScalarSubquery, - _ErrorName[3025:3047]: ErrCannotGetReturnType, - _ErrorLowerName[3025:3047]: ErrCannotGetReturnType, - _ErrorName[3047:3060]: ErrIllegalIndex, - _ErrorLowerName[3047:3060]: ErrIllegalIndex, - _ErrorName[3060:3080]: ErrTooLargeArraySize, - _ErrorLowerName[3060:3080]: ErrTooLargeArraySize, - _ErrorName[3080:3099]: ErrFunctionIsSpecial, - _ErrorLowerName[3080:3099]: ErrFunctionIsSpecial, - _ErrorName[3099:3126]: ErrCannotReadArrayFromText, - _ErrorLowerName[3099:3126]: ErrCannotReadArrayFromText, - _ErrorName[3126:3147]: ErrTooLargeStringSize, - _ErrorLowerName[3126:3147]: ErrTooLargeStringSize, - _ErrorName[3147:3180]: ErrCannotCreateTableFromMetadata, - _ErrorLowerName[3147:3180]: ErrCannotCreateTableFromMetadata, - _ErrorName[3180:3222]: ErrAggregateFunctionDoesntAllowParameters, - _ErrorLowerName[3180:3222]: ErrAggregateFunctionDoesntAllowParameters, - _ErrorName[3222:3272]: ErrParametersToAggregateFunctionsMustBeLiterals, - _ErrorLowerName[3222:3272]: ErrParametersToAggregateFunctionsMustBeLiterals, - _ErrorName[3272:3297]: ErrZeroArrayOrTupleIndex, - _ErrorLowerName[3272:3297]: ErrZeroArrayOrTupleIndex, - _ErrorName[3297:3322]: ErrUnknownElementInConfig, - _ErrorLowerName[3297:3322]: ErrUnknownElementInConfig, - _ErrorName[3322:3349]: ErrExcessiveElementInConfig, - _ErrorLowerName[3322:3349]: ErrExcessiveElementInConfig, - _ErrorName[3349:3370]: ErrNoElementsInConfig, - _ErrorLowerName[3349:3370]: ErrNoElementsInConfig, - _ErrorName[3370:3403]: ErrAllRequestedColumnsAreMissing, - _ErrorLowerName[3370:3403]: ErrAllRequestedColumnsAreMissing, - _ErrorName[3403:3425]: ErrSamplingNotSupported, - _ErrorLowerName[3403:3425]: ErrSamplingNotSupported, - _ErrorName[3425:3439]: ErrNotFoundNode, - _ErrorLowerName[3425:3439]: ErrNotFoundNode, - _ErrorName[3439:3463]: ErrFoundMoreThanOneNode, - _ErrorLowerName[3439:3463]: ErrFoundMoreThanOneNode, - _ErrorName[3463:3498]: ErrFirstDateIsBiggerThanLastDate, - _ErrorLowerName[3463:3498]: ErrFirstDateIsBiggerThanLastDate, - _ErrorName[3498:3519]: ErrUnknownOverflowMode, - _ErrorLowerName[3498:3519]: ErrUnknownOverflowMode, - _ErrorName[3519:3550]: ErrQuerySectionDoesntMakeSense, - _ErrorLowerName[3519:3550]: ErrQuerySectionDoesntMakeSense, - _ErrorName[3550:3590]: ErrNotFoundFunctionElementForAggregate, - _ErrorLowerName[3550:3590]: ErrNotFoundFunctionElementForAggregate, - _ErrorName[3590:3630]: ErrNotFoundRelationElementForCondition, - _ErrorLowerName[3590:3630]: ErrNotFoundRelationElementForCondition, - _ErrorName[3630:3665]: ErrNotFoundRHSElementForCondition, - _ErrorLowerName[3630:3665]: ErrNotFoundRHSElementForCondition, - _ErrorName[3665:3685]: ErrNoAttributesListed, - _ErrorLowerName[3665:3685]: ErrNoAttributesListed, - _ErrorName[3685:3731]: ErrIndexOfColumnInSortClauseIsOutOfRange, - _ErrorLowerName[3685:3731]: ErrIndexOfColumnInSortClauseIsOutOfRange, - _ErrorName[3731:3759]: ErrUnknownDirectionOfSorting, - _ErrorLowerName[3731:3759]: ErrUnknownDirectionOfSorting, - _ErrorName[3759:3775]: ErrIllegalDivision, - _ErrorLowerName[3759:3775]: ErrIllegalDivision, - _ErrorName[3775:3808]: ErrAggregateFunctionNotApplicable, - _ErrorLowerName[3775:3808]: ErrAggregateFunctionNotApplicable, - _ErrorName[3808:3824]: ErrUnknownRelation, - _ErrorLowerName[3808:3824]: ErrUnknownRelation, - _ErrorName[3824:3851]: ErrDictionariesWasNotLoaded, - _ErrorLowerName[3824:3851]: ErrDictionariesWasNotLoaded, - _ErrorName[3851:3872]: ErrIllegalOverflowMode, - _ErrorLowerName[3851:3872]: ErrIllegalOverflowMode, - _ErrorName[3872:3885]: ErrTooManyRows, - _ErrorLowerName[3872:3885]: ErrTooManyRows, - _ErrorName[3885:3901]: ErrTimeoutExceeded, - _ErrorLowerName[3885:3901]: ErrTimeoutExceeded, - _ErrorName[3901:3909]: ErrTooSlow, - _ErrorLowerName[3901:3909]: ErrTooSlow, - _ErrorName[3909:3925]: ErrTooManyColumns, - _ErrorLowerName[3909:3925]: ErrTooManyColumns, - _ErrorName[3925:3944]: ErrTooDeepSubqueries, - _ErrorLowerName[3925:3944]: ErrTooDeepSubqueries, - _ErrorName[3944:3961]: ErrTooDeepPipeline, - _ErrorLowerName[3944:3961]: ErrTooDeepPipeline, - _ErrorName[3961:3969]: ErrReadonly, - _ErrorLowerName[3961:3969]: ErrReadonly, - _ErrorName[3969:3995]: ErrTooManyTemporaryColumns, - _ErrorLowerName[3969:3995]: ErrTooManyTemporaryColumns, - _ErrorName[3995:4031]: ErrTooManyTemporaryNonConstColumns, - _ErrorLowerName[3995:4031]: ErrTooManyTemporaryNonConstColumns, - _ErrorName[4031:4043]: ErrTooDeepAst, - _ErrorLowerName[4031:4043]: ErrTooDeepAst, - _ErrorName[4043:4054]: ErrTooBigAst, - _ErrorLowerName[4043:4054]: ErrTooBigAst, - _ErrorName[4054:4071]: ErrBadTypeOfField, - _ErrorLowerName[4054:4071]: ErrBadTypeOfField, - _ErrorName[4071:4078]: ErrBadGet, - _ErrorLowerName[4071:4078]: ErrBadGet, - _ErrorName[4078:4109]: ErrBlocksHaveDifferentStructure, - _ErrorLowerName[4078:4109]: ErrBlocksHaveDifferentStructure, - _ErrorName[4109:4132]: ErrCannotCreateDirectory, - _ErrorLowerName[4109:4132]: ErrCannotCreateDirectory, - _ErrorName[4132:4154]: ErrCannotAllocateMemory, - _ErrorLowerName[4132:4154]: ErrCannotAllocateMemory, - _ErrorName[4154:4168]: ErrCyclicAliases, - _ErrorLowerName[4154:4168]: ErrCyclicAliases, - _ErrorName[4168:4183]: ErrChunkNotFound, - _ErrorLowerName[4168:4183]: ErrChunkNotFound, - _ErrorName[4183:4203]: ErrDuplicateChunkName, - _ErrorLowerName[4183:4203]: ErrDuplicateChunkName, - _ErrorName[4203:4234]: ErrMultipleAliasesForExpression, - _ErrorLowerName[4203:4234]: ErrMultipleAliasesForExpression, - _ErrorName[4234:4264]: ErrMultipleExpressionsForAlias, - _ErrorLowerName[4234:4264]: ErrMultipleExpressionsForAlias, - _ErrorName[4264:4283]: ErrThereIsNoProfile, - _ErrorLowerName[4264:4283]: ErrThereIsNoProfile, - _ErrorName[4283:4296]: ErrIllegalFinal, - _ErrorLowerName[4283:4296]: ErrIllegalFinal, - _ErrorName[4296:4312]: ErrIllegalPrewhere, - _ErrorLowerName[4296:4312]: ErrIllegalPrewhere, - _ErrorName[4312:4333]: ErrUnexpectedExpression, - _ErrorLowerName[4312:4333]: ErrUnexpectedExpression, - _ErrorName[4333:4352]: ErrIllegalAggregation, - _ErrorLowerName[4333:4352]: ErrIllegalAggregation, - _ErrorName[4352:4381]: ErrUnsupportedMyisamBlockType, - _ErrorLowerName[4352:4381]: ErrUnsupportedMyisamBlockType, - _ErrorName[4381:4409]: ErrUnsupportedCollationLocale, - _ErrorLowerName[4381:4409]: ErrUnsupportedCollationLocale, - _ErrorName[4409:4436]: ErrCollationComparisonFailed, - _ErrorLowerName[4409:4436]: ErrCollationComparisonFailed, - _ErrorName[4436:4450]: ErrUnknownAction, - _ErrorLowerName[4436:4450]: ErrUnknownAction, - _ErrorName[4450:4484]: ErrTableMustNotBeCreatedManually, - _ErrorLowerName[4450:4484]: ErrTableMustNotBeCreatedManually, - _ErrorName[4484:4512]: ErrSizesOfArraysDoesntMatch, - _ErrorLowerName[4484:4512]: ErrSizesOfArraysDoesntMatch, - _ErrorName[4512:4535]: ErrSetSizeLimitExceeded, - _ErrorLowerName[4512:4535]: ErrSetSizeLimitExceeded, - _ErrorName[4535:4547]: ErrUnknownUser, - _ErrorLowerName[4535:4547]: ErrUnknownUser, - _ErrorName[4547:4561]: ErrWrongPassword, - _ErrorLowerName[4547:4561]: ErrWrongPassword, - _ErrorName[4561:4578]: ErrRequiredPassword, - _ErrorLowerName[4561:4578]: ErrRequiredPassword, - _ErrorName[4578:4600]: ErrIPAddressNotAllowed, - _ErrorLowerName[4578:4600]: ErrIPAddressNotAllowed, - _ErrorName[4600:4628]: ErrUnknownAddressPatternType, - _ErrorLowerName[4600:4628]: ErrUnknownAddressPatternType, - _ErrorName[4628:4654]: ErrServerRevisionIsTooOld, - _ErrorLowerName[4628:4654]: ErrServerRevisionIsTooOld, - _ErrorName[4654:4663]: ErrDNSError, - _ErrorLowerName[4654:4663]: ErrDNSError, - _ErrorName[4663:4676]: ErrUnknownQuota, - _ErrorLowerName[4663:4676]: ErrUnknownQuota, - _ErrorName[4676:4699]: ErrQuotaDoesntAllowKeys, - _ErrorLowerName[4676:4699]: ErrQuotaDoesntAllowKeys, - _ErrorName[4699:4712]: ErrQuotaExpired, - _ErrorLowerName[4699:4712]: ErrQuotaExpired, - _ErrorName[4712:4741]: ErrTooManySimultaneousQueries, - _ErrorLowerName[4712:4741]: ErrTooManySimultaneousQueries, - _ErrorName[4741:4759]: ErrNoFreeConnection, - _ErrorLowerName[4741:4759]: ErrNoFreeConnection, - _ErrorName[4759:4771]: ErrCannotFsync, - _ErrorLowerName[4759:4771]: ErrCannotFsync, - _ErrorName[4771:4791]: ErrNestedTypeTooDeep, - _ErrorLowerName[4771:4791]: ErrNestedTypeTooDeep, - _ErrorName[4791:4805]: ErrAliasRequired, - _ErrorLowerName[4791:4805]: ErrAliasRequired, - _ErrorName[4805:4825]: ErrAmbiguousIdentifier, - _ErrorLowerName[4805:4825]: ErrAmbiguousIdentifier, - _ErrorName[4825:4843]: ErrEmptyNestedTable, - _ErrorLowerName[4825:4843]: ErrEmptyNestedTable, - _ErrorName[4843:4857]: ErrSocketTimeout, - _ErrorLowerName[4843:4857]: ErrSocketTimeout, - _ErrorName[4857:4870]: ErrNetworkError, - _ErrorLowerName[4857:4870]: ErrNetworkError, - _ErrorName[4870:4881]: ErrEmptyQuery, - _ErrorLowerName[4870:4881]: ErrEmptyQuery, - _ErrorName[4881:4903]: ErrUnknownLoadBalancing, - _ErrorLowerName[4881:4903]: ErrUnknownLoadBalancing, - _ErrorName[4903:4922]: ErrUnknownTotalsMode, - _ErrorLowerName[4903:4922]: ErrUnknownTotalsMode, - _ErrorName[4922:4936]: ErrCannotStatvfs, - _ErrorLowerName[4922:4936]: ErrCannotStatvfs, - _ErrorName[4936:4952]: ErrNotAnAggregate, - _ErrorLowerName[4936:4952]: ErrNotAnAggregate, - _ErrorName[4952:4989]: ErrQueryWithSameIDIsAlreadyRunning, - _ErrorLowerName[4952:4989]: ErrQueryWithSameIDIsAlreadyRunning, - _ErrorName[4989:5023]: ErrClientHasConnectedToWrongPort, - _ErrorLowerName[4989:5023]: ErrClientHasConnectedToWrongPort, - _ErrorName[5023:5039]: ErrTableIsDropped, - _ErrorLowerName[5023:5039]: ErrTableIsDropped, - _ErrorName[5039:5057]: ErrDatabaseNotEmpty, - _ErrorLowerName[5039:5057]: ErrDatabaseNotEmpty, - _ErrorName[5057:5090]: ErrDuplicateInterserverIoEndpoint, - _ErrorLowerName[5057:5090]: ErrDuplicateInterserverIoEndpoint, - _ErrorName[5090:5121]: ErrNoSuchInterserverIoEndpoint, - _ErrorLowerName[5090:5121]: ErrNoSuchInterserverIoEndpoint, - _ErrorName[5121:5154]: ErrAddingReplicaToNonEmptyTable, - _ErrorLowerName[5121:5154]: ErrAddingReplicaToNonEmptyTable, - _ErrorName[5154:5178]: ErrUnexpectedAstStructure, - _ErrorLowerName[5154:5178]: ErrUnexpectedAstStructure, - _ErrorName[5178:5203]: ErrReplicaIsAlreadyActive, - _ErrorLowerName[5178:5203]: ErrReplicaIsAlreadyActive, - _ErrorName[5203:5215]: ErrNoZookeeper, - _ErrorLowerName[5203:5215]: ErrNoZookeeper, - _ErrorName[5215:5235]: ErrNoFileInDataPart, - _ErrorLowerName[5215:5235]: ErrNoFileInDataPart, - _ErrorName[5235:5263]: ErrUnexpectedFileInDataPart, - _ErrorLowerName[5235:5263]: ErrUnexpectedFileInDataPart, - _ErrorName[5263:5292]: ErrBadSizeOfFileInDataPart, - _ErrorLowerName[5263:5292]: ErrBadSizeOfFileInDataPart, - _ErrorName[5292:5310]: ErrQueryIsTooLarge, - _ErrorLowerName[5292:5310]: ErrQueryIsTooLarge, - _ErrorName[5310:5338]: ErrNotFoundExpectedDataPart, - _ErrorLowerName[5310:5338]: ErrNotFoundExpectedDataPart, - _ErrorName[5338:5368]: ErrTooManyUnexpectedDataParts, - _ErrorLowerName[5338:5368]: ErrTooManyUnexpectedDataParts, - _ErrorName[5368:5385]: ErrNoSuchDataPart, - _ErrorLowerName[5368:5385]: ErrNoSuchDataPart, - _ErrorName[5385:5403]: ErrBadDataPartName, - _ErrorLowerName[5385:5403]: ErrBadDataPartName, - _ErrorName[5403:5422]: ErrNoReplicaHasPart, - _ErrorLowerName[5403:5422]: ErrNoReplicaHasPart, - _ErrorName[5422:5441]: ErrDuplicateDataPart, - _ErrorLowerName[5422:5441]: ErrDuplicateDataPart, - _ErrorName[5441:5448]: ErrAborted, - _ErrorLowerName[5441:5448]: ErrAborted, - _ErrorName[5448:5469]: ErrNoReplicaNameGiven, - _ErrorLowerName[5448:5469]: ErrNoReplicaNameGiven, - _ErrorName[5469:5491]: ErrFormatVersionTooOld, - _ErrorLowerName[5469:5491]: ErrFormatVersionTooOld, - _ErrorName[5491:5504]: ErrCannotMunmap, - _ErrorLowerName[5491:5504]: ErrCannotMunmap, - _ErrorName[5504:5517]: ErrCannotMremap, - _ErrorLowerName[5504:5517]: ErrCannotMremap, - _ErrorName[5517:5538]: ErrMemoryLimitExceeded, - _ErrorLowerName[5517:5538]: ErrMemoryLimitExceeded, - _ErrorName[5538:5556]: ErrTableIsReadOnly, - _ErrorLowerName[5538:5556]: ErrTableIsReadOnly, - _ErrorName[5556:5572]: ErrNotEnoughSpace, - _ErrorLowerName[5556:5572]: ErrNotEnoughSpace, - _ErrorName[5572:5598]: ErrUnexpectedZookeeperError, - _ErrorLowerName[5572:5598]: ErrUnexpectedZookeeperError, - _ErrorName[5598:5612]: ErrCorruptedData, - _ErrorLowerName[5598:5612]: ErrCorruptedData, - _ErrorName[5612:5626]: ErrIncorrectMark, - _ErrorLowerName[5612:5626]: ErrIncorrectMark, - _ErrorName[5626:5649]: ErrInvalidPartitionValue, - _ErrorLowerName[5626:5649]: ErrInvalidPartitionValue, - _ErrorName[5649:5673]: ErrNotEnoughBlockNumbers, - _ErrorLowerName[5649:5673]: ErrNotEnoughBlockNumbers, - _ErrorName[5673:5688]: ErrNoSuchReplica, - _ErrorLowerName[5673:5688]: ErrNoSuchReplica, - _ErrorName[5688:5702]: ErrTooManyParts, - _ErrorLowerName[5688:5702]: ErrTooManyParts, - _ErrorName[5702:5726]: ErrReplicaIsAlreadyExist, - _ErrorLowerName[5702:5726]: ErrReplicaIsAlreadyExist, - _ErrorName[5726:5744]: ErrNoActiveReplicas, - _ErrorLowerName[5726:5744]: ErrNoActiveReplicas, - _ErrorName[5744:5775]: ErrTooManyRetriesToFetchParts, - _ErrorLowerName[5744:5775]: ErrTooManyRetriesToFetchParts, - _ErrorName[5775:5799]: ErrPartitionAlreadyExists, - _ErrorLowerName[5775:5799]: ErrPartitionAlreadyExists, - _ErrorName[5799:5821]: ErrPartitionDoesntExist, - _ErrorLowerName[5799:5821]: ErrPartitionDoesntExist, - _ErrorName[5821:5857]: ErrUnionAllResultStructuresMismatch, - _ErrorLowerName[5821:5857]: ErrUnionAllResultStructuresMismatch, - _ErrorName[5857:5887]: ErrClientOutputFormatSpecified, - _ErrorLowerName[5857:5887]: ErrClientOutputFormatSpecified, - _ErrorName[5887:5911]: ErrUnknownBlockInfoField, - _ErrorLowerName[5887:5911]: ErrUnknownBlockInfoField, - _ErrorName[5911:5924]: ErrBadCollation, - _ErrorLowerName[5911:5924]: ErrBadCollation, - _ErrorName[5924:5943]: ErrCannotCompileCode, - _ErrorLowerName[5924:5943]: ErrCannotCompileCode, - _ErrorName[5943:5968]: ErrIncompatibleTypeOfJoin, - _ErrorLowerName[5943:5968]: ErrIncompatibleTypeOfJoin, - _ErrorName[5968:5988]: ErrNoAvailableReplica, - _ErrorLowerName[5968:5988]: ErrNoAvailableReplica, - _ErrorName[5988:6018]: ErrMismatchReplicasDataSources, - _ErrorLowerName[5988:6018]: ErrMismatchReplicasDataSources, - _ErrorName[6018:6058]: ErrStorageDoesntSupportParallelReplicas, - _ErrorLowerName[6018:6058]: ErrStorageDoesntSupportParallelReplicas, - _ErrorName[6058:6069]: ErrCPUIDError, - _ErrorLowerName[6058:6069]: ErrCPUIDError, - _ErrorName[6069:6082]: ErrInfiniteLoop, - _ErrorLowerName[6069:6082]: ErrInfiniteLoop, - _ErrorName[6082:6097]: ErrCannotCompress, - _ErrorLowerName[6082:6097]: ErrCannotCompress, - _ErrorName[6097:6114]: ErrCannotDecompress, - _ErrorLowerName[6097:6114]: ErrCannotDecompress, - _ErrorName[6114:6130]: ErrAioSubmitError, - _ErrorLowerName[6114:6130]: ErrAioSubmitError, - _ErrorName[6130:6150]: ErrAioCompletionError, - _ErrorLowerName[6130:6150]: ErrAioCompletionError, - _ErrorName[6150:6164]: ErrAioReadError, - _ErrorLowerName[6150:6164]: ErrAioReadError, - _ErrorName[6164:6179]: ErrAioWriteError, - _ErrorLowerName[6164:6179]: ErrAioWriteError, - _ErrorName[6179:6193]: ErrIndexNotUsed, - _ErrorLowerName[6179:6193]: ErrIndexNotUsed, - _ErrorName[6193:6208]: ErrLeadershipLost, - _ErrorLowerName[6193:6208]: ErrLeadershipLost, - _ErrorName[6208:6235]: ErrAllConnectionTriesFailed, - _ErrorLowerName[6208:6235]: ErrAllConnectionTriesFailed, - _ErrorName[6235:6252]: ErrNoAvailableData, - _ErrorLowerName[6235:6252]: ErrNoAvailableData, - _ErrorName[6252:6271]: ErrDictionaryIsEmpty, - _ErrorLowerName[6252:6271]: ErrDictionaryIsEmpty, - _ErrorName[6271:6286]: ErrIncorrectIndex, - _ErrorLowerName[6271:6286]: ErrIncorrectIndex, - _ErrorName[6286:6318]: ErrUnknownDistributedProductMode, - _ErrorLowerName[6286:6318]: ErrUnknownDistributedProductMode, - _ErrorName[6318:6350]: ErrUnknownGlobalSubqueriesMethod, - _ErrorLowerName[6318:6350]: ErrUnknownGlobalSubqueriesMethod, - _ErrorName[6350:6372]: ErrTooLessLiveReplicas, - _ErrorLowerName[6350:6372]: ErrTooLessLiveReplicas, - _ErrorName[6372:6409]: ErrUnsatisfiedQuorumForPreviousWrite, - _ErrorLowerName[6372:6409]: ErrUnsatisfiedQuorumForPreviousWrite, - _ErrorName[6409:6431]: ErrUnknownFormatVersion, - _ErrorLowerName[6409:6431]: ErrUnknownFormatVersion, - _ErrorName[6431:6466]: ErrDistributedInJoinSubqueryDenied, - _ErrorLowerName[6431:6466]: ErrDistributedInJoinSubqueryDenied, - _ErrorName[6466:6490]: ErrReplicaIsNotInQuorum, - _ErrorLowerName[6466:6490]: ErrReplicaIsNotInQuorum, - _ErrorName[6490:6504]: ErrLimitExceeded, - _ErrorLowerName[6490:6504]: ErrLimitExceeded, - _ErrorName[6504:6526]: ErrDatabaseAccessDenied, - _ErrorLowerName[6504:6526]: ErrDatabaseAccessDenied, - _ErrorName[6526:6544]: ErrLeadershipChanged, - _ErrorLowerName[6526:6544]: ErrLeadershipChanged, - _ErrorName[6544:6571]: ErrMongodbCannotAuthenticate, - _ErrorLowerName[6544:6571]: ErrMongodbCannotAuthenticate, - _ErrorName[6571:6595]: ErrInvalidBlockExtraInfo, - _ErrorLowerName[6571:6595]: ErrInvalidBlockExtraInfo, - _ErrorName[6595:6614]: ErrReceivedEmptyData, - _ErrorLowerName[6595:6614]: ErrReceivedEmptyData, - _ErrorName[6614:6635]: ErrNoRemoteShardFound, - _ErrorLowerName[6614:6635]: ErrNoRemoteShardFound, - _ErrorName[6635:6659]: ErrShardHasNoConnections, - _ErrorLowerName[6635:6659]: ErrShardHasNoConnections, - _ErrorName[6659:6670]: ErrCannotPipe, - _ErrorLowerName[6659:6670]: ErrCannotPipe, - _ErrorName[6670:6681]: ErrCannotFork, - _ErrorLowerName[6670:6681]: ErrCannotFork, - _ErrorName[6681:6693]: ErrCannotDlsym, - _ErrorLowerName[6681:6693]: ErrCannotDlsym, - _ErrorName[6693:6720]: ErrCannotCreateChildProcess, - _ErrorLowerName[6693:6720]: ErrCannotCreateChildProcess, - _ErrorName[6720:6749]: ErrChildWasNotExitedNormally, - _ErrorLowerName[6720:6749]: ErrChildWasNotExitedNormally, - _ErrorName[6749:6762]: ErrCannotSelect, - _ErrorLowerName[6749:6762]: ErrCannotSelect, - _ErrorName[6762:6776]: ErrCannotWaitpid, - _ErrorLowerName[6762:6776]: ErrCannotWaitpid, - _ErrorName[6776:6797]: ErrTableWasNotDropped, - _ErrorLowerName[6776:6797]: ErrTableWasNotDropped, - _ErrorName[6797:6815]: ErrTooDeepRecursion, - _ErrorLowerName[6797:6815]: ErrTooDeepRecursion, - _ErrorName[6815:6829]: ErrTooManyBytes, - _ErrorLowerName[6815:6829]: ErrTooManyBytes, - _ErrorName[6829:6857]: ErrUnexpectedNodeInZookeeper, - _ErrorLowerName[6829:6857]: ErrUnexpectedNodeInZookeeper, - _ErrorName[6857:6888]: ErrFunctionCannotHaveParameters, - _ErrorLowerName[6857:6888]: ErrFunctionCannotHaveParameters, - _ErrorName[6888:6908]: ErrInvalidShardWeight, - _ErrorLowerName[6888:6908]: ErrInvalidShardWeight, - _ErrorName[6908:6932]: ErrInvalidConfigParameter, - _ErrorLowerName[6908:6932]: ErrInvalidConfigParameter, - _ErrorName[6932:6956]: ErrUnknownStatusOfInsert, - _ErrorLowerName[6932:6956]: ErrUnknownStatusOfInsert, - _ErrorName[6956:6990]: ErrValueIsOutOfRangeOfDataType, - _ErrorLowerName[6956:6990]: ErrValueIsOutOfRangeOfDataType, - _ErrorName[6990:7005]: ErrBarrierTimeout, - _ErrorLowerName[6990:7005]: ErrBarrierTimeout, - _ErrorName[7005:7028]: ErrUnknownDatabaseEngine, - _ErrorLowerName[7005:7028]: ErrUnknownDatabaseEngine, - _ErrorName[7028:7047]: ErrDdlGuardIsActive, - _ErrorLowerName[7028:7047]: ErrDdlGuardIsActive, - _ErrorName[7047:7057]: ErrUnfinished, - _ErrorLowerName[7047:7057]: ErrUnfinished, - _ErrorName[7057:7074]: ErrMetadataMismatch, - _ErrorLowerName[7057:7074]: ErrMetadataMismatch, - _ErrorName[7074:7093]: ErrSupportIsDisabled, - _ErrorLowerName[7074:7093]: ErrSupportIsDisabled, - _ErrorName[7093:7115]: ErrTableDiffersTooMuch, - _ErrorLowerName[7093:7115]: ErrTableDiffersTooMuch, - _ErrorName[7115:7137]: ErrCannotConvertCharset, - _ErrorLowerName[7115:7137]: ErrCannotConvertCharset, - _ErrorName[7137:7155]: ErrCannotLoadConfig, - _ErrorLowerName[7137:7155]: ErrCannotLoadConfig, - _ErrorName[7155:7192]: ErrCannotInsertNullInOrdinaryColumn, - _ErrorLowerName[7155:7192]: ErrCannotInsertNullInOrdinaryColumn, - _ErrorName[7192:7218]: ErrIncompatibleSourceTables, - _ErrorLowerName[7192:7218]: ErrIncompatibleSourceTables, - _ErrorName[7218:7238]: ErrAmbiguousTableName, - _ErrorLowerName[7218:7238]: ErrAmbiguousTableName, - _ErrorName[7238:7259]: ErrAmbiguousColumnName, - _ErrorLowerName[7238:7259]: ErrAmbiguousColumnName, - _ErrorName[7259:7303]: ErrIndexOfPositionalArgumentIsOutOfRange, - _ErrorLowerName[7259:7303]: ErrIndexOfPositionalArgumentIsOutOfRange, - _ErrorName[7303:7322]: ErrZlibInflateFailed, - _ErrorLowerName[7303:7322]: ErrZlibInflateFailed, - _ErrorName[7322:7341]: ErrZlibDeflateFailed, - _ErrorLowerName[7322:7341]: ErrZlibDeflateFailed, - _ErrorName[7341:7351]: ErrBadLambda, - _ErrorLowerName[7341:7351]: ErrBadLambda, - _ErrorName[7351:7375]: ErrReservedIdentifierName, - _ErrorLowerName[7351:7375]: ErrReservedIdentifierName, - _ErrorName[7375:7399]: ErrIntoOutfileNotAllowed, - _ErrorLowerName[7375:7399]: ErrIntoOutfileNotAllowed, - _ErrorName[7399:7437]: ErrTableSizeExceedsMaxDropSizeLimit, - _ErrorLowerName[7399:7437]: ErrTableSizeExceedsMaxDropSizeLimit, - _ErrorName[7437:7468]: ErrCannotCreateCharsetConverter, - _ErrorLowerName[7437:7468]: ErrCannotCreateCharsetConverter, - _ErrorName[7468:7494]: ErrSeekPositionOutOfBound, - _ErrorLowerName[7468:7494]: ErrSeekPositionOutOfBound, - _ErrorName[7494:7527]: ErrCurrentWriteBufferIsExhausted, - _ErrorLowerName[7494:7527]: ErrCurrentWriteBufferIsExhausted, - _ErrorName[7527:7550]: ErrCannotCreateIoBuffer, - _ErrorLowerName[7527:7550]: ErrCannotCreateIoBuffer, - _ErrorName[7550:7582]: ErrReceivedErrorTooManyRequests, - _ErrorLowerName[7550:7582]: ErrReceivedErrorTooManyRequests, - _ErrorName[7582:7602]: ErrOutputIsNotSorted, - _ErrorLowerName[7582:7602]: ErrOutputIsNotSorted, - _ErrorName[7602:7642]: ErrSizesOfNestedColumnsAreInconsistent, - _ErrorLowerName[7602:7642]: ErrSizesOfNestedColumnsAreInconsistent, - _ErrorName[7642:7658]: ErrTooManyFetches, - _ErrorLowerName[7642:7658]: ErrTooManyFetches, - _ErrorName[7658:7666]: ErrBadCast, - _ErrorLowerName[7658:7666]: ErrBadCast, - _ErrorName[7666:7688]: ErrAllReplicasAreStale, - _ErrorLowerName[7666:7688]: ErrAllReplicasAreStale, - _ErrorName[7688:7722]: ErrDataTypeCannotBeUsedInTables, - _ErrorLowerName[7688:7722]: ErrDataTypeCannotBeUsedInTables, - _ErrorName[7722:7753]: ErrInconsistentClusterDefinition, - _ErrorLowerName[7722:7753]: ErrInconsistentClusterDefinition, - _ErrorName[7753:7770]: ErrSessionNotFound, - _ErrorLowerName[7753:7770]: ErrSessionNotFound, - _ErrorName[7770:7787]: ErrSessionIsLocked, - _ErrorLowerName[7770:7787]: ErrSessionIsLocked, - _ErrorName[7787:7810]: ErrInvalidSessionTimeout, - _ErrorLowerName[7787:7810]: ErrInvalidSessionTimeout, - _ErrorName[7810:7823]: ErrCannotDlopen, - _ErrorLowerName[7810:7823]: ErrCannotDlopen, - _ErrorName[7823:7840]: ErrCannotParseUUID, - _ErrorLowerName[7823:7840]: ErrCannotParseUUID, - _ErrorName[7840:7868]: ErrIllegalSyntaxForDataType, - _ErrorLowerName[7840:7868]: ErrIllegalSyntaxForDataType, - _ErrorName[7868:7899]: ErrDataTypeCannotHaveArguments, - _ErrorLowerName[7868:7899]: ErrDataTypeCannotHaveArguments, - _ErrorName[7899:7937]: ErrUnknownStatusOfDistributedDdlTask, - _ErrorLowerName[7899:7937]: ErrUnknownStatusOfDistributedDdlTask, - _ErrorName[7937:7948]: ErrCannotKill, - _ErrorLowerName[7937:7948]: ErrCannotKill, - _ErrorName[7948:7968]: ErrHTTPLengthRequired, - _ErrorLowerName[7948:7968]: ErrHTTPLengthRequired, - _ErrorName[7968:7994]: ErrCannotLoadCatboostModel, - _ErrorLowerName[7968:7994]: ErrCannotLoadCatboostModel, - _ErrorName[7994:8021]: ErrCannotApplyCatboostModel, - _ErrorLowerName[7994:8021]: ErrCannotApplyCatboostModel, - _ErrorName[8021:8047]: ErrPartIsTemporarilyLocked, - _ErrorLowerName[8021:8047]: ErrPartIsTemporarilyLocked, - _ErrorName[8047:8072]: ErrMultipleStreamsRequired, - _ErrorLowerName[8047:8072]: ErrMultipleStreamsRequired, - _ErrorName[8072:8086]: ErrNoCommonType, - _ErrorLowerName[8072:8086]: ErrNoCommonType, - _ErrorName[8086:8118]: ErrExternalLoadableAlreadyExists, - _ErrorLowerName[8086:8118]: ErrExternalLoadableAlreadyExists, - _ErrorName[8118:8140]: ErrCannotAssignOptimize, - _ErrorLowerName[8118:8140]: ErrCannotAssignOptimize, - _ErrorName[8140:8163]: ErrInsertWasDeduplicated, - _ErrorLowerName[8140:8163]: ErrInsertWasDeduplicated, - _ErrorName[8163:8192]: ErrCannotGetCreateTableQuery, - _ErrorLowerName[8163:8192]: ErrCannotGetCreateTableQuery, - _ErrorName[8192:8214]: ErrExternalLibraryError, - _ErrorLowerName[8192:8214]: ErrExternalLibraryError, - _ErrorName[8214:8233]: ErrQueryIsProhibited, - _ErrorLowerName[8214:8233]: ErrQueryIsProhibited, - _ErrorName[8233:8250]: ErrThereIsNoQuery, - _ErrorLowerName[8233:8250]: ErrThereIsNoQuery, - _ErrorName[8250:8269]: ErrQueryWasCancelled, - _ErrorLowerName[8250:8269]: ErrQueryWasCancelled, - _ErrorName[8269:8304]: ErrFunctionThrowIfValueIsNonZero, - _ErrorLowerName[8269:8304]: ErrFunctionThrowIfValueIsNonZero, - _ErrorName[8304:8326]: ErrTooManyRowsOrBytes, - _ErrorLowerName[8304:8326]: ErrTooManyRowsOrBytes, - _ErrorName[8326:8369]: ErrQueryIsNotSupportedInMaterializedView, - _ErrorLowerName[8326:8369]: ErrQueryIsNotSupportedInMaterializedView, - _ErrorName[8369:8406]: ErrCannotParseDomainValueFromString, - _ErrorLowerName[8369:8406]: ErrCannotParseDomainValueFromString, - _ErrorName[8406:8429]: ErrAccessEntityNotFound, - _ErrorLowerName[8406:8429]: ErrAccessEntityNotFound, - _ErrorName[8429:8450]: ErrAuthenticationFailed, - _ErrorLowerName[8429:8450]: ErrAuthenticationFailed, - _ErrorName[8450:8466]: ErrKeeperException, - _ErrorLowerName[8450:8466]: ErrKeeperException, - _ErrorName[8466:8480]: ErrPocoException, - _ErrorLowerName[8466:8480]: ErrPocoException, - _ErrorName[8480:8493]: ErrStdException, - _ErrorLowerName[8480:8493]: ErrStdException, - _ErrorName[8493:8510]: ErrUnknownException, - _ErrorLowerName[8493:8510]: ErrUnknownException, - _ErrorName[8510:8543]: ErrConditionalTreeParentNotFound, - _ErrorLowerName[8510:8543]: ErrConditionalTreeParentNotFound, - _ErrorName[8543:8573]: ErrIllegalProjectionManipulator, - _ErrorLowerName[8543:8573]: ErrIllegalProjectionManipulator, + _ErrorName[0:18]: ErrUnsupportedMethod, + _ErrorLowerName[0:18]: ErrUnsupportedMethod, + _ErrorName[18:39]: ErrUnsupportedParameter, + _ErrorLowerName[18:39]: ErrUnsupportedParameter, + _ErrorName[39:61]: ErrUnexpectedEndOfFile, + _ErrorLowerName[39:61]: ErrUnexpectedEndOfFile, + _ErrorName[61:81]: ErrExpectedEndOfFile, + _ErrorLowerName[61:81]: ErrExpectedEndOfFile, + _ErrorName[81:98]: ErrCannotParseText, + _ErrorLowerName[81:98]: ErrCannotParseText, + _ErrorName[98:125]: ErrIncorrectNumberOfColumns, + _ErrorLowerName[98:125]: ErrIncorrectNumberOfColumns, + _ErrorName[125:143]: ErrThereIsNoColumn, + _ErrorLowerName[125:143]: ErrThereIsNoColumn, + _ErrorName[143:172]: ErrSizesOfColumnsDoesntMatch, + _ErrorLowerName[143:172]: ErrSizesOfColumnsDoesntMatch, + _ErrorName[172:197]: ErrNotFoundColumnInBlock, + _ErrorLowerName[172:197]: ErrNotFoundColumnInBlock, + _ErrorName[197:218]: ErrPositionOutOfBound, + _ErrorLowerName[197:218]: ErrPositionOutOfBound, + _ErrorName[218:240]: ErrParameterOutOfBound, + _ErrorLowerName[218:240]: ErrParameterOutOfBound, + _ErrorName[240:278]: ErrSizesOfColumnsInTupleDoesntMatch, + _ErrorLowerName[240:278]: ErrSizesOfColumnsInTupleDoesntMatch, + _ErrorName[278:294]: ErrDuplicateColumn, + _ErrorLowerName[278:294]: ErrDuplicateColumn, + _ErrorName[294:317]: ErrNoSuchColumnInTable, + _ErrorLowerName[294:317]: ErrNoSuchColumnInTable, + _ErrorName[317:357]: ErrDelimiterInStringLiteralDoesntMatch, + _ErrorLowerName[317:357]: ErrDelimiterInStringLiteralDoesntMatch, + _ErrorName[357:399]: ErrCannotInsertElementIntoConstantColumn, + _ErrorLowerName[357:399]: ErrCannotInsertElementIntoConstantColumn, + _ErrorName[399:432]: ErrSizeOfFixedStringDoesntMatch, + _ErrorLowerName[399:432]: ErrSizeOfFixedStringDoesntMatch, + _ErrorName[432:462]: ErrNumberOfColumnsDoesntMatch, + _ErrorLowerName[432:462]: ErrNumberOfColumnsDoesntMatch, + _ErrorName[462:507]: ErrCannotReadAllDataFromTabSeparatedInput, + _ErrorLowerName[462:507]: ErrCannotReadAllDataFromTabSeparatedInput, + _ErrorName[507:554]: ErrCannotParseAllValueFromTabSeparatedInput, + _ErrorLowerName[507:554]: ErrCannotParseAllValueFromTabSeparatedInput, + _ErrorName[554:578]: ErrCannotReadFromIstream, + _ErrorLowerName[554:578]: ErrCannotReadFromIstream, + _ErrorName[578:601]: ErrCannotWriteToOstream, + _ErrorLowerName[578:601]: ErrCannotWriteToOstream, + _ErrorName[601:629]: ErrCannotParseEscapeSequence, + _ErrorLowerName[601:629]: ErrCannotParseEscapeSequence, + _ErrorName[629:655]: ErrCannotParseQuotedString, + _ErrorLowerName[629:655]: ErrCannotParseQuotedString, + _ErrorName[655:690]: ErrCannotParseInputAssertionFailed, + _ErrorLowerName[655:690]: ErrCannotParseInputAssertionFailed, + _ErrorName[690:725]: ErrCannotPrintFloatOrDoubleNumber, + _ErrorLowerName[690:725]: ErrCannotPrintFloatOrDoubleNumber, + _ErrorName[725:745]: ErrCannotPrintInteger, + _ErrorLowerName[725:745]: ErrCannotPrintInteger, + _ErrorName[745:781]: ErrCannotReadSizeOfCompressedChunk, + _ErrorLowerName[745:781]: ErrCannotReadSizeOfCompressedChunk, + _ErrorName[781:809]: ErrCannotReadCompressedChunk, + _ErrorLowerName[781:809]: ErrCannotReadCompressedChunk, + _ErrorName[809:834]: ErrAttemptToReadAfterEOF, + _ErrorLowerName[809:834]: ErrAttemptToReadAfterEOF, + _ErrorName[834:854]: ErrCannotReadAllData, + _ErrorLowerName[834:854]: ErrCannotReadAllData, + _ErrorName[854:885]: ErrTooManyArgumentsForFunction, + _ErrorLowerName[854:885]: ErrTooManyArgumentsForFunction, + _ErrorName[885:915]: ErrTooFewArgumentsForFunction, + _ErrorLowerName[885:915]: ErrTooFewArgumentsForFunction, + _ErrorName[915:928]: ErrBadArguments, + _ErrorLowerName[915:928]: ErrBadArguments, + _ErrorName[928:950]: ErrUnknownElementInAst, + _ErrorLowerName[928:950]: ErrUnknownElementInAst, + _ErrorName[950:967]: ErrCannotParseDate, + _ErrorLowerName[950:967]: ErrCannotParseDate, + _ErrorName[967:992]: ErrTooLargeSizeCompressed, + _ErrorLowerName[967:992]: ErrTooLargeSizeCompressed, + _ErrorName[992:1013]: ErrChecksumDoesntMatch, + _ErrorLowerName[992:1013]: ErrChecksumDoesntMatch, + _ErrorName[1013:1034]: ErrCannotParseDatetime, + _ErrorLowerName[1013:1034]: ErrCannotParseDatetime, + _ErrorName[1034:1066]: ErrNumberOfArgumentsDoesntMatch, + _ErrorLowerName[1034:1066]: ErrNumberOfArgumentsDoesntMatch, + _ErrorName[1066:1090]: ErrIllegalTypeOfArgument, + _ErrorLowerName[1066:1090]: ErrIllegalTypeOfArgument, + _ErrorName[1090:1104]: ErrIllegalColumn, + _ErrorLowerName[1090:1104]: ErrIllegalColumn, + _ErrorName[1104:1136]: ErrIllegalNumberOfResultColumns, + _ErrorLowerName[1104:1136]: ErrIllegalNumberOfResultColumns, + _ErrorName[1136:1152]: ErrUnknownFunction, + _ErrorLowerName[1136:1152]: ErrUnknownFunction, + _ErrorName[1152:1170]: ErrUnknownIdentifier, + _ErrorLowerName[1152:1170]: ErrUnknownIdentifier, + _ErrorName[1170:1185]: ErrNotImplemented, + _ErrorLowerName[1170:1185]: ErrNotImplemented, + _ErrorName[1185:1198]: ErrLogicalError, + _ErrorLowerName[1185:1198]: ErrLogicalError, + _ErrorName[1198:1210]: ErrUnknownType, + _ErrorLowerName[1198:1210]: ErrUnknownType, + _ErrorName[1210:1239]: ErrEmptyListOfColumnsQueried, + _ErrorLowerName[1210:1239]: ErrEmptyListOfColumnsQueried, + _ErrorName[1239:1268]: ErrColumnQueriedMoreThanOnce, + _ErrorLowerName[1239:1268]: ErrColumnQueriedMoreThanOnce, + _ErrorName[1268:1281]: ErrTypeMismatch, + _ErrorLowerName[1268:1281]: ErrTypeMismatch, + _ErrorName[1281:1312]: ErrStorageDoesntAllowParameters, + _ErrorLowerName[1281:1312]: ErrStorageDoesntAllowParameters, + _ErrorName[1312:1338]: ErrStorageRequiresParameter, + _ErrorLowerName[1312:1338]: ErrStorageRequiresParameter, + _ErrorName[1338:1353]: ErrUnknownStorage, + _ErrorLowerName[1338:1353]: ErrUnknownStorage, + _ErrorName[1353:1373]: ErrTableAlreadyExists, + _ErrorLowerName[1353:1373]: ErrTableAlreadyExists, + _ErrorName[1373:1402]: ErrTableMetadataAlreadyExists, + _ErrorLowerName[1373:1402]: ErrTableMetadataAlreadyExists, + _ErrorName[1402:1435]: ErrIllegalTypeOfColumnForFilter, + _ErrorLowerName[1402:1435]: ErrIllegalTypeOfColumnForFilter, + _ErrorName[1435:1448]: ErrUnknownTable, + _ErrorLowerName[1435:1448]: ErrUnknownTable, + _ErrorName[1448:1475]: ErrOnlyFilterColumnInBlock, + _ErrorLowerName[1448:1475]: ErrOnlyFilterColumnInBlock, + _ErrorName[1475:1487]: ErrSyntaxError, + _ErrorLowerName[1475:1487]: ErrSyntaxError, + _ErrorName[1487:1513]: ErrUnknownAggregateFunction, + _ErrorLowerName[1487:1513]: ErrUnknownAggregateFunction, + _ErrorName[1513:1553]: ErrCannotReadAggregateFunctionFromText, + _ErrorLowerName[1513:1553]: ErrCannotReadAggregateFunctionFromText, + _ErrorName[1553:1592]: ErrCannotWriteAggregateFunctionAsText, + _ErrorLowerName[1553:1592]: ErrCannotWriteAggregateFunctionAsText, + _ErrorName[1592:1604]: ErrNotAColumn, + _ErrorLowerName[1592:1604]: ErrNotAColumn, + _ErrorName[1604:1630]: ErrIllegalKeyOfAggregation, + _ErrorLowerName[1604:1630]: ErrIllegalKeyOfAggregation, + _ErrorName[1630:1654]: ErrCannotGetSizeOfField, + _ErrorLowerName[1630:1654]: ErrCannotGetSizeOfField, + _ErrorName[1654:1675]: ErrArgumentOutOfBound, + _ErrorLowerName[1654:1675]: ErrArgumentOutOfBound, + _ErrorName[1675:1694]: ErrCannotConvertType, + _ErrorLowerName[1675:1694]: ErrCannotConvertType, + _ErrorName[1694:1726]: ErrCannotWriteAfterEndOfBuffer, + _ErrorLowerName[1694:1726]: ErrCannotWriteAfterEndOfBuffer, + _ErrorName[1726:1745]: ErrCannotParseNumber, + _ErrorLowerName[1726:1745]: ErrCannotParseNumber, + _ErrorName[1745:1759]: ErrUnknownFormat, + _ErrorLowerName[1745:1759]: ErrUnknownFormat, + _ErrorName[1759:1791]: ErrCannotReadFromFileDescriptor, + _ErrorLowerName[1759:1791]: ErrCannotReadFromFileDescriptor, + _ErrorName[1791:1822]: ErrCannotWriteToFileDescriptor, + _ErrorLowerName[1791:1822]: ErrCannotWriteToFileDescriptor, + _ErrorName[1822:1838]: ErrCannotOpenFile, + _ErrorLowerName[1822:1838]: ErrCannotOpenFile, + _ErrorName[1838:1855]: ErrCannotCloseFile, + _ErrorLowerName[1838:1855]: ErrCannotCloseFile, + _ErrorName[1855:1876]: ErrUnknownTypeOfQuery, + _ErrorLowerName[1855:1876]: ErrUnknownTypeOfQuery, + _ErrorName[1876:1895]: ErrIncorrectFileName, + _ErrorLowerName[1876:1895]: ErrIncorrectFileName, + _ErrorName[1895:1910]: ErrIncorrectQuery, + _ErrorLowerName[1895:1910]: ErrIncorrectQuery, + _ErrorName[1910:1926]: ErrUnknownDatabase, + _ErrorLowerName[1910:1926]: ErrUnknownDatabase, + _ErrorName[1926:1949]: ErrDatabaseAlreadyExists, + _ErrorLowerName[1926:1949]: ErrDatabaseAlreadyExists, + _ErrorName[1949:1971]: ErrDirectoryDoesntExist, + _ErrorLowerName[1949:1971]: ErrDirectoryDoesntExist, + _ErrorName[1971:1995]: ErrDirectoryAlreadyExists, + _ErrorLowerName[1971:1995]: ErrDirectoryAlreadyExists, + _ErrorName[1995:2027]: ErrFormatIsNotSuitableForInput, + _ErrorLowerName[1995:2027]: ErrFormatIsNotSuitableForInput, + _ErrorName[2027:2063]: ErrReceivedErrorFromRemoteIoServer, + _ErrorLowerName[2027:2063]: ErrReceivedErrorFromRemoteIoServer, + _ErrorName[2063:2087]: ErrCannotSeekThroughFile, + _ErrorLowerName[2063:2087]: ErrCannotSeekThroughFile, + _ErrorName[2087:2107]: ErrCannotTruncateFile, + _ErrorLowerName[2087:2107]: ErrCannotTruncateFile, + _ErrorName[2107:2133]: ErrUnknownCompressionMethod, + _ErrorLowerName[2107:2133]: ErrUnknownCompressionMethod, + _ErrorName[2133:2161]: ErrEmptyListOfColumnsPassed, + _ErrorLowerName[2133:2161]: ErrEmptyListOfColumnsPassed, + _ErrorName[2161:2198]: ErrSizesOfMarksFilesAreInconsistent, + _ErrorLowerName[2161:2198]: ErrSizesOfMarksFilesAreInconsistent, + _ErrorName[2198:2215]: ErrEmptyDataPassed, + _ErrorLowerName[2198:2215]: ErrEmptyDataPassed, + _ErrorName[2215:2246]: ErrUnknownAggregatedDataVariant, + _ErrorLowerName[2215:2246]: ErrUnknownAggregatedDataVariant, + _ErrorName[2246:2293]: ErrCannotMergeDifferentAggregatedDataVariants, + _ErrorLowerName[2246:2293]: ErrCannotMergeDifferentAggregatedDataVariants, + _ErrorName[2293:2316]: ErrCannotReadFromSocket, + _ErrorLowerName[2293:2316]: ErrCannotReadFromSocket, + _ErrorName[2316:2338]: ErrCannotWriteToSocket, + _ErrorLowerName[2316:2338]: ErrCannotWriteToSocket, + _ErrorName[2338:2377]: ErrCannotReadAllDataFromChunkedInput, + _ErrorLowerName[2338:2377]: ErrCannotReadAllDataFromChunkedInput, + _ErrorName[2377:2418]: ErrCannotWriteToEmptyBlockOutputStream, + _ErrorLowerName[2377:2418]: ErrCannotWriteToEmptyBlockOutputStream, + _ErrorName[2418:2444]: ErrUnknownPacketFromClient, + _ErrorLowerName[2418:2444]: ErrUnknownPacketFromClient, + _ErrorName[2444:2470]: ErrUnknownPacketFromServer, + _ErrorLowerName[2444:2470]: ErrUnknownPacketFromServer, + _ErrorName[2470:2499]: ErrUnexpectedPacketFromClient, + _ErrorLowerName[2470:2499]: ErrUnexpectedPacketFromClient, + _ErrorName[2499:2528]: ErrUnexpectedPacketFromServer, + _ErrorLowerName[2499:2528]: ErrUnexpectedPacketFromServer, + _ErrorName[2528:2560]: ErrReceivedDataForWrongQueryID, + _ErrorLowerName[2528:2560]: ErrReceivedDataForWrongQueryID, + _ErrorName[2560:2581]: ErrTooSmallBufferSize, + _ErrorLowerName[2560:2581]: ErrTooSmallBufferSize, + _ErrorName[2581:2600]: ErrCannotReadHistory, + _ErrorLowerName[2581:2600]: ErrCannotReadHistory, + _ErrorName[2600:2621]: ErrCannotAppendHistory, + _ErrorLowerName[2600:2621]: ErrCannotAppendHistory, + _ErrorName[2621:2638]: ErrFileDoesntExist, + _ErrorLowerName[2621:2638]: ErrFileDoesntExist, + _ErrorName[2638:2655]: ErrNoDataToInsert, + _ErrorLowerName[2638:2655]: ErrNoDataToInsert, + _ErrorName[2655:2674]: ErrCannotBlockSignal, + _ErrorLowerName[2655:2674]: ErrCannotBlockSignal, + _ErrorName[2674:2695]: ErrCannotUnblockSignal, + _ErrorLowerName[2674:2695]: ErrCannotUnblockSignal, + _ErrorName[2695:2719]: ErrCannotManipulateSigset, + _ErrorLowerName[2695:2719]: ErrCannotManipulateSigset, + _ErrorName[2719:2741]: ErrCannotWaitForSignal, + _ErrorLowerName[2719:2741]: ErrCannotWaitForSignal, + _ErrorName[2741:2760]: ErrThereIsNoSession, + _ErrorLowerName[2741:2760]: ErrThereIsNoSession, + _ErrorName[2760:2780]: ErrCannotClockGettime, + _ErrorLowerName[2760:2780]: ErrCannotClockGettime, + _ErrorName[2780:2795]: ErrUnknownSetting, + _ErrorLowerName[2780:2795]: ErrUnknownSetting, + _ErrorName[2795:2820]: ErrThereIsNoDefaultValue, + _ErrorLowerName[2795:2820]: ErrThereIsNoDefaultValue, + _ErrorName[2820:2834]: ErrIncorrectData, + _ErrorLowerName[2820:2834]: ErrIncorrectData, + _ErrorName[2834:2849]: ErrEngineRequired, + _ErrorLowerName[2834:2849]: ErrEngineRequired, + _ErrorName[2849:2897]: ErrCannotInsertValueOfDifferentSizeIntoTuple, + _ErrorLowerName[2849:2897]: ErrCannotInsertValueOfDifferentSizeIntoTuple, + _ErrorName[2897:2918]: ErrUnsupportedJoinKeys, + _ErrorLowerName[2897:2918]: ErrUnsupportedJoinKeys, + _ErrorName[2918:2938]: ErrIncompatibleColumns, + _ErrorLowerName[2918:2938]: ErrIncompatibleColumns, + _ErrorName[2938:2962]: ErrUnknownTypeOfAstNode, + _ErrorLowerName[2938:2962]: ErrUnknownTypeOfAstNode, + _ErrorName[2962:2986]: ErrIncorrectElementOfSet, + _ErrorLowerName[2962:2986]: ErrIncorrectElementOfSet, + _ErrorName[2986:3021]: ErrIncorrectResultOfScalarSubquery, + _ErrorLowerName[2986:3021]: ErrIncorrectResultOfScalarSubquery, + _ErrorName[3021:3043]: ErrCannotGetReturnType, + _ErrorLowerName[3021:3043]: ErrCannotGetReturnType, + _ErrorName[3043:3056]: ErrIllegalIndex, + _ErrorLowerName[3043:3056]: ErrIllegalIndex, + _ErrorName[3056:3076]: ErrTooLargeArraySize, + _ErrorLowerName[3056:3076]: ErrTooLargeArraySize, + _ErrorName[3076:3095]: ErrFunctionIsSpecial, + _ErrorLowerName[3076:3095]: ErrFunctionIsSpecial, + _ErrorName[3095:3122]: ErrCannotReadArrayFromText, + _ErrorLowerName[3095:3122]: ErrCannotReadArrayFromText, + _ErrorName[3122:3143]: ErrTooLargeStringSize, + _ErrorLowerName[3122:3143]: ErrTooLargeStringSize, + _ErrorName[3143:3176]: ErrCannotCreateTableFromMetadata, + _ErrorLowerName[3143:3176]: ErrCannotCreateTableFromMetadata, + _ErrorName[3176:3218]: ErrAggregateFunctionDoesntAllowParameters, + _ErrorLowerName[3176:3218]: ErrAggregateFunctionDoesntAllowParameters, + _ErrorName[3218:3268]: ErrParametersToAggregateFunctionsMustBeLiterals, + _ErrorLowerName[3218:3268]: ErrParametersToAggregateFunctionsMustBeLiterals, + _ErrorName[3268:3293]: ErrZeroArrayOrTupleIndex, + _ErrorLowerName[3268:3293]: ErrZeroArrayOrTupleIndex, + _ErrorName[3293:3318]: ErrUnknownElementInConfig, + _ErrorLowerName[3293:3318]: ErrUnknownElementInConfig, + _ErrorName[3318:3345]: ErrExcessiveElementInConfig, + _ErrorLowerName[3318:3345]: ErrExcessiveElementInConfig, + _ErrorName[3345:3366]: ErrNoElementsInConfig, + _ErrorLowerName[3345:3366]: ErrNoElementsInConfig, + _ErrorName[3366:3399]: ErrAllRequestedColumnsAreMissing, + _ErrorLowerName[3366:3399]: ErrAllRequestedColumnsAreMissing, + _ErrorName[3399:3421]: ErrSamplingNotSupported, + _ErrorLowerName[3399:3421]: ErrSamplingNotSupported, + _ErrorName[3421:3435]: ErrNotFoundNode, + _ErrorLowerName[3421:3435]: ErrNotFoundNode, + _ErrorName[3435:3459]: ErrFoundMoreThanOneNode, + _ErrorLowerName[3435:3459]: ErrFoundMoreThanOneNode, + _ErrorName[3459:3494]: ErrFirstDateIsBiggerThanLastDate, + _ErrorLowerName[3459:3494]: ErrFirstDateIsBiggerThanLastDate, + _ErrorName[3494:3515]: ErrUnknownOverflowMode, + _ErrorLowerName[3494:3515]: ErrUnknownOverflowMode, + _ErrorName[3515:3546]: ErrQuerySectionDoesntMakeSense, + _ErrorLowerName[3515:3546]: ErrQuerySectionDoesntMakeSense, + _ErrorName[3546:3586]: ErrNotFoundFunctionElementForAggregate, + _ErrorLowerName[3546:3586]: ErrNotFoundFunctionElementForAggregate, + _ErrorName[3586:3626]: ErrNotFoundRelationElementForCondition, + _ErrorLowerName[3586:3626]: ErrNotFoundRelationElementForCondition, + _ErrorName[3626:3661]: ErrNotFoundRHSElementForCondition, + _ErrorLowerName[3626:3661]: ErrNotFoundRHSElementForCondition, + _ErrorName[3661:3681]: ErrNoAttributesListed, + _ErrorLowerName[3661:3681]: ErrNoAttributesListed, + _ErrorName[3681:3727]: ErrIndexOfColumnInSortClauseIsOutOfRange, + _ErrorLowerName[3681:3727]: ErrIndexOfColumnInSortClauseIsOutOfRange, + _ErrorName[3727:3755]: ErrUnknownDirectionOfSorting, + _ErrorLowerName[3727:3755]: ErrUnknownDirectionOfSorting, + _ErrorName[3755:3771]: ErrIllegalDivision, + _ErrorLowerName[3755:3771]: ErrIllegalDivision, + _ErrorName[3771:3804]: ErrAggregateFunctionNotApplicable, + _ErrorLowerName[3771:3804]: ErrAggregateFunctionNotApplicable, + _ErrorName[3804:3820]: ErrUnknownRelation, + _ErrorLowerName[3804:3820]: ErrUnknownRelation, + _ErrorName[3820:3847]: ErrDictionariesWasNotLoaded, + _ErrorLowerName[3820:3847]: ErrDictionariesWasNotLoaded, + _ErrorName[3847:3868]: ErrIllegalOverflowMode, + _ErrorLowerName[3847:3868]: ErrIllegalOverflowMode, + _ErrorName[3868:3881]: ErrTooManyRows, + _ErrorLowerName[3868:3881]: ErrTooManyRows, + _ErrorName[3881:3897]: ErrTimeoutExceeded, + _ErrorLowerName[3881:3897]: ErrTimeoutExceeded, + _ErrorName[3897:3905]: ErrTooSlow, + _ErrorLowerName[3897:3905]: ErrTooSlow, + _ErrorName[3905:3921]: ErrTooManyColumns, + _ErrorLowerName[3905:3921]: ErrTooManyColumns, + _ErrorName[3921:3940]: ErrTooDeepSubqueries, + _ErrorLowerName[3921:3940]: ErrTooDeepSubqueries, + _ErrorName[3940:3957]: ErrTooDeepPipeline, + _ErrorLowerName[3940:3957]: ErrTooDeepPipeline, + _ErrorName[3957:3965]: ErrReadonly, + _ErrorLowerName[3957:3965]: ErrReadonly, + _ErrorName[3965:3991]: ErrTooManyTemporaryColumns, + _ErrorLowerName[3965:3991]: ErrTooManyTemporaryColumns, + _ErrorName[3991:4027]: ErrTooManyTemporaryNonConstColumns, + _ErrorLowerName[3991:4027]: ErrTooManyTemporaryNonConstColumns, + _ErrorName[4027:4039]: ErrTooDeepAst, + _ErrorLowerName[4027:4039]: ErrTooDeepAst, + _ErrorName[4039:4050]: ErrTooBigAst, + _ErrorLowerName[4039:4050]: ErrTooBigAst, + _ErrorName[4050:4067]: ErrBadTypeOfField, + _ErrorLowerName[4050:4067]: ErrBadTypeOfField, + _ErrorName[4067:4074]: ErrBadGet, + _ErrorLowerName[4067:4074]: ErrBadGet, + _ErrorName[4074:4105]: ErrBlocksHaveDifferentStructure, + _ErrorLowerName[4074:4105]: ErrBlocksHaveDifferentStructure, + _ErrorName[4105:4128]: ErrCannotCreateDirectory, + _ErrorLowerName[4105:4128]: ErrCannotCreateDirectory, + _ErrorName[4128:4150]: ErrCannotAllocateMemory, + _ErrorLowerName[4128:4150]: ErrCannotAllocateMemory, + _ErrorName[4150:4164]: ErrCyclicAliases, + _ErrorLowerName[4150:4164]: ErrCyclicAliases, + _ErrorName[4164:4179]: ErrChunkNotFound, + _ErrorLowerName[4164:4179]: ErrChunkNotFound, + _ErrorName[4179:4199]: ErrDuplicateChunkName, + _ErrorLowerName[4179:4199]: ErrDuplicateChunkName, + _ErrorName[4199:4230]: ErrMultipleAliasesForExpression, + _ErrorLowerName[4199:4230]: ErrMultipleAliasesForExpression, + _ErrorName[4230:4260]: ErrMultipleExpressionsForAlias, + _ErrorLowerName[4230:4260]: ErrMultipleExpressionsForAlias, + _ErrorName[4260:4279]: ErrThereIsNoProfile, + _ErrorLowerName[4260:4279]: ErrThereIsNoProfile, + _ErrorName[4279:4292]: ErrIllegalFinal, + _ErrorLowerName[4279:4292]: ErrIllegalFinal, + _ErrorName[4292:4308]: ErrIllegalPrewhere, + _ErrorLowerName[4292:4308]: ErrIllegalPrewhere, + _ErrorName[4308:4329]: ErrUnexpectedExpression, + _ErrorLowerName[4308:4329]: ErrUnexpectedExpression, + _ErrorName[4329:4348]: ErrIllegalAggregation, + _ErrorLowerName[4329:4348]: ErrIllegalAggregation, + _ErrorName[4348:4377]: ErrUnsupportedMyisamBlockType, + _ErrorLowerName[4348:4377]: ErrUnsupportedMyisamBlockType, + _ErrorName[4377:4405]: ErrUnsupportedCollationLocale, + _ErrorLowerName[4377:4405]: ErrUnsupportedCollationLocale, + _ErrorName[4405:4432]: ErrCollationComparisonFailed, + _ErrorLowerName[4405:4432]: ErrCollationComparisonFailed, + _ErrorName[4432:4446]: ErrUnknownAction, + _ErrorLowerName[4432:4446]: ErrUnknownAction, + _ErrorName[4446:4480]: ErrTableMustNotBeCreatedManually, + _ErrorLowerName[4446:4480]: ErrTableMustNotBeCreatedManually, + _ErrorName[4480:4506]: ErrSizesOfArraysDontMatch, + _ErrorLowerName[4480:4506]: ErrSizesOfArraysDontMatch, + _ErrorName[4506:4529]: ErrSetSizeLimitExceeded, + _ErrorLowerName[4506:4529]: ErrSetSizeLimitExceeded, + _ErrorName[4529:4541]: ErrUnknownUser, + _ErrorLowerName[4529:4541]: ErrUnknownUser, + _ErrorName[4541:4555]: ErrWrongPassword, + _ErrorLowerName[4541:4555]: ErrWrongPassword, + _ErrorName[4555:4572]: ErrRequiredPassword, + _ErrorLowerName[4555:4572]: ErrRequiredPassword, + _ErrorName[4572:4594]: ErrIPAddressNotAllowed, + _ErrorLowerName[4572:4594]: ErrIPAddressNotAllowed, + _ErrorName[4594:4622]: ErrUnknownAddressPatternType, + _ErrorLowerName[4594:4622]: ErrUnknownAddressPatternType, + _ErrorName[4622:4648]: ErrServerRevisionIsTooOld, + _ErrorLowerName[4622:4648]: ErrServerRevisionIsTooOld, + _ErrorName[4648:4657]: ErrDNSError, + _ErrorLowerName[4648:4657]: ErrDNSError, + _ErrorName[4657:4670]: ErrUnknownQuota, + _ErrorLowerName[4657:4670]: ErrUnknownQuota, + _ErrorName[4670:4693]: ErrQuotaDoesntAllowKeys, + _ErrorLowerName[4670:4693]: ErrQuotaDoesntAllowKeys, + _ErrorName[4693:4706]: ErrQuotaExpired, + _ErrorLowerName[4693:4706]: ErrQuotaExpired, + _ErrorName[4706:4735]: ErrTooManySimultaneousQueries, + _ErrorLowerName[4706:4735]: ErrTooManySimultaneousQueries, + _ErrorName[4735:4753]: ErrNoFreeConnection, + _ErrorLowerName[4735:4753]: ErrNoFreeConnection, + _ErrorName[4753:4765]: ErrCannotFsync, + _ErrorLowerName[4753:4765]: ErrCannotFsync, + _ErrorName[4765:4785]: ErrNestedTypeTooDeep, + _ErrorLowerName[4765:4785]: ErrNestedTypeTooDeep, + _ErrorName[4785:4799]: ErrAliasRequired, + _ErrorLowerName[4785:4799]: ErrAliasRequired, + _ErrorName[4799:4819]: ErrAmbiguousIdentifier, + _ErrorLowerName[4799:4819]: ErrAmbiguousIdentifier, + _ErrorName[4819:4837]: ErrEmptyNestedTable, + _ErrorLowerName[4819:4837]: ErrEmptyNestedTable, + _ErrorName[4837:4851]: ErrSocketTimeout, + _ErrorLowerName[4837:4851]: ErrSocketTimeout, + _ErrorName[4851:4864]: ErrNetworkError, + _ErrorLowerName[4851:4864]: ErrNetworkError, + _ErrorName[4864:4875]: ErrEmptyQuery, + _ErrorLowerName[4864:4875]: ErrEmptyQuery, + _ErrorName[4875:4897]: ErrUnknownLoadBalancing, + _ErrorLowerName[4875:4897]: ErrUnknownLoadBalancing, + _ErrorName[4897:4916]: ErrUnknownTotalsMode, + _ErrorLowerName[4897:4916]: ErrUnknownTotalsMode, + _ErrorName[4916:4930]: ErrCannotStatvfs, + _ErrorLowerName[4916:4930]: ErrCannotStatvfs, + _ErrorName[4930:4946]: ErrNotAnAggregate, + _ErrorLowerName[4930:4946]: ErrNotAnAggregate, + _ErrorName[4946:4983]: ErrQueryWithSameIDIsAlreadyRunning, + _ErrorLowerName[4946:4983]: ErrQueryWithSameIDIsAlreadyRunning, + _ErrorName[4983:5017]: ErrClientHasConnectedToWrongPort, + _ErrorLowerName[4983:5017]: ErrClientHasConnectedToWrongPort, + _ErrorName[5017:5033]: ErrTableIsDropped, + _ErrorLowerName[5017:5033]: ErrTableIsDropped, + _ErrorName[5033:5051]: ErrDatabaseNotEmpty, + _ErrorLowerName[5033:5051]: ErrDatabaseNotEmpty, + _ErrorName[5051:5084]: ErrDuplicateInterserverIOEndpoint, + _ErrorLowerName[5051:5084]: ErrDuplicateInterserverIOEndpoint, + _ErrorName[5084:5115]: ErrNoSuchInterserverIoEndpoint, + _ErrorLowerName[5084:5115]: ErrNoSuchInterserverIoEndpoint, + _ErrorName[5115:5148]: ErrAddingReplicaToNonEmptyTable, + _ErrorLowerName[5115:5148]: ErrAddingReplicaToNonEmptyTable, + _ErrorName[5148:5172]: ErrUnexpectedAstStructure, + _ErrorLowerName[5148:5172]: ErrUnexpectedAstStructure, + _ErrorName[5172:5197]: ErrReplicaIsAlreadyActive, + _ErrorLowerName[5172:5197]: ErrReplicaIsAlreadyActive, + _ErrorName[5197:5209]: ErrNoZookeeper, + _ErrorLowerName[5197:5209]: ErrNoZookeeper, + _ErrorName[5209:5229]: ErrNoFileInDataPart, + _ErrorLowerName[5209:5229]: ErrNoFileInDataPart, + _ErrorName[5229:5257]: ErrUnexpectedFileInDataPart, + _ErrorLowerName[5229:5257]: ErrUnexpectedFileInDataPart, + _ErrorName[5257:5286]: ErrBadSizeOfFileInDataPart, + _ErrorLowerName[5257:5286]: ErrBadSizeOfFileInDataPart, + _ErrorName[5286:5304]: ErrQueryIsTooLarge, + _ErrorLowerName[5286:5304]: ErrQueryIsTooLarge, + _ErrorName[5304:5332]: ErrNotFoundExpectedDataPart, + _ErrorLowerName[5304:5332]: ErrNotFoundExpectedDataPart, + _ErrorName[5332:5362]: ErrTooManyUnexpectedDataParts, + _ErrorLowerName[5332:5362]: ErrTooManyUnexpectedDataParts, + _ErrorName[5362:5379]: ErrNoSuchDataPart, + _ErrorLowerName[5362:5379]: ErrNoSuchDataPart, + _ErrorName[5379:5397]: ErrBadDataPartName, + _ErrorLowerName[5379:5397]: ErrBadDataPartName, + _ErrorName[5397:5416]: ErrNoReplicaHasPart, + _ErrorLowerName[5397:5416]: ErrNoReplicaHasPart, + _ErrorName[5416:5435]: ErrDuplicateDataPart, + _ErrorLowerName[5416:5435]: ErrDuplicateDataPart, + _ErrorName[5435:5442]: ErrAborted, + _ErrorLowerName[5435:5442]: ErrAborted, + _ErrorName[5442:5463]: ErrNoReplicaNameGiven, + _ErrorLowerName[5442:5463]: ErrNoReplicaNameGiven, + _ErrorName[5463:5485]: ErrFormatVersionTooOld, + _ErrorLowerName[5463:5485]: ErrFormatVersionTooOld, + _ErrorName[5485:5498]: ErrCannotMunmap, + _ErrorLowerName[5485:5498]: ErrCannotMunmap, + _ErrorName[5498:5511]: ErrCannotMremap, + _ErrorLowerName[5498:5511]: ErrCannotMremap, + _ErrorName[5511:5532]: ErrMemoryLimitExceeded, + _ErrorLowerName[5511:5532]: ErrMemoryLimitExceeded, + _ErrorName[5532:5550]: ErrTableIsReadOnly, + _ErrorLowerName[5532:5550]: ErrTableIsReadOnly, + _ErrorName[5550:5566]: ErrNotEnoughSpace, + _ErrorLowerName[5550:5566]: ErrNotEnoughSpace, + _ErrorName[5566:5592]: ErrUnexpectedZookeeperError, + _ErrorLowerName[5566:5592]: ErrUnexpectedZookeeperError, + _ErrorName[5592:5606]: ErrCorruptedData, + _ErrorLowerName[5592:5606]: ErrCorruptedData, + _ErrorName[5606:5620]: ErrIncorrectMark, + _ErrorLowerName[5606:5620]: ErrIncorrectMark, + _ErrorName[5620:5643]: ErrInvalidPartitionValue, + _ErrorLowerName[5620:5643]: ErrInvalidPartitionValue, + _ErrorName[5643:5667]: ErrNotEnoughBlockNumbers, + _ErrorLowerName[5643:5667]: ErrNotEnoughBlockNumbers, + _ErrorName[5667:5682]: ErrNoSuchReplica, + _ErrorLowerName[5667:5682]: ErrNoSuchReplica, + _ErrorName[5682:5696]: ErrTooManyParts, + _ErrorLowerName[5682:5696]: ErrTooManyParts, + _ErrorName[5696:5720]: ErrReplicaIsAlreadyExist, + _ErrorLowerName[5696:5720]: ErrReplicaIsAlreadyExist, + _ErrorName[5720:5738]: ErrNoActiveReplicas, + _ErrorLowerName[5720:5738]: ErrNoActiveReplicas, + _ErrorName[5738:5769]: ErrTooManyRetriesToFetchParts, + _ErrorLowerName[5738:5769]: ErrTooManyRetriesToFetchParts, + _ErrorName[5769:5793]: ErrPartitionAlreadyExists, + _ErrorLowerName[5769:5793]: ErrPartitionAlreadyExists, + _ErrorName[5793:5815]: ErrPartitionDoesntExist, + _ErrorLowerName[5793:5815]: ErrPartitionDoesntExist, + _ErrorName[5815:5851]: ErrUnionAllResultStructuresMismatch, + _ErrorLowerName[5815:5851]: ErrUnionAllResultStructuresMismatch, + _ErrorName[5851:5881]: ErrClientOutputFormatSpecified, + _ErrorLowerName[5851:5881]: ErrClientOutputFormatSpecified, + _ErrorName[5881:5905]: ErrUnknownBlockInfoField, + _ErrorLowerName[5881:5905]: ErrUnknownBlockInfoField, + _ErrorName[5905:5918]: ErrBadCollation, + _ErrorLowerName[5905:5918]: ErrBadCollation, + _ErrorName[5918:5937]: ErrCannotCompileCode, + _ErrorLowerName[5918:5937]: ErrCannotCompileCode, + _ErrorName[5937:5962]: ErrIncompatibleTypeOfJoin, + _ErrorLowerName[5937:5962]: ErrIncompatibleTypeOfJoin, + _ErrorName[5962:5982]: ErrNoAvailableReplica, + _ErrorLowerName[5962:5982]: ErrNoAvailableReplica, + _ErrorName[5982:6012]: ErrMismatchReplicasDataSources, + _ErrorLowerName[5982:6012]: ErrMismatchReplicasDataSources, + _ErrorName[6012:6052]: ErrStorageDoesntSupportParallelReplicas, + _ErrorLowerName[6012:6052]: ErrStorageDoesntSupportParallelReplicas, + _ErrorName[6052:6063]: ErrCPUIDError, + _ErrorLowerName[6052:6063]: ErrCPUIDError, + _ErrorName[6063:6076]: ErrInfiniteLoop, + _ErrorLowerName[6063:6076]: ErrInfiniteLoop, + _ErrorName[6076:6091]: ErrCannotCompress, + _ErrorLowerName[6076:6091]: ErrCannotCompress, + _ErrorName[6091:6108]: ErrCannotDecompress, + _ErrorLowerName[6091:6108]: ErrCannotDecompress, + _ErrorName[6108:6124]: ErrCannotIOSubmit, + _ErrorLowerName[6108:6124]: ErrCannotIOSubmit, + _ErrorName[6124:6143]: ErrCannotIOGetevents, + _ErrorLowerName[6124:6143]: ErrCannotIOGetevents, + _ErrorName[6143:6157]: ErrAioReadError, + _ErrorLowerName[6143:6157]: ErrAioReadError, + _ErrorName[6157:6172]: ErrAioWriteError, + _ErrorLowerName[6157:6172]: ErrAioWriteError, + _ErrorName[6172:6186]: ErrIndexNotUsed, + _ErrorLowerName[6172:6186]: ErrIndexNotUsed, + _ErrorName[6186:6201]: ErrLeadershipLost, + _ErrorLowerName[6186:6201]: ErrLeadershipLost, + _ErrorName[6201:6228]: ErrAllConnectionTriesFailed, + _ErrorLowerName[6201:6228]: ErrAllConnectionTriesFailed, + _ErrorName[6228:6245]: ErrNoAvailableData, + _ErrorLowerName[6228:6245]: ErrNoAvailableData, + _ErrorName[6245:6264]: ErrDictionaryIsEmpty, + _ErrorLowerName[6245:6264]: ErrDictionaryIsEmpty, + _ErrorName[6264:6279]: ErrIncorrectIndex, + _ErrorLowerName[6264:6279]: ErrIncorrectIndex, + _ErrorName[6279:6311]: ErrUnknownDistributedProductMode, + _ErrorLowerName[6279:6311]: ErrUnknownDistributedProductMode, + _ErrorName[6311:6332]: ErrWrongGlobalSubquery, + _ErrorLowerName[6311:6332]: ErrWrongGlobalSubquery, + _ErrorName[6332:6353]: ErrTooFewLiveReplicas, + _ErrorLowerName[6332:6353]: ErrTooFewLiveReplicas, + _ErrorName[6353:6390]: ErrUnsatisfiedQuorumForPreviousWrite, + _ErrorLowerName[6353:6390]: ErrUnsatisfiedQuorumForPreviousWrite, + _ErrorName[6390:6412]: ErrUnknownFormatVersion, + _ErrorLowerName[6390:6412]: ErrUnknownFormatVersion, + _ErrorName[6412:6447]: ErrDistributedInJoinSubqueryDenied, + _ErrorLowerName[6412:6447]: ErrDistributedInJoinSubqueryDenied, + _ErrorName[6447:6471]: ErrReplicaIsNotInQuorum, + _ErrorLowerName[6447:6471]: ErrReplicaIsNotInQuorum, + _ErrorName[6471:6485]: ErrLimitExceeded, + _ErrorLowerName[6471:6485]: ErrLimitExceeded, + _ErrorName[6485:6507]: ErrDatabaseAccessDenied, + _ErrorLowerName[6485:6507]: ErrDatabaseAccessDenied, + _ErrorName[6507:6525]: ErrLeadershipChanged, + _ErrorLowerName[6507:6525]: ErrLeadershipChanged, + _ErrorName[6525:6552]: ErrMongodbCannotAuthenticate, + _ErrorLowerName[6525:6552]: ErrMongodbCannotAuthenticate, + _ErrorName[6552:6572]: ErrCannotWriteToFile, + _ErrorLowerName[6552:6572]: ErrCannotWriteToFile, + _ErrorName[6572:6591]: ErrReceivedEmptyData, + _ErrorLowerName[6572:6591]: ErrReceivedEmptyData, + _ErrorName[6591:6612]: ErrNoRemoteShardFound, + _ErrorLowerName[6591:6612]: ErrNoRemoteShardFound, + _ErrorName[6612:6636]: ErrShardHasNoConnections, + _ErrorLowerName[6612:6636]: ErrShardHasNoConnections, + _ErrorName[6636:6647]: ErrCannotPipe, + _ErrorLowerName[6636:6647]: ErrCannotPipe, + _ErrorName[6647:6658]: ErrCannotFork, + _ErrorLowerName[6647:6658]: ErrCannotFork, + _ErrorName[6658:6670]: ErrCannotDlsym, + _ErrorLowerName[6658:6670]: ErrCannotDlsym, + _ErrorName[6670:6697]: ErrCannotCreateChildProcess, + _ErrorLowerName[6670:6697]: ErrCannotCreateChildProcess, + _ErrorName[6697:6726]: ErrChildWasNotExitedNormally, + _ErrorLowerName[6697:6726]: ErrChildWasNotExitedNormally, + _ErrorName[6726:6739]: ErrCannotSelect, + _ErrorLowerName[6726:6739]: ErrCannotSelect, + _ErrorName[6739:6753]: ErrCannotWaitpid, + _ErrorLowerName[6739:6753]: ErrCannotWaitpid, + _ErrorName[6753:6774]: ErrTableWasNotDropped, + _ErrorLowerName[6753:6774]: ErrTableWasNotDropped, + _ErrorName[6774:6792]: ErrTooDeepRecursion, + _ErrorLowerName[6774:6792]: ErrTooDeepRecursion, + _ErrorName[6792:6806]: ErrTooManyBytes, + _ErrorLowerName[6792:6806]: ErrTooManyBytes, + _ErrorName[6806:6834]: ErrUnexpectedNodeInZookeeper, + _ErrorLowerName[6806:6834]: ErrUnexpectedNodeInZookeeper, + _ErrorName[6834:6865]: ErrFunctionCannotHaveParameters, + _ErrorLowerName[6834:6865]: ErrFunctionCannotHaveParameters, + _ErrorName[6865:6885]: ErrInvalidShardWeight, + _ErrorLowerName[6865:6885]: ErrInvalidShardWeight, + _ErrorName[6885:6909]: ErrInvalidConfigParameter, + _ErrorLowerName[6885:6909]: ErrInvalidConfigParameter, + _ErrorName[6909:6933]: ErrUnknownStatusOfInsert, + _ErrorLowerName[6909:6933]: ErrUnknownStatusOfInsert, + _ErrorName[6933:6967]: ErrValueIsOutOfRangeOfDataType, + _ErrorLowerName[6933:6967]: ErrValueIsOutOfRangeOfDataType, + _ErrorName[6967:6982]: ErrBarrierTimeout, + _ErrorLowerName[6967:6982]: ErrBarrierTimeout, + _ErrorName[6982:7005]: ErrUnknownDatabaseEngine, + _ErrorLowerName[6982:7005]: ErrUnknownDatabaseEngine, + _ErrorName[7005:7024]: ErrDdlGuardIsActive, + _ErrorLowerName[7005:7024]: ErrDdlGuardIsActive, + _ErrorName[7024:7034]: ErrUnfinished, + _ErrorLowerName[7024:7034]: ErrUnfinished, + _ErrorName[7034:7051]: ErrMetadataMismatch, + _ErrorLowerName[7034:7051]: ErrMetadataMismatch, + _ErrorName[7051:7070]: ErrSupportIsDisabled, + _ErrorLowerName[7051:7070]: ErrSupportIsDisabled, + _ErrorName[7070:7092]: ErrTableDiffersTooMuch, + _ErrorLowerName[7070:7092]: ErrTableDiffersTooMuch, + _ErrorName[7092:7114]: ErrCannotConvertCharset, + _ErrorLowerName[7092:7114]: ErrCannotConvertCharset, + _ErrorName[7114:7132]: ErrCannotLoadConfig, + _ErrorLowerName[7114:7132]: ErrCannotLoadConfig, + _ErrorName[7132:7169]: ErrCannotInsertNullInOrdinaryColumn, + _ErrorLowerName[7132:7169]: ErrCannotInsertNullInOrdinaryColumn, + _ErrorName[7169:7195]: ErrIncompatibleSourceTables, + _ErrorLowerName[7169:7195]: ErrIncompatibleSourceTables, + _ErrorName[7195:7215]: ErrAmbiguousTableName, + _ErrorLowerName[7195:7215]: ErrAmbiguousTableName, + _ErrorName[7215:7236]: ErrAmbiguousColumnName, + _ErrorLowerName[7215:7236]: ErrAmbiguousColumnName, + _ErrorName[7236:7280]: ErrIndexOfPositionalArgumentIsOutOfRange, + _ErrorLowerName[7236:7280]: ErrIndexOfPositionalArgumentIsOutOfRange, + _ErrorName[7280:7299]: ErrZlibInflateFailed, + _ErrorLowerName[7280:7299]: ErrZlibInflateFailed, + _ErrorName[7299:7318]: ErrZlibDeflateFailed, + _ErrorLowerName[7299:7318]: ErrZlibDeflateFailed, + _ErrorName[7318:7328]: ErrBadLambda, + _ErrorLowerName[7318:7328]: ErrBadLambda, + _ErrorName[7328:7352]: ErrReservedIdentifierName, + _ErrorLowerName[7328:7352]: ErrReservedIdentifierName, + _ErrorName[7352:7376]: ErrIntoOutfileNotAllowed, + _ErrorLowerName[7352:7376]: ErrIntoOutfileNotAllowed, + _ErrorName[7376:7414]: ErrTableSizeExceedsMaxDropSizeLimit, + _ErrorLowerName[7376:7414]: ErrTableSizeExceedsMaxDropSizeLimit, + _ErrorName[7414:7445]: ErrCannotCreateCharsetConverter, + _ErrorLowerName[7414:7445]: ErrCannotCreateCharsetConverter, + _ErrorName[7445:7471]: ErrSeekPositionOutOfBound, + _ErrorLowerName[7445:7471]: ErrSeekPositionOutOfBound, + _ErrorName[7471:7504]: ErrCurrentWriteBufferIsExhausted, + _ErrorLowerName[7471:7504]: ErrCurrentWriteBufferIsExhausted, + _ErrorName[7504:7527]: ErrCannotCreateIoBuffer, + _ErrorLowerName[7504:7527]: ErrCannotCreateIoBuffer, + _ErrorName[7527:7559]: ErrReceivedErrorTooManyRequests, + _ErrorLowerName[7527:7559]: ErrReceivedErrorTooManyRequests, + _ErrorName[7559:7579]: ErrOutputIsNotSorted, + _ErrorLowerName[7559:7579]: ErrOutputIsNotSorted, + _ErrorName[7579:7619]: ErrSizesOfNestedColumnsAreInconsistent, + _ErrorLowerName[7579:7619]: ErrSizesOfNestedColumnsAreInconsistent, + _ErrorName[7619:7635]: ErrTooManyFetches, + _ErrorLowerName[7619:7635]: ErrTooManyFetches, + _ErrorName[7635:7643]: ErrBadCast, + _ErrorLowerName[7635:7643]: ErrBadCast, + _ErrorName[7643:7665]: ErrAllReplicasAreStale, + _ErrorLowerName[7643:7665]: ErrAllReplicasAreStale, + _ErrorName[7665:7699]: ErrDataTypeCannotBeUsedInTables, + _ErrorLowerName[7665:7699]: ErrDataTypeCannotBeUsedInTables, + _ErrorName[7699:7730]: ErrInconsistentClusterDefinition, + _ErrorLowerName[7699:7730]: ErrInconsistentClusterDefinition, + _ErrorName[7730:7747]: ErrSessionNotFound, + _ErrorLowerName[7730:7747]: ErrSessionNotFound, + _ErrorName[7747:7764]: ErrSessionIsLocked, + _ErrorLowerName[7747:7764]: ErrSessionIsLocked, + _ErrorName[7764:7787]: ErrInvalidSessionTimeout, + _ErrorLowerName[7764:7787]: ErrInvalidSessionTimeout, + _ErrorName[7787:7800]: ErrCannotDlopen, + _ErrorLowerName[7787:7800]: ErrCannotDlopen, + _ErrorName[7800:7817]: ErrCannotParseUUID, + _ErrorLowerName[7800:7817]: ErrCannotParseUUID, + _ErrorName[7817:7845]: ErrIllegalSyntaxForDataType, + _ErrorLowerName[7817:7845]: ErrIllegalSyntaxForDataType, + _ErrorName[7845:7876]: ErrDataTypeCannotHaveArguments, + _ErrorLowerName[7845:7876]: ErrDataTypeCannotHaveArguments, + _ErrorName[7876:7914]: ErrUnknownStatusOfDistributedDdlTask, + _ErrorLowerName[7876:7914]: ErrUnknownStatusOfDistributedDdlTask, + _ErrorName[7914:7925]: ErrCannotKill, + _ErrorLowerName[7914:7925]: ErrCannotKill, + _ErrorName[7925:7945]: ErrHTTPLengthRequired, + _ErrorLowerName[7925:7945]: ErrHTTPLengthRequired, + _ErrorName[7945:7971]: ErrCannotLoadCatboostModel, + _ErrorLowerName[7945:7971]: ErrCannotLoadCatboostModel, + _ErrorName[7971:7998]: ErrCannotApplyCatboostModel, + _ErrorLowerName[7971:7998]: ErrCannotApplyCatboostModel, + _ErrorName[7998:8024]: ErrPartIsTemporarilyLocked, + _ErrorLowerName[7998:8024]: ErrPartIsTemporarilyLocked, + _ErrorName[8024:8049]: ErrMultipleStreamsRequired, + _ErrorLowerName[8024:8049]: ErrMultipleStreamsRequired, + _ErrorName[8049:8063]: ErrNoCommonType, + _ErrorLowerName[8049:8063]: ErrNoCommonType, + _ErrorName[8063:8095]: ErrExternalLoadableAlreadyExists, + _ErrorLowerName[8063:8095]: ErrExternalLoadableAlreadyExists, + _ErrorName[8095:8117]: ErrCannotAssignOptimize, + _ErrorLowerName[8095:8117]: ErrCannotAssignOptimize, + _ErrorName[8117:8140]: ErrInsertWasDeduplicated, + _ErrorLowerName[8117:8140]: ErrInsertWasDeduplicated, + _ErrorName[8140:8169]: ErrCannotGetCreateTableQuery, + _ErrorLowerName[8140:8169]: ErrCannotGetCreateTableQuery, + _ErrorName[8169:8191]: ErrExternalLibraryError, + _ErrorLowerName[8169:8191]: ErrExternalLibraryError, + _ErrorName[8191:8210]: ErrQueryIsProhibited, + _ErrorLowerName[8191:8210]: ErrQueryIsProhibited, + _ErrorName[8210:8227]: ErrThereIsNoQuery, + _ErrorLowerName[8210:8227]: ErrThereIsNoQuery, + _ErrorName[8227:8246]: ErrQueryWasCancelled, + _ErrorLowerName[8227:8246]: ErrQueryWasCancelled, + _ErrorName[8246:8281]: ErrFunctionThrowIfValueIsNonZero, + _ErrorLowerName[8246:8281]: ErrFunctionThrowIfValueIsNonZero, + _ErrorName[8281:8303]: ErrTooManyRowsOrBytes, + _ErrorLowerName[8281:8303]: ErrTooManyRowsOrBytes, + _ErrorName[8303:8346]: ErrQueryIsNotSupportedInMaterializedView, + _ErrorLowerName[8303:8346]: ErrQueryIsNotSupportedInMaterializedView, + _ErrorName[8346:8370]: ErrUnknownMutationCommand, + _ErrorLowerName[8346:8370]: ErrUnknownMutationCommand, + _ErrorName[8370:8403]: ErrFormatIsNotSuitableForOutput, + _ErrorLowerName[8370:8403]: ErrFormatIsNotSuitableForOutput, + _ErrorName[8403:8414]: ErrCannotStat, + _ErrorLowerName[8403:8414]: ErrCannotStat, + _ErrorName[8414:8450]: ErrFeatureIsNotEnabledAtBuildTime, + _ErrorLowerName[8414:8450]: ErrFeatureIsNotEnabledAtBuildTime, + _ErrorName[8450:8464]: ErrCannotIosetup, + _ErrorLowerName[8450:8464]: ErrCannotIosetup, + _ErrorName[8464:8490]: ErrInvalidJoinOnExpression, + _ErrorLowerName[8464:8490]: ErrInvalidJoinOnExpression, + _ErrorName[8490:8516]: ErrBadOdbcConnectionString, + _ErrorLowerName[8490:8516]: ErrBadOdbcConnectionString, + _ErrorName[8516:8538]: ErrTopAndLimitTogether, + _ErrorLowerName[8516:8538]: ErrTopAndLimitTogether, + _ErrorName[8538:8554]: ErrDecimalOverflow, + _ErrorLowerName[8538:8554]: ErrDecimalOverflow, + _ErrorName[8554:8575]: ErrBadRequestParameter, + _ErrorLowerName[8554:8575]: ErrBadRequestParameter, + _ErrorName[8575:8608]: ErrExternalServerIsNotResponding, + _ErrorLowerName[8575:8608]: ErrExternalServerIsNotResponding, + _ErrorName[8608:8621]: ErrPthreadError, + _ErrorLowerName[8608:8621]: ErrPthreadError, + _ErrorName[8621:8634]: ErrNetlinkError, + _ErrorLowerName[8621:8634]: ErrNetlinkError, + _ErrorName[8634:8659]: ErrCannotSetSignalHandler, + _ErrorLowerName[8634:8659]: ErrCannotSetSignalHandler, + _ErrorName[8659:8676]: ErrAllReplicasLost, + _ErrorLowerName[8659:8676]: ErrAllReplicasLost, + _ErrorName[8676:8698]: ErrReplicaStatusChanged, + _ErrorLowerName[8676:8698]: ErrReplicaStatusChanged, + _ErrorName[8698:8717]: ErrExpectedAllOrAny, + _ErrorLowerName[8698:8717]: ErrExpectedAllOrAny, + _ErrorName[8717:8729]: ErrUnknownJoin, + _ErrorLowerName[8717:8729]: ErrUnknownJoin, + _ErrorName[8729:8759]: ErrMultipleAssignmentsToColumn, + _ErrorLowerName[8729:8759]: ErrMultipleAssignmentsToColumn, + _ErrorName[8759:8779]: ErrCannotUpdateColumn, + _ErrorLowerName[8759:8779]: ErrCannotUpdateColumn, + _ErrorName[8779:8816]: ErrCannotAddDifferentAggregateStates, + _ErrorLowerName[8779:8816]: ErrCannotAddDifferentAggregateStates, + _ErrorName[8816:8838]: ErrUnsupportedURIScheme, + _ErrorLowerName[8816:8838]: ErrUnsupportedURIScheme, + _ErrorName[8838:8857]: ErrCannotGettimeofday, + _ErrorLowerName[8838:8857]: ErrCannotGettimeofday, + _ErrorName[8857:8868]: ErrCannotLink, + _ErrorLowerName[8857:8868]: ErrCannotLink, + _ErrorName[8868:8880]: ErrSystemError, + _ErrorLowerName[8868:8880]: ErrSystemError, + _ErrorName[8880:8901]: ErrCannotCompileRegexp, + _ErrorLowerName[8880:8901]: ErrCannotCompileRegexp, + _ErrorName[8901:8919]: ErrFailedToGetpwuid, + _ErrorLowerName[8901:8919]: ErrFailedToGetpwuid, + _ErrorName[8919:8957]: ErrMismatchingUsersForProcessAndData, + _ErrorLowerName[8919:8957]: ErrMismatchingUsersForProcessAndData, + _ErrorName[8957:8986]: ErrIllegalSyntaxForCodecType, + _ErrorLowerName[8957:8986]: ErrIllegalSyntaxForCodecType, + _ErrorName[8986:8999]: ErrUnknownCodec, + _ErrorLowerName[8986:8999]: ErrUnknownCodec, + _ErrorName[8999:9022]: ErrIllegalCodecParameter, + _ErrorLowerName[8999:9022]: ErrIllegalCodecParameter, + _ErrorName[9022:9050]: ErrCannotParseProtobufSchema, + _ErrorLowerName[9022:9050]: ErrCannotParseProtobufSchema, + _ErrorName[9050:9097]: ErrNoColumnSerializedToRequiredProtobufField, + _ErrorLowerName[9050:9097]: ErrNoColumnSerializedToRequiredProtobufField, + _ErrorName[9097:9114]: ErrProtobufBadCast, + _ErrorLowerName[9097:9114]: ErrProtobufBadCast, + _ErrorName[9114:9141]: ErrProtobufFieldNotRepeated, + _ErrorLowerName[9114:9141]: ErrProtobufFieldNotRepeated, + _ErrorName[9141:9169]: ErrDataTypeCannotBePromoted, + _ErrorLowerName[9141:9169]: ErrDataTypeCannotBePromoted, + _ErrorName[9169:9189]: ErrCannotScheduleTask, + _ErrorLowerName[9169:9189]: ErrCannotScheduleTask, + _ErrorName[9189:9213]: ErrInvalidLimitExpression, + _ErrorLowerName[9189:9213]: ErrInvalidLimitExpression, + _ErrorName[9213:9250]: ErrCannotParseDomainValueFromString, + _ErrorLowerName[9213:9250]: ErrCannotParseDomainValueFromString, + _ErrorName[9250:9282]: ErrBadDatabaseForTemporaryTable, + _ErrorLowerName[9250:9282]: ErrBadDatabaseForTemporaryTable, + _ErrorName[9282:9322]: ErrNoColumnsSerializedToProtobufFields, + _ErrorLowerName[9282:9322]: ErrNoColumnsSerializedToProtobufFields, + _ErrorName[9322:9345]: ErrUnknownProtobufFormat, + _ErrorLowerName[9322:9345]: ErrUnknownProtobufFormat, + _ErrorName[9345:9360]: ErrCannotMprotect, + _ErrorLowerName[9345:9360]: ErrCannotMprotect, + _ErrorName[9360:9380]: ErrFunctionNotAllowed, + _ErrorLowerName[9360:9380]: ErrFunctionNotAllowed, + _ErrorName[9380:9406]: ErrHyperscanCannotScanText, + _ErrorLowerName[9380:9406]: ErrHyperscanCannotScanText, + _ErrorName[9406:9424]: ErrBrotliReadFailed, + _ErrorLowerName[9406:9424]: ErrBrotliReadFailed, + _ErrorName[9424:9443]: ErrBrotliWriteFailed, + _ErrorLowerName[9424:9443]: ErrBrotliWriteFailed, + _ErrorName[9443:9461]: ErrBadTTLExpression, + _ErrorLowerName[9443:9461]: ErrBadTTLExpression, + _ErrorName[9461:9473]: ErrBadTTLFile, + _ErrorLowerName[9461:9473]: ErrBadTTLFile, + _ErrorName[9473:9501]: ErrSettingConstraintViolation, + _ErrorLowerName[9473:9501]: ErrSettingConstraintViolation, + _ErrorName[9501:9539]: ErrMysqlClientInsufficientCapabilities, + _ErrorLowerName[9501:9539]: ErrMysqlClientInsufficientCapabilities, + _ErrorName[9539:9552]: ErrOpensslError, + _ErrorLowerName[9539:9552]: ErrOpensslError, + _ErrorName[9552:9587]: ErrSuspiciousTypeForLowCardinality, + _ErrorLowerName[9552:9587]: ErrSuspiciousTypeForLowCardinality, + _ErrorName[9587:9610]: ErrUnknownQueryParameter, + _ErrorLowerName[9587:9610]: ErrUnknownQueryParameter, + _ErrorName[9610:9629]: ErrBadQueryParameter, + _ErrorLowerName[9610:9629]: ErrBadQueryParameter, + _ErrorName[9629:9642]: ErrCannotUnlink, + _ErrorLowerName[9629:9642]: ErrCannotUnlink, + _ErrorName[9642:9668]: ErrCannotSetThreadPriority, + _ErrorLowerName[9642:9668]: ErrCannotSetThreadPriority, + _ErrorName[9668:9687]: ErrCannotCreateTimer, + _ErrorLowerName[9668:9687]: ErrCannotCreateTimer, + _ErrorName[9687:9710]: ErrCannotSetTimerPeriod, + _ErrorLowerName[9687:9710]: ErrCannotSetTimerPeriod, + _ErrorName[9710:9722]: ErrCannotFcntl, + _ErrorLowerName[9710:9722]: ErrCannotFcntl, + _ErrorName[9722:9738]: ErrCannotParseElf, + _ErrorLowerName[9722:9738]: ErrCannotParseElf, + _ErrorName[9738:9756]: ErrCannotParseDwarf, + _ErrorLowerName[9738:9756]: ErrCannotParseDwarf, + _ErrorName[9756:9769]: ErrInsecurePath, + _ErrorLowerName[9756:9769]: ErrInsecurePath, + _ErrorName[9769:9786]: ErrCannotParseBool, + _ErrorLowerName[9769:9786]: ErrCannotParseBool, + _ErrorName[9786:9805]: ErrCannotPthreadAttr, + _ErrorLowerName[9786:9805]: ErrCannotPthreadAttr, + _ErrorName[9805:9824]: ErrViolatedConstraint, + _ErrorLowerName[9805:9824]: ErrViolatedConstraint, + _ErrorName[9824:9845]: ErrInvalidSettingValue, + _ErrorLowerName[9824:9845]: ErrInvalidSettingValue, + _ErrorName[9845:9861]: ErrReadonlySetting, + _ErrorLowerName[9845:9861]: ErrReadonlySetting, + _ErrorName[9861:9877]: ErrDeadlockAvoided, + _ErrorLowerName[9861:9877]: ErrDeadlockAvoided, + _ErrorName[9877:9900]: ErrInvalidTemplateFormat, + _ErrorLowerName[9877:9900]: ErrInvalidTemplateFormat, + _ErrorName[9900:9928]: ErrInvalidWithFillExpression, + _ErrorLowerName[9900:9928]: ErrInvalidWithFillExpression, + _ErrorName[9928:9954]: ErrWithTiesWithoutOrderBy, + _ErrorLowerName[9928:9954]: ErrWithTiesWithoutOrderBy, + _ErrorName[9954:9976]: ErrInvalidUsageOfInput, + _ErrorLowerName[9954:9976]: ErrInvalidUsageOfInput, + _ErrorName[9976:9990]: ErrUnknownPolicy, + _ErrorLowerName[9976:9990]: ErrUnknownPolicy, + _ErrorName[9990:10002]: ErrUnknownDisk, + _ErrorLowerName[9990:10002]: ErrUnknownDisk, + _ErrorName[10002:10018]: ErrUnknownProtocol, + _ErrorLowerName[10002:10018]: ErrUnknownProtocol, + _ErrorName[10018:10036]: ErrPathAccessDenied, + _ErrorLowerName[10018:10036]: ErrPathAccessDenied, + _ErrorName[10036:10060]: ErrDictionaryAccessDenied, + _ErrorLowerName[10036:10060]: ErrDictionaryAccessDenied, + _ErrorName[10060:10078]: ErrTooManyRedirects, + _ErrorLowerName[10060:10078]: ErrTooManyRedirects, + _ErrorName[10078:10098]: ErrInternalRedisError, + _ErrorLowerName[10078:10098]: ErrInternalRedisError, + _ErrorName[10098:10132]: ErrCannotGetCreateDictionaryQuery, + _ErrorLowerName[10098:10132]: ErrCannotGetCreateDictionaryQuery, + _ErrorName[10132:10163]: ErrIncorrectDictionaryDefinition, + _ErrorLowerName[10132:10163]: ErrIncorrectDictionaryDefinition, + _ErrorName[10163:10185]: ErrCannotFormatDatetime, + _ErrorLowerName[10163:10185]: ErrCannotFormatDatetime, + _ErrorName[10185:10201]: ErrUnacceptableURL, + _ErrorLowerName[10185:10201]: ErrUnacceptableURL, + _ErrorName[10201:10224]: ErrAccessEntityNotFound, + _ErrorLowerName[10201:10224]: ErrAccessEntityNotFound, + _ErrorName[10224:10252]: ErrAccessEntityAlreadyExists, + _ErrorLowerName[10224:10252]: ErrAccessEntityAlreadyExists, + _ErrorName[10252:10275]: ErrAccessStorageReadonly, + _ErrorLowerName[10252:10275]: ErrAccessStorageReadonly, + _ErrorName[10275:10300]: ErrQuotaRequiresClientKey, + _ErrorLowerName[10275:10300]: ErrQuotaRequiresClientKey, + _ErrorName[10300:10313]: ErrAccessDenied, + _ErrorLowerName[10300:10313]: ErrAccessDenied, + _ErrorName[10313:10348]: ErrLimitByWithTiesIsNotSupported, + _ErrorLowerName[10313:10348]: ErrLimitByWithTiesIsNotSupported, + _ErrorName[10348:10356]: ErrS3Error, + _ErrorLowerName[10348:10356]: ErrS3Error, + _ErrorName[10356:10380]: ErrAzureBlobStorageError, + _ErrorLowerName[10356:10380]: ErrAzureBlobStorageError, + _ErrorName[10380:10402]: ErrCannotCreateDatabase, + _ErrorLowerName[10380:10402]: ErrCannotCreateDatabase, + _ErrorName[10402:10417]: ErrCannotSigqueue, + _ErrorLowerName[10402:10417]: ErrCannotSigqueue, + _ErrorName[10417:10441]: ErrAggregateFunctionThrow, + _ErrorLowerName[10417:10441]: ErrAggregateFunctionThrow, + _ErrorName[10441:10460]: ErrFileAlreadyExists, + _ErrorLowerName[10441:10460]: ErrFileAlreadyExists, + _ErrorName[10460:10488]: ErrUnableToSkipUnusedShards, + _ErrorLowerName[10460:10488]: ErrUnableToSkipUnusedShards, + _ErrorName[10488:10507]: ErrUnknownAccessType, + _ErrorLowerName[10488:10507]: ErrUnknownAccessType, + _ErrorName[10507:10520]: ErrInvalidGrant, + _ErrorLowerName[10507:10520]: ErrInvalidGrant, + _ErrorName[10520:10548]: ErrCacheDictionaryUpdateFail, + _ErrorLowerName[10520:10548]: ErrCacheDictionaryUpdateFail, + _ErrorName[10548:10560]: ErrUnknownRole, + _ErrorLowerName[10548:10560]: ErrUnknownRole, + _ErrorName[10560:10580]: ErrSetNonGrantedRole, + _ErrorLowerName[10560:10580]: ErrSetNonGrantedRole, + _ErrorName[10580:10597]: ErrUnknownPartType, + _ErrorLowerName[10580:10597]: ErrUnknownPartType, + _ErrorName[10597:10635]: ErrAccessStorageForInsertionNotFound, + _ErrorLowerName[10597:10635]: ErrAccessStorageForInsertionNotFound, + _ErrorName[10635:10669]: ErrIncorrectAccessEntityDefinition, + _ErrorLowerName[10635:10669]: ErrIncorrectAccessEntityDefinition, + _ErrorName[10669:10690]: ErrAuthenticationFailed, + _ErrorLowerName[10669:10690]: ErrAuthenticationFailed, + _ErrorName[10690:10709]: ErrCannotAssignAlter, + _ErrorLowerName[10690:10709]: ErrCannotAssignAlter, + _ErrorName[10709:10729]: ErrCannotCommitOffset, + _ErrorLowerName[10709:10729]: ErrCannotCommitOffset, + _ErrorName[10729:10754]: ErrNoRemoteShardAvailable, + _ErrorLowerName[10729:10754]: ErrNoRemoteShardAvailable, + _ErrorName[10754:10787]: ErrCannotDetachDictionaryAsTable, + _ErrorLowerName[10754:10787]: ErrCannotDetachDictionaryAsTable, + _ErrorName[10787:10805]: ErrAtomicRenameFail, + _ErrorLowerName[10787:10805]: ErrAtomicRenameFail, + _ErrorName[10805:10823]: ErrUnknownRowPolicy, + _ErrorLowerName[10805:10823]: ErrUnknownRowPolicy, + _ErrorName[10823:10851]: ErrAlterOfColumnIsForbidden, + _ErrorLowerName[10823:10851]: ErrAlterOfColumnIsForbidden, + _ErrorName[10851:10871]: ErrIncorrectDiskIndex, + _ErrorLowerName[10851:10871]: ErrIncorrectDiskIndex, + _ErrorName[10871:10906]: ErrNoSuitableFunctionImplementation, + _ErrorLowerName[10871:10906]: ErrNoSuitableFunctionImplementation, + _ErrorName[10906:10930]: ErrCassandraInternalError, + _ErrorLowerName[10906:10930]: ErrCassandraInternalError, + _ErrorName[10930:10942]: ErrNotALeader, + _ErrorLowerName[10930:10942]: ErrNotALeader, + _ErrorName[10942:10965]: ErrCannotConnectRabbitmq, + _ErrorLowerName[10942:10965]: ErrCannotConnectRabbitmq, + _ErrorName[10965:10977]: ErrCannotFstat, + _ErrorLowerName[10965:10977]: ErrCannotFstat, + _ErrorName[10977:10987]: ErrLdapError, + _ErrorLowerName[10977:10987]: ErrLdapError, + _ErrorName[10987:11004]: ErrUnknownRaidType, + _ErrorLowerName[10987:11004]: ErrUnknownRaidType, + _ErrorName[11004:11034]: ErrCannotRestoreFromFieldDump, + _ErrorLowerName[11004:11034]: ErrCannotRestoreFromFieldDump, + _ErrorName[11034:11056]: ErrIllegalMysqlVariable, + _ErrorLowerName[11034:11056]: ErrIllegalMysqlVariable, + _ErrorName[11056:11074]: ErrMysqlSyntaxError, + _ErrorLowerName[11056:11074]: ErrMysqlSyntaxError, + _ErrorName[11074:11103]: ErrCannotBindRabbitmqExchange, + _ErrorLowerName[11074:11103]: ErrCannotBindRabbitmqExchange, + _ErrorName[11103:11135]: ErrCannotDeclareRabbitmqExchange, + _ErrorLowerName[11103:11135]: ErrCannotDeclareRabbitmqExchange, + _ErrorName[11135:11171]: ErrCannotCreateRabbitmqQueueBinding, + _ErrorLowerName[11135:11171]: ErrCannotCreateRabbitmqQueueBinding, + _ErrorName[11171:11202]: ErrCannotRemoveRabbitmqExchange, + _ErrorLowerName[11171:11202]: ErrCannotRemoveRabbitmqExchange, + _ErrorName[11202:11239]: ErrUnknownMysqlDatatypesSupportLevel, + _ErrorLowerName[11202:11239]: ErrUnknownMysqlDatatypesSupportLevel, + _ErrorName[11239:11260]: ErrRowAndRowsTogether, + _ErrorLowerName[11239:11260]: ErrRowAndRowsTogether, + _ErrorName[11260:11283]: ErrFirstAndNextTogether, + _ErrorLowerName[11260:11283]: ErrFirstAndNextTogether, + _ErrorName[11283:11299]: ErrNoRowDelimiter, + _ErrorLowerName[11283:11299]: ErrNoRowDelimiter, + _ErrorName[11299:11316]: ErrInvalidRaidType, + _ErrorLowerName[11299:11316]: ErrInvalidRaidType, + _ErrorName[11316:11330]: ErrUnknownVolume, + _ErrorLowerName[11316:11330]: ErrUnknownVolume, + _ErrorName[11330:11361]: ErrDataTypeCannotBeUsedInKey, + _ErrorLowerName[11330:11361]: ErrDataTypeCannotBeUsedInKey, + _ErrorName[11361:11383]: ErrUnrecognizedArguments, + _ErrorLowerName[11361:11383]: ErrUnrecognizedArguments, + _ErrorName[11383:11409]: ErrLzmaStreamEncoderFailed, + _ErrorLowerName[11383:11409]: ErrLzmaStreamEncoderFailed, + _ErrorName[11409:11435]: ErrLzmaStreamDecoderFailed, + _ErrorLowerName[11409:11435]: ErrLzmaStreamDecoderFailed, + _ErrorName[11435:11448]: ErrRocksdbError, + _ErrorLowerName[11435:11448]: ErrRocksdbError, + _ErrorName[11448:11476]: ErrSyncMysqlUserAccessError, + _ErrorLowerName[11448:11476]: ErrSyncMysqlUserAccessError, + _ErrorName[11476:11489]: ErrUnknownUnion, + _ErrorLowerName[11476:11489]: ErrUnknownUnion, + _ErrorName[11489:11513]: ErrExpectedAllOrDistinct, + _ErrorLowerName[11489:11513]: ErrExpectedAllOrDistinct, + _ErrorName[11513:11536]: ErrInvalidGrpcQueryInfo, + _ErrorLowerName[11513:11536]: ErrInvalidGrpcQueryInfo, + _ErrorName[11536:11555]: ErrZstdEncoderFailed, + _ErrorLowerName[11536:11555]: ErrZstdEncoderFailed, + _ErrorName[11555:11574]: ErrZstdDecoderFailed, + _ErrorLowerName[11555:11574]: ErrZstdDecoderFailed, + _ErrorName[11574:11592]: ErrTldListNotFound, + _ErrorLowerName[11574:11592]: ErrTldListNotFound, + _ErrorName[11592:11617]: ErrCannotReadMapFromText, + _ErrorLowerName[11592:11617]: ErrCannotReadMapFromText, + _ErrorName[11617:11648]: ErrInterserverSchemeDoesntMatch, + _ErrorLowerName[11617:11648]: ErrInterserverSchemeDoesntMatch, + _ErrorName[11648:11667]: ErrTooManyPartitions, + _ErrorLowerName[11648:11667]: ErrTooManyPartitions, + _ErrorName[11667:11679]: ErrCannotRmdir, + _ErrorLowerName[11667:11679]: ErrCannotRmdir, + _ErrorName[11679:11700]: ErrDuplicatedPartUuids, + _ErrorLowerName[11679:11700]: ErrDuplicatedPartUuids, + _ErrorName[11700:11710]: ErrRaftError, + _ErrorLowerName[11700:11710]: ErrRaftError, + _ErrorName[11710:11760]: ErrMultipleColumnsSerializedToSameProtobufField, + _ErrorLowerName[11710:11760]: ErrMultipleColumnsSerializedToSameProtobufField, + _ErrorName[11760:11802]: ErrDataTypeIncompatibleWithProtobufField, + _ErrorLowerName[11760:11802]: ErrDataTypeIncompatibleWithProtobufField, + _ErrorName[11802:11829]: ErrDatabaseReplicationFailed, + _ErrorLowerName[11802:11829]: ErrDatabaseReplicationFailed, + _ErrorName[11829:11862]: ErrTooManyQueryPlanOptimizations, + _ErrorLowerName[11829:11862]: ErrTooManyQueryPlanOptimizations, + _ErrorName[11862:11873]: ErrEpollError, + _ErrorLowerName[11862:11873]: ErrEpollError, + _ErrorName[11873:11907]: ErrDistributedTooManyPendingBytes, + _ErrorLowerName[11873:11907]: ErrDistributedTooManyPendingBytes, + _ErrorName[11907:11923]: ErrUnknownSnapshot, + _ErrorLowerName[11907:11923]: ErrUnknownSnapshot, + _ErrorName[11923:11937]: ErrKerberosError, + _ErrorLowerName[11923:11937]: ErrKerberosError, + _ErrorName[11937:11953]: ErrInvalidShardID, + _ErrorLowerName[11937:11953]: ErrInvalidShardID, + _ErrorName[11953:11990]: ErrInvalidFormatInsertQueryWithData, + _ErrorLowerName[11953:11990]: ErrInvalidFormatInsertQueryWithData, + _ErrorName[11990:12009]: ErrIncorrectPartType, + _ErrorLowerName[11990:12009]: ErrIncorrectPartType, + _ErrorName[12009:12033]: ErrCannotSetRoundingMode, + _ErrorLowerName[12009:12033]: ErrCannotSetRoundingMode, + _ErrorName[12033:12060]: ErrTooLargeDistributedDepth, + _ErrorLowerName[12033:12060]: ErrTooLargeDistributedDepth, + _ErrorName[12060:12087]: ErrNoSuchProjectionInTable, + _ErrorLowerName[12060:12087]: ErrNoSuchProjectionInTable, + _ErrorName[12087:12105]: ErrIllegalProjection, + _ErrorLowerName[12087:12105]: ErrIllegalProjection, + _ErrorName[12105:12124]: ErrProjectionNotUsed, + _ErrorLowerName[12105:12124]: ErrProjectionNotUsed, + _ErrorName[12124:12141]: ErrCannotParseYaml, + _ErrorLowerName[12124:12141]: ErrCannotParseYaml, + _ErrorName[12141:12159]: ErrCannotCreateFile, + _ErrorLowerName[12141:12159]: ErrCannotCreateFile, + _ErrorName[12159:12190]: ErrConcurrentAccessNotSupported, + _ErrorLowerName[12159:12190]: ErrConcurrentAccessNotSupported, + _ErrorName[12190:12219]: ErrDistributedBrokenBatchInfo, + _ErrorLowerName[12190:12219]: ErrDistributedBrokenBatchInfo, + _ErrorName[12219:12249]: ErrDistributedBrokenBatchFiles, + _ErrorLowerName[12219:12249]: ErrDistributedBrokenBatchFiles, + _ErrorName[12249:12263]: ErrCannotSysconf, + _ErrorLowerName[12249:12263]: ErrCannotSysconf, + _ErrorName[12263:12282]: ErrSqliteEngineError, + _ErrorLowerName[12263:12282]: ErrSqliteEngineError, + _ErrorName[12282:12303]: ErrDataEncryptionError, + _ErrorLowerName[12282:12303]: ErrDataEncryptionError, + _ErrorName[12303:12330]: ErrZeroCopyReplicationError, + _ErrorLowerName[12303:12330]: ErrZeroCopyReplicationError, + _ErrorName[12330:12357]: ErrBzip2StreamDecoderFailed, + _ErrorLowerName[12330:12357]: ErrBzip2StreamDecoderFailed, + _ErrorName[12357:12384]: ErrBzip2StreamEncoderFailed, + _ErrorLowerName[12357:12384]: ErrBzip2StreamEncoderFailed, + _ErrorName[12384:12430]: ErrIntersectOrExceptResultStructuresMismatch, + _ErrorLowerName[12384:12430]: ErrIntersectOrExceptResultStructuresMismatch, + _ErrorName[12430:12448]: ErrNoSuchErrorCode, + _ErrorLowerName[12430:12448]: ErrNoSuchErrorCode, + _ErrorName[12448:12469]: ErrBackupAlreadyExists, + _ErrorLowerName[12448:12469]: ErrBackupAlreadyExists, + _ErrorName[12469:12485]: ErrBackupNotFound, + _ErrorLowerName[12469:12485]: ErrBackupNotFound, + _ErrorName[12485:12513]: ErrBackupVersionNotSupported, + _ErrorLowerName[12485:12513]: ErrBackupVersionNotSupported, + _ErrorName[12513:12527]: ErrBackupDamaged, + _ErrorLowerName[12513:12527]: ErrBackupDamaged, + _ErrorName[12527:12541]: ErrNoBaseBackup, + _ErrorLowerName[12527:12541]: ErrNoBaseBackup, + _ErrorName[12541:12558]: ErrWrongBaseBackup, + _ErrorLowerName[12541:12558]: ErrWrongBaseBackup, + _ErrorName[12558:12585]: ErrBackupEntryAlreadyExists, + _ErrorLowerName[12558:12585]: ErrBackupEntryAlreadyExists, + _ErrorName[12585:12607]: ErrBackupEntryNotFound, + _ErrorLowerName[12585:12607]: ErrBackupEntryNotFound, + _ErrorName[12607:12622]: ErrBackupIsEmpty, + _ErrorLowerName[12607:12622]: ErrBackupIsEmpty, + _ErrorName[12622:12645]: ErrCannotRestoreDatabase, + _ErrorLowerName[12622:12645]: ErrCannotRestoreDatabase, + _ErrorName[12645:12665]: ErrCannotRestoreTable, + _ErrorLowerName[12645:12665]: ErrCannotRestoreTable, + _ErrorName[12665:12688]: ErrFunctionAlreadyExists, + _ErrorLowerName[12665:12688]: ErrFunctionAlreadyExists, + _ErrorName[12688:12708]: ErrCannotDropFunction, + _ErrorLowerName[12688:12708]: ErrCannotDropFunction, + _ErrorName[12708:12740]: ErrCannotCreateRecursiveFunction, + _ErrorLowerName[12708:12740]: ErrCannotCreateRecursiveFunction, + _ErrorName[12740:12769]: ErrPostgresqlConnectionFailure, + _ErrorLowerName[12740:12769]: ErrPostgresqlConnectionFailure, + _ErrorName[12769:12782]: ErrCannotAdvise, + _ErrorLowerName[12769:12782]: ErrCannotAdvise, + _ErrorName[12782:12801]: ErrUnknownReadMethod, + _ErrorLowerName[12782:12801]: ErrUnknownReadMethod, + _ErrorName[12801:12819]: ErrLz4EncoderFailed, + _ErrorLowerName[12801:12819]: ErrLz4EncoderFailed, + _ErrorName[12819:12837]: ErrLz4DecoderFailed, + _ErrorLowerName[12819:12837]: ErrLz4DecoderFailed, + _ErrorName[12837:12874]: ErrPostgresqlReplicationInternalError, + _ErrorLowerName[12837:12874]: ErrPostgresqlReplicationInternalError, + _ErrorName[12874:12891]: ErrQueryNotAllowed, + _ErrorLowerName[12874:12891]: ErrQueryNotAllowed, + _ErrorName[12891:12914]: ErrCannotNormalizeString, + _ErrorLowerName[12891:12914]: ErrCannotNormalizeString, + _ErrorName[12914:12944]: ErrCannotParseCapnProtoSchema, + _ErrorLowerName[12914:12944]: ErrCannotParseCapnProtoSchema, + _ErrorName[12944:12963]: ErrCapnProtoBadCast, + _ErrorLowerName[12944:12963]: ErrCapnProtoBadCast, + _ErrorName[12963:12976]: ErrBadFileType, + _ErrorLowerName[12963:12976]: ErrBadFileType, + _ErrorName[12976:12990]: ErrIOSetupError, + _ErrorLowerName[12976:12990]: ErrIOSetupError, + _ErrorName[12990:13015]: ErrCannotSkipUnknownField, + _ErrorLowerName[12990:13015]: ErrCannotSkipUnknownField, + _ErrorName[13015:13038]: ErrBackupEngineNotFound, + _ErrorLowerName[13015:13038]: ErrBackupEngineNotFound, + _ErrorName[13038:13067]: ErrOffsetFetchWithoutOrderBy, + _ErrorLowerName[13038:13067]: ErrOffsetFetchWithoutOrderBy, + _ErrorName[13067:13093]: ErrHTTPRangeNotSatisfiable, + _ErrorLowerName[13067:13093]: ErrHTTPRangeNotSatisfiable, + _ErrorName[13093:13115]: ErrHaveDependentObjects, + _ErrorLowerName[13093:13115]: ErrHaveDependentObjects, + _ErrorName[13115:13132]: ErrUnknownFileSize, + _ErrorLowerName[13115:13132]: ErrUnknownFileSize, + _ErrorName[13132:13166]: ErrUnexpectedDataAfterParsedValue, + _ErrorLowerName[13132:13166]: ErrUnexpectedDataAfterParsedValue, + _ErrorName[13166:13203]: ErrQueryIsNotSupportedInWindowView, + _ErrorLowerName[13166:13203]: ErrQueryIsNotSupportedInWindowView, + _ErrorName[13203:13216]: ErrMongodbError, + _ErrorLowerName[13203:13216]: ErrMongodbError, + _ErrorName[13216:13227]: ErrCannotPoll, + _ErrorLowerName[13216:13227]: ErrCannotPoll, + _ErrorName[13227:13257]: ErrCannotExtractTableStructure, + _ErrorLowerName[13227:13257]: ErrCannotExtractTableStructure, + _ErrorName[13257:13279]: ErrInvalidTableOverride, + _ErrorLowerName[13257:13279]: ErrInvalidTableOverride, + _ErrorName[13279:13303]: ErrSnappyUncompressFailed, + _ErrorLowerName[13279:13303]: ErrSnappyUncompressFailed, + _ErrorName[13303:13325]: ErrSnappyCompressFailed, + _ErrorLowerName[13303:13325]: ErrSnappyCompressFailed, + _ErrorName[13325:13341]: ErrNoHivemetastore, + _ErrorLowerName[13325:13341]: ErrNoHivemetastore, + _ErrorName[13341:13362]: ErrCannotAppendToFile, + _ErrorLowerName[13341:13362]: ErrCannotAppendToFile, + _ErrorName[13362:13381]: ErrCannotPackArchive, + _ErrorLowerName[13362:13381]: ErrCannotPackArchive, + _ErrorName[13381:13402]: ErrCannotUnpackArchive, + _ErrorLowerName[13381:13402]: ErrCannotUnpackArchive, + _ErrorName[13402:13433]: ErrNumberOfDimensionsMismatched, + _ErrorLowerName[13402:13433]: ErrNumberOfDimensionsMismatched, + _ErrorName[13433:13452]: ErrCannotBackupTable, + _ErrorLowerName[13433:13452]: ErrCannotBackupTable, + _ErrorName[13452:13479]: ErrWrongDdlRenamingSettings, + _ErrorLowerName[13452:13479]: ErrWrongDdlRenamingSettings, + _ErrorName[13479:13498]: ErrInvalidTransaction, + _ErrorLowerName[13479:13498]: ErrInvalidTransaction, + _ErrorName[13498:13517]: ErrSerializationError, + _ErrorLowerName[13498:13517]: ErrSerializationError, + _ErrorName[13517:13536]: ErrCapnProtoBadType, + _ErrorLowerName[13517:13536]: ErrCapnProtoBadType, + _ErrorName[13536:13567]: ErrOnlyNullsWhileReadingSchema, + _ErrorLowerName[13536:13567]: ErrOnlyNullsWhileReadingSchema, + _ErrorName[13567:13595]: ErrCannotParseBackupSettings, + _ErrorLowerName[13567:13595]: ErrCannotParseBackupSettings, + _ErrorName[13595:13616]: ErrWrongBackupSettings, + _ErrorLowerName[13595:13616]: ErrWrongBackupSettings, + _ErrorName[13616:13648]: ErrFailedToSyncBackupOrRestore, + _ErrorLowerName[13616:13648]: ErrFailedToSyncBackupOrRestore, + _ErrorName[13648:13677]: ErrUnknownStatusOfTransaction, + _ErrorLowerName[13648:13677]: ErrUnknownStatusOfTransaction, + _ErrorName[13677:13687]: ErrHdfsError, + _ErrorLowerName[13677:13687]: ErrHdfsError, + _ErrorName[13687:13705]: ErrCannotSendSignal, + _ErrorLowerName[13687:13705]: ErrCannotSendSignal, + _ErrorName[13705:13722]: ErrFsMetadataError, + _ErrorLowerName[13705:13722]: ErrFsMetadataError, + _ErrorName[13722:13754]: ErrInconsistentMetadataForBackup, + _ErrorLowerName[13722:13754]: ErrInconsistentMetadataForBackup, + _ErrorName[13754:13788]: ErrAccessStorageDoesntAllowBackup, + _ErrorLowerName[13754:13788]: ErrAccessStorageDoesntAllowBackup, + _ErrorName[13788:13807]: ErrCannotConnectNats, + _ErrorLowerName[13788:13807]: ErrCannotConnectNats, + _ErrorName[13807:13822]: ErrNotInitialized, + _ErrorLowerName[13807:13822]: ErrNotInitialized, + _ErrorName[13822:13835]: ErrInvalidState, + _ErrorLowerName[13822:13835]: ErrInvalidState, + _ErrorName[13835:13864]: ErrNamedCollectionDoesntExist, + _ErrorLowerName[13835:13864]: ErrNamedCollectionDoesntExist, + _ErrorName[13864:13895]: ErrNamedCollectionAlreadyExists, + _ErrorLowerName[13864:13895]: ErrNamedCollectionAlreadyExists, + _ErrorName[13895:13924]: ErrNamedCollectionIsImmutable, + _ErrorLowerName[13895:13924]: ErrNamedCollectionIsImmutable, + _ErrorName[13924:13946]: ErrInvalidSchedulerNode, + _ErrorLowerName[13924:13946]: ErrInvalidSchedulerNode, + _ErrorName[13946:13968]: ErrResourceAccessDenied, + _ErrorLowerName[13946:13968]: ErrResourceAccessDenied, + _ErrorName[13968:13986]: ErrResourceNotFound, + _ErrorLowerName[13968:13986]: ErrResourceNotFound, + _ErrorName[13986:14003]: ErrCannotParseIpv4, + _ErrorLowerName[13986:14003]: ErrCannotParseIpv4, + _ErrorName[14003:14020]: ErrCannotParseIpv6, + _ErrorLowerName[14003:14020]: ErrCannotParseIpv6, + _ErrorName[14020:14039]: ErrThreadWasCanceled, + _ErrorLowerName[14020:14039]: ErrThreadWasCanceled, + _ErrorName[14039:14059]: ErrIOUringInitFailed, + _ErrorLowerName[14039:14059]: ErrIOUringInitFailed, + _ErrorName[14059:14080]: ErrIOUringSubmitError, + _ErrorLowerName[14059:14080]: ErrIOUringSubmitError, + _ErrorName[14080:14108]: ErrMixedAccessParameterTypes, + _ErrorLowerName[14080:14108]: ErrMixedAccessParameterTypes, + _ErrorName[14108:14131]: ErrUnknownElementOfEnum, + _ErrorLowerName[14108:14131]: ErrUnknownElementOfEnum, + _ErrorName[14131:14149]: ErrTooManyMutations, + _ErrorLowerName[14131:14149]: ErrTooManyMutations, + _ErrorName[14149:14158]: ErrAwsError, + _ErrorLowerName[14149:14158]: ErrAwsError, + _ErrorName[14158:14174]: ErrAsyncLoadCycle, + _ErrorLowerName[14158:14174]: ErrAsyncLoadCycle, + _ErrorName[14174:14191]: ErrAsyncLoadFailed, + _ErrorLowerName[14174:14191]: ErrAsyncLoadFailed, + _ErrorName[14191:14210]: ErrAsyncLoadCanceled, + _ErrorLowerName[14191:14210]: ErrAsyncLoadCanceled, + _ErrorName[14210:14245]: ErrCannotRestoreToNonencryptedDisk, + _ErrorLowerName[14210:14245]: ErrCannotRestoreToNonencryptedDisk, + _ErrorName[14245:14271]: ErrInvalidRedisStorageType, + _ErrorLowerName[14245:14271]: ErrInvalidRedisStorageType, + _ErrorName[14271:14300]: ErrInvalidRedisTableStructure, + _ErrorLowerName[14271:14300]: ErrInvalidRedisTableStructure, + _ErrorName[14300:14327]: ErrUserSessionLimitExceeded, + _ErrorLowerName[14300:14327]: ErrUserSessionLimitExceeded, + _ErrorName[14327:14347]: ErrClusterDoesntExist, + _ErrorLowerName[14327:14347]: ErrClusterDoesntExist, + _ErrorName[14347:14373]: ErrClientInfoDoesNotMatch, + _ErrorLowerName[14347:14373]: ErrClientInfoDoesNotMatch, + _ErrorName[14373:14391]: ErrInvalidIdentifier, + _ErrorLowerName[14373:14391]: ErrInvalidIdentifier, + _ErrorName[14391:14439]: ErrQueryCacheUsedWithNondeterministicFunctions, + _ErrorLowerName[14391:14439]: ErrQueryCacheUsedWithNondeterministicFunctions, + _ErrorName[14439:14454]: ErrTableNotEmpty, + _ErrorLowerName[14439:14454]: ErrTableNotEmpty, + _ErrorName[14454:14466]: ErrLibsshError, + _ErrorLowerName[14454:14466]: ErrLibsshError, + _ErrorName[14466:14475]: ErrGcpError, + _ErrorLowerName[14466:14475]: ErrGcpError, + _ErrorName[14475:14493]: ErrIllegalStatistics, + _ErrorLowerName[14475:14493]: ErrIllegalStatistics, + _ErrorName[14493:14532]: ErrCannotGetReplicatedDatabaseSnapshot, + _ErrorLowerName[14493:14532]: ErrCannotGetReplicatedDatabaseSnapshot, + _ErrorName[14532:14546]: ErrFaultInjected, + _ErrorLowerName[14532:14546]: ErrFaultInjected, + _ErrorName[14546:14569]: ErrFilecacheAccessDenied, + _ErrorLowerName[14546:14569]: ErrFilecacheAccessDenied, + _ErrorName[14569:14596]: ErrTooManyMaterializedViews, + _ErrorLowerName[14569:14596]: ErrTooManyMaterializedViews, + _ErrorName[14596:14613]: ErrBrokenProjection, + _ErrorLowerName[14596:14613]: ErrBrokenProjection, + _ErrorName[14613:14631]: ErrUnexpectedCluster, + _ErrorLowerName[14613:14631]: ErrUnexpectedCluster, + _ErrorName[14631:14651]: ErrCannotDetectFormat, + _ErrorLowerName[14631:14651]: ErrCannotDetectFormat, + _ErrorName[14651:14674]: ErrCannotForgetPartition, + _ErrorLowerName[14651:14674]: ErrCannotForgetPartition, + _ErrorName[14674:14700]: ErrExperimentalFeatureError, + _ErrorLowerName[14674:14700]: ErrExperimentalFeatureError, + _ErrorName[14700:14716]: ErrTooSlowParsing, + _ErrorLowerName[14700:14716]: ErrTooSlowParsing, + _ErrorName[14716:14750]: ErrQueryCacheUsedWithSystemTable, + _ErrorLowerName[14716:14750]: ErrQueryCacheUsedWithSystemTable, + _ErrorName[14750:14762]: ErrUserExpired, + _ErrorLowerName[14750:14762]: ErrUserExpired, + _ErrorName[14762:14781]: ErrDeprecatedFunction, + _ErrorLowerName[14762:14781]: ErrDeprecatedFunction, + _ErrorName[14781:14803]: ErrAsyncLoadWaitFailed, + _ErrorLowerName[14781:14803]: ErrAsyncLoadWaitFailed, + _ErrorName[14803:14820]: ErrParquetException, + _ErrorLowerName[14803:14820]: ErrParquetException, + _ErrorName[14820:14835]: ErrTooManyTables, + _ErrorLowerName[14820:14835]: ErrTooManyTables, + _ErrorName[14835:14853]: ErrTooManyDatabases, + _ErrorLowerName[14835:14853]: ErrTooManyDatabases, + _ErrorName[14853:14876]: ErrUnexpectedHTTPHeaders, + _ErrorLowerName[14853:14876]: ErrUnexpectedHTTPHeaders, + _ErrorName[14876:14899]: ErrUnexpectedTableEngine, + _ErrorLowerName[14876:14899]: ErrUnexpectedTableEngine, + _ErrorName[14899:14919]: ErrUnexpectedDataType, + _ErrorLowerName[14899:14919]: ErrUnexpectedDataType, + _ErrorName[14919:14943]: ErrIllegalTimeSeriesTags, + _ErrorLowerName[14919:14943]: ErrIllegalTimeSeriesTags, + _ErrorName[14943:14957]: ErrRefreshFailed, + _ErrorLowerName[14943:14957]: ErrRefreshFailed, + _ErrorName[14957:15002]: ErrQueryCacheUsedWithNonThrowOverflowMode, + _ErrorLowerName[14957:15002]: ErrQueryCacheUsedWithNonThrowOverflowMode, + _ErrorName[15002:15026]: ErrTableIsBeingRestarted, + _ErrorLowerName[15002:15026]: ErrTableIsBeingRestarted, + _ErrorName[15026:15060]: ErrCannotWriteAfterBufferCanceled, + _ErrorLowerName[15026:15060]: ErrCannotWriteAfterBufferCanceled, + _ErrorName[15060:15089]: ErrQueryWasCancelledByClient, + _ErrorLowerName[15060:15089]: ErrQueryWasCancelledByClient, + _ErrorName[15089:15112]: ErrDatalakeDatabaseError, + _ErrorLowerName[15089:15112]: ErrDatalakeDatabaseError, + _ErrorName[15112:15130]: ErrGoogleCloudError, + _ErrorLowerName[15112:15130]: ErrGoogleCloudError, + _ErrorName[15130:15144]: ErrPartIsLocked, + _ErrorLowerName[15130:15144]: ErrPartIsLocked, + _ErrorName[15144:15153]: ErrBuzzhouse, + _ErrorLowerName[15144:15153]: ErrBuzzhouse, + _ErrorName[15153:15181]: ErrPotentiallyBrokenDataPart, + _ErrorLowerName[15153:15181]: ErrPotentiallyBrokenDataPart, + _ErrorName[15181:15200]: ErrTableUUIDMismatch, + _ErrorLowerName[15181:15200]: ErrTableUUIDMismatch, + _ErrorName[15200:15218]: ErrDeltaKernelError, + _ErrorLowerName[15200:15218]: ErrDeltaKernelError, + _ErrorName[15218:15249]: ErrIcebergSpecificationViolation, + _ErrorLowerName[15218:15249]: ErrIcebergSpecificationViolation, + _ErrorName[15249:15265]: ErrSessionIDEmpty, + _ErrorLowerName[15249:15265]: ErrSessionIDEmpty, + _ErrorName[15265:15282]: ErrServerOverloaded, + _ErrorLowerName[15265:15282]: ErrServerOverloaded, + _ErrorName[15282:15304]: ErrDependenciesNotFound, + _ErrorLowerName[15282:15304]: ErrDependenciesNotFound, + _ErrorName[15304:15362]: ErrFilecacheCannotWriteThroughCacheWithConcurrentReads, + _ErrorLowerName[15304:15362]: ErrFilecacheCannotWriteThroughCacheWithConcurrentReads, + _ErrorName[15362:15385]: ErrDistributedCacheError, + _ErrorLowerName[15362:15385]: ErrDistributedCacheError, + _ErrorName[15385:15413]: ErrCannotUseDistributedCache, + _ErrorLowerName[15385:15413]: ErrCannotUseDistributedCache, + _ErrorName[15413:15438]: ErrProtocolVersionMismatch, + _ErrorLowerName[15413:15438]: ErrProtocolVersionMismatch, + _ErrorName[15438:15453]: ErrLicenseExpired, + _ErrorLowerName[15438:15453]: ErrLicenseExpired, + _ErrorName[15453:15469]: ErrKeeperException, + _ErrorLowerName[15453:15469]: ErrKeeperException, + _ErrorName[15469:15483]: ErrPocoException, + _ErrorLowerName[15469:15483]: ErrPocoException, + _ErrorName[15483:15496]: ErrStdException, + _ErrorLowerName[15483:15496]: ErrStdException, + _ErrorName[15496:15513]: ErrUnknownException, + _ErrorLowerName[15496:15513]: ErrUnknownException, + _ErrorName[15513:15526]: ErrSSHException, + _ErrorLowerName[15513:15526]: ErrSSHException, + _ErrorName[15526:15547]: ErrStartupScriptsError, + _ErrorLowerName[15526:15547]: ErrStartupScriptsError, + _ErrorName[15547:15580]: ErrConditionalTreeParentNotFound, + _ErrorLowerName[15547:15580]: ErrConditionalTreeParentNotFound, + _ErrorName[15580:15610]: ErrIllegalProjectionManipulator, + _ErrorLowerName[15580:15610]: ErrIllegalProjectionManipulator, } var _ErrorNames = []string{ @@ -1548,345 +2808,660 @@ var _ErrorNames = []string{ _ErrorName[809:834], _ErrorName[834:854], _ErrorName[854:885], - _ErrorName[885:916], - _ErrorName[916:929], - _ErrorName[929:951], - _ErrorName[951:968], - _ErrorName[968:993], - _ErrorName[993:1014], - _ErrorName[1014:1035], - _ErrorName[1035:1067], - _ErrorName[1067:1091], - _ErrorName[1091:1105], - _ErrorName[1105:1137], - _ErrorName[1137:1153], - _ErrorName[1153:1171], - _ErrorName[1171:1186], - _ErrorName[1186:1199], - _ErrorName[1199:1211], - _ErrorName[1211:1240], - _ErrorName[1240:1269], - _ErrorName[1269:1282], - _ErrorName[1282:1313], - _ErrorName[1313:1339], - _ErrorName[1339:1354], - _ErrorName[1354:1374], - _ErrorName[1374:1403], - _ErrorName[1403:1436], - _ErrorName[1436:1449], - _ErrorName[1449:1476], - _ErrorName[1476:1488], - _ErrorName[1488:1514], - _ErrorName[1514:1554], - _ErrorName[1554:1593], - _ErrorName[1593:1605], - _ErrorName[1605:1631], - _ErrorName[1631:1655], - _ErrorName[1655:1676], - _ErrorName[1676:1695], - _ErrorName[1695:1727], - _ErrorName[1727:1746], - _ErrorName[1746:1760], - _ErrorName[1760:1792], - _ErrorName[1792:1823], - _ErrorName[1823:1839], - _ErrorName[1839:1856], - _ErrorName[1856:1877], - _ErrorName[1877:1896], - _ErrorName[1896:1911], - _ErrorName[1911:1927], - _ErrorName[1927:1950], - _ErrorName[1950:1972], - _ErrorName[1972:1996], - _ErrorName[1996:2028], - _ErrorName[2028:2064], - _ErrorName[2064:2088], - _ErrorName[2088:2108], - _ErrorName[2108:2134], - _ErrorName[2134:2162], - _ErrorName[2162:2199], - _ErrorName[2199:2216], - _ErrorName[2216:2247], - _ErrorName[2247:2294], - _ErrorName[2294:2317], - _ErrorName[2317:2339], - _ErrorName[2339:2378], - _ErrorName[2378:2419], - _ErrorName[2419:2445], - _ErrorName[2445:2471], - _ErrorName[2471:2500], - _ErrorName[2500:2529], - _ErrorName[2529:2561], - _ErrorName[2561:2582], - _ErrorName[2582:2601], - _ErrorName[2601:2622], - _ErrorName[2622:2639], - _ErrorName[2639:2656], - _ErrorName[2656:2675], - _ErrorName[2675:2696], - _ErrorName[2696:2720], - _ErrorName[2720:2742], - _ErrorName[2742:2761], - _ErrorName[2761:2781], - _ErrorName[2781:2796], - _ErrorName[2796:2821], - _ErrorName[2821:2835], - _ErrorName[2835:2850], - _ErrorName[2850:2898], - _ErrorName[2898:2922], - _ErrorName[2922:2942], - _ErrorName[2942:2966], - _ErrorName[2966:2990], - _ErrorName[2990:3025], - _ErrorName[3025:3047], - _ErrorName[3047:3060], - _ErrorName[3060:3080], - _ErrorName[3080:3099], - _ErrorName[3099:3126], - _ErrorName[3126:3147], - _ErrorName[3147:3180], - _ErrorName[3180:3222], - _ErrorName[3222:3272], - _ErrorName[3272:3297], - _ErrorName[3297:3322], - _ErrorName[3322:3349], - _ErrorName[3349:3370], - _ErrorName[3370:3403], - _ErrorName[3403:3425], - _ErrorName[3425:3439], - _ErrorName[3439:3463], - _ErrorName[3463:3498], - _ErrorName[3498:3519], - _ErrorName[3519:3550], - _ErrorName[3550:3590], - _ErrorName[3590:3630], - _ErrorName[3630:3665], - _ErrorName[3665:3685], - _ErrorName[3685:3731], - _ErrorName[3731:3759], - _ErrorName[3759:3775], - _ErrorName[3775:3808], - _ErrorName[3808:3824], - _ErrorName[3824:3851], - _ErrorName[3851:3872], - _ErrorName[3872:3885], - _ErrorName[3885:3901], - _ErrorName[3901:3909], - _ErrorName[3909:3925], - _ErrorName[3925:3944], - _ErrorName[3944:3961], - _ErrorName[3961:3969], - _ErrorName[3969:3995], - _ErrorName[3995:4031], - _ErrorName[4031:4043], - _ErrorName[4043:4054], - _ErrorName[4054:4071], - _ErrorName[4071:4078], - _ErrorName[4078:4109], - _ErrorName[4109:4132], - _ErrorName[4132:4154], - _ErrorName[4154:4168], - _ErrorName[4168:4183], - _ErrorName[4183:4203], - _ErrorName[4203:4234], - _ErrorName[4234:4264], - _ErrorName[4264:4283], - _ErrorName[4283:4296], - _ErrorName[4296:4312], - _ErrorName[4312:4333], - _ErrorName[4333:4352], - _ErrorName[4352:4381], - _ErrorName[4381:4409], - _ErrorName[4409:4436], - _ErrorName[4436:4450], - _ErrorName[4450:4484], - _ErrorName[4484:4512], - _ErrorName[4512:4535], - _ErrorName[4535:4547], - _ErrorName[4547:4561], - _ErrorName[4561:4578], - _ErrorName[4578:4600], - _ErrorName[4600:4628], - _ErrorName[4628:4654], - _ErrorName[4654:4663], - _ErrorName[4663:4676], - _ErrorName[4676:4699], - _ErrorName[4699:4712], - _ErrorName[4712:4741], - _ErrorName[4741:4759], - _ErrorName[4759:4771], - _ErrorName[4771:4791], - _ErrorName[4791:4805], - _ErrorName[4805:4825], - _ErrorName[4825:4843], - _ErrorName[4843:4857], - _ErrorName[4857:4870], - _ErrorName[4870:4881], - _ErrorName[4881:4903], - _ErrorName[4903:4922], - _ErrorName[4922:4936], - _ErrorName[4936:4952], - _ErrorName[4952:4989], - _ErrorName[4989:5023], - _ErrorName[5023:5039], - _ErrorName[5039:5057], - _ErrorName[5057:5090], - _ErrorName[5090:5121], - _ErrorName[5121:5154], - _ErrorName[5154:5178], - _ErrorName[5178:5203], - _ErrorName[5203:5215], - _ErrorName[5215:5235], - _ErrorName[5235:5263], - _ErrorName[5263:5292], - _ErrorName[5292:5310], - _ErrorName[5310:5338], - _ErrorName[5338:5368], - _ErrorName[5368:5385], - _ErrorName[5385:5403], - _ErrorName[5403:5422], - _ErrorName[5422:5441], - _ErrorName[5441:5448], - _ErrorName[5448:5469], - _ErrorName[5469:5491], - _ErrorName[5491:5504], - _ErrorName[5504:5517], - _ErrorName[5517:5538], - _ErrorName[5538:5556], - _ErrorName[5556:5572], - _ErrorName[5572:5598], - _ErrorName[5598:5612], - _ErrorName[5612:5626], - _ErrorName[5626:5649], - _ErrorName[5649:5673], - _ErrorName[5673:5688], - _ErrorName[5688:5702], - _ErrorName[5702:5726], - _ErrorName[5726:5744], - _ErrorName[5744:5775], - _ErrorName[5775:5799], - _ErrorName[5799:5821], - _ErrorName[5821:5857], - _ErrorName[5857:5887], - _ErrorName[5887:5911], - _ErrorName[5911:5924], - _ErrorName[5924:5943], - _ErrorName[5943:5968], - _ErrorName[5968:5988], - _ErrorName[5988:6018], - _ErrorName[6018:6058], - _ErrorName[6058:6069], - _ErrorName[6069:6082], - _ErrorName[6082:6097], - _ErrorName[6097:6114], - _ErrorName[6114:6130], - _ErrorName[6130:6150], - _ErrorName[6150:6164], - _ErrorName[6164:6179], - _ErrorName[6179:6193], - _ErrorName[6193:6208], - _ErrorName[6208:6235], - _ErrorName[6235:6252], - _ErrorName[6252:6271], - _ErrorName[6271:6286], - _ErrorName[6286:6318], - _ErrorName[6318:6350], - _ErrorName[6350:6372], - _ErrorName[6372:6409], - _ErrorName[6409:6431], - _ErrorName[6431:6466], - _ErrorName[6466:6490], - _ErrorName[6490:6504], - _ErrorName[6504:6526], - _ErrorName[6526:6544], - _ErrorName[6544:6571], - _ErrorName[6571:6595], - _ErrorName[6595:6614], - _ErrorName[6614:6635], - _ErrorName[6635:6659], - _ErrorName[6659:6670], - _ErrorName[6670:6681], - _ErrorName[6681:6693], - _ErrorName[6693:6720], - _ErrorName[6720:6749], - _ErrorName[6749:6762], - _ErrorName[6762:6776], - _ErrorName[6776:6797], - _ErrorName[6797:6815], - _ErrorName[6815:6829], - _ErrorName[6829:6857], - _ErrorName[6857:6888], - _ErrorName[6888:6908], - _ErrorName[6908:6932], - _ErrorName[6932:6956], - _ErrorName[6956:6990], - _ErrorName[6990:7005], - _ErrorName[7005:7028], - _ErrorName[7028:7047], - _ErrorName[7047:7057], - _ErrorName[7057:7074], - _ErrorName[7074:7093], - _ErrorName[7093:7115], - _ErrorName[7115:7137], - _ErrorName[7137:7155], - _ErrorName[7155:7192], - _ErrorName[7192:7218], - _ErrorName[7218:7238], - _ErrorName[7238:7259], - _ErrorName[7259:7303], - _ErrorName[7303:7322], - _ErrorName[7322:7341], - _ErrorName[7341:7351], - _ErrorName[7351:7375], - _ErrorName[7375:7399], - _ErrorName[7399:7437], - _ErrorName[7437:7468], - _ErrorName[7468:7494], - _ErrorName[7494:7527], - _ErrorName[7527:7550], - _ErrorName[7550:7582], - _ErrorName[7582:7602], - _ErrorName[7602:7642], - _ErrorName[7642:7658], - _ErrorName[7658:7666], - _ErrorName[7666:7688], - _ErrorName[7688:7722], - _ErrorName[7722:7753], - _ErrorName[7753:7770], - _ErrorName[7770:7787], - _ErrorName[7787:7810], - _ErrorName[7810:7823], - _ErrorName[7823:7840], - _ErrorName[7840:7868], - _ErrorName[7868:7899], - _ErrorName[7899:7937], - _ErrorName[7937:7948], - _ErrorName[7948:7968], - _ErrorName[7968:7994], - _ErrorName[7994:8021], - _ErrorName[8021:8047], - _ErrorName[8047:8072], - _ErrorName[8072:8086], - _ErrorName[8086:8118], - _ErrorName[8118:8140], - _ErrorName[8140:8163], - _ErrorName[8163:8192], - _ErrorName[8192:8214], - _ErrorName[8214:8233], - _ErrorName[8233:8250], - _ErrorName[8250:8269], - _ErrorName[8269:8304], - _ErrorName[8304:8326], - _ErrorName[8326:8369], - _ErrorName[8369:8406], - _ErrorName[8406:8429], - _ErrorName[8429:8450], - _ErrorName[8450:8466], - _ErrorName[8466:8480], - _ErrorName[8480:8493], - _ErrorName[8493:8510], - _ErrorName[8510:8543], - _ErrorName[8543:8573], + _ErrorName[885:915], + _ErrorName[915:928], + _ErrorName[928:950], + _ErrorName[950:967], + _ErrorName[967:992], + _ErrorName[992:1013], + _ErrorName[1013:1034], + _ErrorName[1034:1066], + _ErrorName[1066:1090], + _ErrorName[1090:1104], + _ErrorName[1104:1136], + _ErrorName[1136:1152], + _ErrorName[1152:1170], + _ErrorName[1170:1185], + _ErrorName[1185:1198], + _ErrorName[1198:1210], + _ErrorName[1210:1239], + _ErrorName[1239:1268], + _ErrorName[1268:1281], + _ErrorName[1281:1312], + _ErrorName[1312:1338], + _ErrorName[1338:1353], + _ErrorName[1353:1373], + _ErrorName[1373:1402], + _ErrorName[1402:1435], + _ErrorName[1435:1448], + _ErrorName[1448:1475], + _ErrorName[1475:1487], + _ErrorName[1487:1513], + _ErrorName[1513:1553], + _ErrorName[1553:1592], + _ErrorName[1592:1604], + _ErrorName[1604:1630], + _ErrorName[1630:1654], + _ErrorName[1654:1675], + _ErrorName[1675:1694], + _ErrorName[1694:1726], + _ErrorName[1726:1745], + _ErrorName[1745:1759], + _ErrorName[1759:1791], + _ErrorName[1791:1822], + _ErrorName[1822:1838], + _ErrorName[1838:1855], + _ErrorName[1855:1876], + _ErrorName[1876:1895], + _ErrorName[1895:1910], + _ErrorName[1910:1926], + _ErrorName[1926:1949], + _ErrorName[1949:1971], + _ErrorName[1971:1995], + _ErrorName[1995:2027], + _ErrorName[2027:2063], + _ErrorName[2063:2087], + _ErrorName[2087:2107], + _ErrorName[2107:2133], + _ErrorName[2133:2161], + _ErrorName[2161:2198], + _ErrorName[2198:2215], + _ErrorName[2215:2246], + _ErrorName[2246:2293], + _ErrorName[2293:2316], + _ErrorName[2316:2338], + _ErrorName[2338:2377], + _ErrorName[2377:2418], + _ErrorName[2418:2444], + _ErrorName[2444:2470], + _ErrorName[2470:2499], + _ErrorName[2499:2528], + _ErrorName[2528:2560], + _ErrorName[2560:2581], + _ErrorName[2581:2600], + _ErrorName[2600:2621], + _ErrorName[2621:2638], + _ErrorName[2638:2655], + _ErrorName[2655:2674], + _ErrorName[2674:2695], + _ErrorName[2695:2719], + _ErrorName[2719:2741], + _ErrorName[2741:2760], + _ErrorName[2760:2780], + _ErrorName[2780:2795], + _ErrorName[2795:2820], + _ErrorName[2820:2834], + _ErrorName[2834:2849], + _ErrorName[2849:2897], + _ErrorName[2897:2918], + _ErrorName[2918:2938], + _ErrorName[2938:2962], + _ErrorName[2962:2986], + _ErrorName[2986:3021], + _ErrorName[3021:3043], + _ErrorName[3043:3056], + _ErrorName[3056:3076], + _ErrorName[3076:3095], + _ErrorName[3095:3122], + _ErrorName[3122:3143], + _ErrorName[3143:3176], + _ErrorName[3176:3218], + _ErrorName[3218:3268], + _ErrorName[3268:3293], + _ErrorName[3293:3318], + _ErrorName[3318:3345], + _ErrorName[3345:3366], + _ErrorName[3366:3399], + _ErrorName[3399:3421], + _ErrorName[3421:3435], + _ErrorName[3435:3459], + _ErrorName[3459:3494], + _ErrorName[3494:3515], + _ErrorName[3515:3546], + _ErrorName[3546:3586], + _ErrorName[3586:3626], + _ErrorName[3626:3661], + _ErrorName[3661:3681], + _ErrorName[3681:3727], + _ErrorName[3727:3755], + _ErrorName[3755:3771], + _ErrorName[3771:3804], + _ErrorName[3804:3820], + _ErrorName[3820:3847], + _ErrorName[3847:3868], + _ErrorName[3868:3881], + _ErrorName[3881:3897], + _ErrorName[3897:3905], + _ErrorName[3905:3921], + _ErrorName[3921:3940], + _ErrorName[3940:3957], + _ErrorName[3957:3965], + _ErrorName[3965:3991], + _ErrorName[3991:4027], + _ErrorName[4027:4039], + _ErrorName[4039:4050], + _ErrorName[4050:4067], + _ErrorName[4067:4074], + _ErrorName[4074:4105], + _ErrorName[4105:4128], + _ErrorName[4128:4150], + _ErrorName[4150:4164], + _ErrorName[4164:4179], + _ErrorName[4179:4199], + _ErrorName[4199:4230], + _ErrorName[4230:4260], + _ErrorName[4260:4279], + _ErrorName[4279:4292], + _ErrorName[4292:4308], + _ErrorName[4308:4329], + _ErrorName[4329:4348], + _ErrorName[4348:4377], + _ErrorName[4377:4405], + _ErrorName[4405:4432], + _ErrorName[4432:4446], + _ErrorName[4446:4480], + _ErrorName[4480:4506], + _ErrorName[4506:4529], + _ErrorName[4529:4541], + _ErrorName[4541:4555], + _ErrorName[4555:4572], + _ErrorName[4572:4594], + _ErrorName[4594:4622], + _ErrorName[4622:4648], + _ErrorName[4648:4657], + _ErrorName[4657:4670], + _ErrorName[4670:4693], + _ErrorName[4693:4706], + _ErrorName[4706:4735], + _ErrorName[4735:4753], + _ErrorName[4753:4765], + _ErrorName[4765:4785], + _ErrorName[4785:4799], + _ErrorName[4799:4819], + _ErrorName[4819:4837], + _ErrorName[4837:4851], + _ErrorName[4851:4864], + _ErrorName[4864:4875], + _ErrorName[4875:4897], + _ErrorName[4897:4916], + _ErrorName[4916:4930], + _ErrorName[4930:4946], + _ErrorName[4946:4983], + _ErrorName[4983:5017], + _ErrorName[5017:5033], + _ErrorName[5033:5051], + _ErrorName[5051:5084], + _ErrorName[5084:5115], + _ErrorName[5115:5148], + _ErrorName[5148:5172], + _ErrorName[5172:5197], + _ErrorName[5197:5209], + _ErrorName[5209:5229], + _ErrorName[5229:5257], + _ErrorName[5257:5286], + _ErrorName[5286:5304], + _ErrorName[5304:5332], + _ErrorName[5332:5362], + _ErrorName[5362:5379], + _ErrorName[5379:5397], + _ErrorName[5397:5416], + _ErrorName[5416:5435], + _ErrorName[5435:5442], + _ErrorName[5442:5463], + _ErrorName[5463:5485], + _ErrorName[5485:5498], + _ErrorName[5498:5511], + _ErrorName[5511:5532], + _ErrorName[5532:5550], + _ErrorName[5550:5566], + _ErrorName[5566:5592], + _ErrorName[5592:5606], + _ErrorName[5606:5620], + _ErrorName[5620:5643], + _ErrorName[5643:5667], + _ErrorName[5667:5682], + _ErrorName[5682:5696], + _ErrorName[5696:5720], + _ErrorName[5720:5738], + _ErrorName[5738:5769], + _ErrorName[5769:5793], + _ErrorName[5793:5815], + _ErrorName[5815:5851], + _ErrorName[5851:5881], + _ErrorName[5881:5905], + _ErrorName[5905:5918], + _ErrorName[5918:5937], + _ErrorName[5937:5962], + _ErrorName[5962:5982], + _ErrorName[5982:6012], + _ErrorName[6012:6052], + _ErrorName[6052:6063], + _ErrorName[6063:6076], + _ErrorName[6076:6091], + _ErrorName[6091:6108], + _ErrorName[6108:6124], + _ErrorName[6124:6143], + _ErrorName[6143:6157], + _ErrorName[6157:6172], + _ErrorName[6172:6186], + _ErrorName[6186:6201], + _ErrorName[6201:6228], + _ErrorName[6228:6245], + _ErrorName[6245:6264], + _ErrorName[6264:6279], + _ErrorName[6279:6311], + _ErrorName[6311:6332], + _ErrorName[6332:6353], + _ErrorName[6353:6390], + _ErrorName[6390:6412], + _ErrorName[6412:6447], + _ErrorName[6447:6471], + _ErrorName[6471:6485], + _ErrorName[6485:6507], + _ErrorName[6507:6525], + _ErrorName[6525:6552], + _ErrorName[6552:6572], + _ErrorName[6572:6591], + _ErrorName[6591:6612], + _ErrorName[6612:6636], + _ErrorName[6636:6647], + _ErrorName[6647:6658], + _ErrorName[6658:6670], + _ErrorName[6670:6697], + _ErrorName[6697:6726], + _ErrorName[6726:6739], + _ErrorName[6739:6753], + _ErrorName[6753:6774], + _ErrorName[6774:6792], + _ErrorName[6792:6806], + _ErrorName[6806:6834], + _ErrorName[6834:6865], + _ErrorName[6865:6885], + _ErrorName[6885:6909], + _ErrorName[6909:6933], + _ErrorName[6933:6967], + _ErrorName[6967:6982], + _ErrorName[6982:7005], + _ErrorName[7005:7024], + _ErrorName[7024:7034], + _ErrorName[7034:7051], + _ErrorName[7051:7070], + _ErrorName[7070:7092], + _ErrorName[7092:7114], + _ErrorName[7114:7132], + _ErrorName[7132:7169], + _ErrorName[7169:7195], + _ErrorName[7195:7215], + _ErrorName[7215:7236], + _ErrorName[7236:7280], + _ErrorName[7280:7299], + _ErrorName[7299:7318], + _ErrorName[7318:7328], + _ErrorName[7328:7352], + _ErrorName[7352:7376], + _ErrorName[7376:7414], + _ErrorName[7414:7445], + _ErrorName[7445:7471], + _ErrorName[7471:7504], + _ErrorName[7504:7527], + _ErrorName[7527:7559], + _ErrorName[7559:7579], + _ErrorName[7579:7619], + _ErrorName[7619:7635], + _ErrorName[7635:7643], + _ErrorName[7643:7665], + _ErrorName[7665:7699], + _ErrorName[7699:7730], + _ErrorName[7730:7747], + _ErrorName[7747:7764], + _ErrorName[7764:7787], + _ErrorName[7787:7800], + _ErrorName[7800:7817], + _ErrorName[7817:7845], + _ErrorName[7845:7876], + _ErrorName[7876:7914], + _ErrorName[7914:7925], + _ErrorName[7925:7945], + _ErrorName[7945:7971], + _ErrorName[7971:7998], + _ErrorName[7998:8024], + _ErrorName[8024:8049], + _ErrorName[8049:8063], + _ErrorName[8063:8095], + _ErrorName[8095:8117], + _ErrorName[8117:8140], + _ErrorName[8140:8169], + _ErrorName[8169:8191], + _ErrorName[8191:8210], + _ErrorName[8210:8227], + _ErrorName[8227:8246], + _ErrorName[8246:8281], + _ErrorName[8281:8303], + _ErrorName[8303:8346], + _ErrorName[8346:8370], + _ErrorName[8370:8403], + _ErrorName[8403:8414], + _ErrorName[8414:8450], + _ErrorName[8450:8464], + _ErrorName[8464:8490], + _ErrorName[8490:8516], + _ErrorName[8516:8538], + _ErrorName[8538:8554], + _ErrorName[8554:8575], + _ErrorName[8575:8608], + _ErrorName[8608:8621], + _ErrorName[8621:8634], + _ErrorName[8634:8659], + _ErrorName[8659:8676], + _ErrorName[8676:8698], + _ErrorName[8698:8717], + _ErrorName[8717:8729], + _ErrorName[8729:8759], + _ErrorName[8759:8779], + _ErrorName[8779:8816], + _ErrorName[8816:8838], + _ErrorName[8838:8857], + _ErrorName[8857:8868], + _ErrorName[8868:8880], + _ErrorName[8880:8901], + _ErrorName[8901:8919], + _ErrorName[8919:8957], + _ErrorName[8957:8986], + _ErrorName[8986:8999], + _ErrorName[8999:9022], + _ErrorName[9022:9050], + _ErrorName[9050:9097], + _ErrorName[9097:9114], + _ErrorName[9114:9141], + _ErrorName[9141:9169], + _ErrorName[9169:9189], + _ErrorName[9189:9213], + _ErrorName[9213:9250], + _ErrorName[9250:9282], + _ErrorName[9282:9322], + _ErrorName[9322:9345], + _ErrorName[9345:9360], + _ErrorName[9360:9380], + _ErrorName[9380:9406], + _ErrorName[9406:9424], + _ErrorName[9424:9443], + _ErrorName[9443:9461], + _ErrorName[9461:9473], + _ErrorName[9473:9501], + _ErrorName[9501:9539], + _ErrorName[9539:9552], + _ErrorName[9552:9587], + _ErrorName[9587:9610], + _ErrorName[9610:9629], + _ErrorName[9629:9642], + _ErrorName[9642:9668], + _ErrorName[9668:9687], + _ErrorName[9687:9710], + _ErrorName[9710:9722], + _ErrorName[9722:9738], + _ErrorName[9738:9756], + _ErrorName[9756:9769], + _ErrorName[9769:9786], + _ErrorName[9786:9805], + _ErrorName[9805:9824], + _ErrorName[9824:9845], + _ErrorName[9845:9861], + _ErrorName[9861:9877], + _ErrorName[9877:9900], + _ErrorName[9900:9928], + _ErrorName[9928:9954], + _ErrorName[9954:9976], + _ErrorName[9976:9990], + _ErrorName[9990:10002], + _ErrorName[10002:10018], + _ErrorName[10018:10036], + _ErrorName[10036:10060], + _ErrorName[10060:10078], + _ErrorName[10078:10098], + _ErrorName[10098:10132], + _ErrorName[10132:10163], + _ErrorName[10163:10185], + _ErrorName[10185:10201], + _ErrorName[10201:10224], + _ErrorName[10224:10252], + _ErrorName[10252:10275], + _ErrorName[10275:10300], + _ErrorName[10300:10313], + _ErrorName[10313:10348], + _ErrorName[10348:10356], + _ErrorName[10356:10380], + _ErrorName[10380:10402], + _ErrorName[10402:10417], + _ErrorName[10417:10441], + _ErrorName[10441:10460], + _ErrorName[10460:10488], + _ErrorName[10488:10507], + _ErrorName[10507:10520], + _ErrorName[10520:10548], + _ErrorName[10548:10560], + _ErrorName[10560:10580], + _ErrorName[10580:10597], + _ErrorName[10597:10635], + _ErrorName[10635:10669], + _ErrorName[10669:10690], + _ErrorName[10690:10709], + _ErrorName[10709:10729], + _ErrorName[10729:10754], + _ErrorName[10754:10787], + _ErrorName[10787:10805], + _ErrorName[10805:10823], + _ErrorName[10823:10851], + _ErrorName[10851:10871], + _ErrorName[10871:10906], + _ErrorName[10906:10930], + _ErrorName[10930:10942], + _ErrorName[10942:10965], + _ErrorName[10965:10977], + _ErrorName[10977:10987], + _ErrorName[10987:11004], + _ErrorName[11004:11034], + _ErrorName[11034:11056], + _ErrorName[11056:11074], + _ErrorName[11074:11103], + _ErrorName[11103:11135], + _ErrorName[11135:11171], + _ErrorName[11171:11202], + _ErrorName[11202:11239], + _ErrorName[11239:11260], + _ErrorName[11260:11283], + _ErrorName[11283:11299], + _ErrorName[11299:11316], + _ErrorName[11316:11330], + _ErrorName[11330:11361], + _ErrorName[11361:11383], + _ErrorName[11383:11409], + _ErrorName[11409:11435], + _ErrorName[11435:11448], + _ErrorName[11448:11476], + _ErrorName[11476:11489], + _ErrorName[11489:11513], + _ErrorName[11513:11536], + _ErrorName[11536:11555], + _ErrorName[11555:11574], + _ErrorName[11574:11592], + _ErrorName[11592:11617], + _ErrorName[11617:11648], + _ErrorName[11648:11667], + _ErrorName[11667:11679], + _ErrorName[11679:11700], + _ErrorName[11700:11710], + _ErrorName[11710:11760], + _ErrorName[11760:11802], + _ErrorName[11802:11829], + _ErrorName[11829:11862], + _ErrorName[11862:11873], + _ErrorName[11873:11907], + _ErrorName[11907:11923], + _ErrorName[11923:11937], + _ErrorName[11937:11953], + _ErrorName[11953:11990], + _ErrorName[11990:12009], + _ErrorName[12009:12033], + _ErrorName[12033:12060], + _ErrorName[12060:12087], + _ErrorName[12087:12105], + _ErrorName[12105:12124], + _ErrorName[12124:12141], + _ErrorName[12141:12159], + _ErrorName[12159:12190], + _ErrorName[12190:12219], + _ErrorName[12219:12249], + _ErrorName[12249:12263], + _ErrorName[12263:12282], + _ErrorName[12282:12303], + _ErrorName[12303:12330], + _ErrorName[12330:12357], + _ErrorName[12357:12384], + _ErrorName[12384:12430], + _ErrorName[12430:12448], + _ErrorName[12448:12469], + _ErrorName[12469:12485], + _ErrorName[12485:12513], + _ErrorName[12513:12527], + _ErrorName[12527:12541], + _ErrorName[12541:12558], + _ErrorName[12558:12585], + _ErrorName[12585:12607], + _ErrorName[12607:12622], + _ErrorName[12622:12645], + _ErrorName[12645:12665], + _ErrorName[12665:12688], + _ErrorName[12688:12708], + _ErrorName[12708:12740], + _ErrorName[12740:12769], + _ErrorName[12769:12782], + _ErrorName[12782:12801], + _ErrorName[12801:12819], + _ErrorName[12819:12837], + _ErrorName[12837:12874], + _ErrorName[12874:12891], + _ErrorName[12891:12914], + _ErrorName[12914:12944], + _ErrorName[12944:12963], + _ErrorName[12963:12976], + _ErrorName[12976:12990], + _ErrorName[12990:13015], + _ErrorName[13015:13038], + _ErrorName[13038:13067], + _ErrorName[13067:13093], + _ErrorName[13093:13115], + _ErrorName[13115:13132], + _ErrorName[13132:13166], + _ErrorName[13166:13203], + _ErrorName[13203:13216], + _ErrorName[13216:13227], + _ErrorName[13227:13257], + _ErrorName[13257:13279], + _ErrorName[13279:13303], + _ErrorName[13303:13325], + _ErrorName[13325:13341], + _ErrorName[13341:13362], + _ErrorName[13362:13381], + _ErrorName[13381:13402], + _ErrorName[13402:13433], + _ErrorName[13433:13452], + _ErrorName[13452:13479], + _ErrorName[13479:13498], + _ErrorName[13498:13517], + _ErrorName[13517:13536], + _ErrorName[13536:13567], + _ErrorName[13567:13595], + _ErrorName[13595:13616], + _ErrorName[13616:13648], + _ErrorName[13648:13677], + _ErrorName[13677:13687], + _ErrorName[13687:13705], + _ErrorName[13705:13722], + _ErrorName[13722:13754], + _ErrorName[13754:13788], + _ErrorName[13788:13807], + _ErrorName[13807:13822], + _ErrorName[13822:13835], + _ErrorName[13835:13864], + _ErrorName[13864:13895], + _ErrorName[13895:13924], + _ErrorName[13924:13946], + _ErrorName[13946:13968], + _ErrorName[13968:13986], + _ErrorName[13986:14003], + _ErrorName[14003:14020], + _ErrorName[14020:14039], + _ErrorName[14039:14059], + _ErrorName[14059:14080], + _ErrorName[14080:14108], + _ErrorName[14108:14131], + _ErrorName[14131:14149], + _ErrorName[14149:14158], + _ErrorName[14158:14174], + _ErrorName[14174:14191], + _ErrorName[14191:14210], + _ErrorName[14210:14245], + _ErrorName[14245:14271], + _ErrorName[14271:14300], + _ErrorName[14300:14327], + _ErrorName[14327:14347], + _ErrorName[14347:14373], + _ErrorName[14373:14391], + _ErrorName[14391:14439], + _ErrorName[14439:14454], + _ErrorName[14454:14466], + _ErrorName[14466:14475], + _ErrorName[14475:14493], + _ErrorName[14493:14532], + _ErrorName[14532:14546], + _ErrorName[14546:14569], + _ErrorName[14569:14596], + _ErrorName[14596:14613], + _ErrorName[14613:14631], + _ErrorName[14631:14651], + _ErrorName[14651:14674], + _ErrorName[14674:14700], + _ErrorName[14700:14716], + _ErrorName[14716:14750], + _ErrorName[14750:14762], + _ErrorName[14762:14781], + _ErrorName[14781:14803], + _ErrorName[14803:14820], + _ErrorName[14820:14835], + _ErrorName[14835:14853], + _ErrorName[14853:14876], + _ErrorName[14876:14899], + _ErrorName[14899:14919], + _ErrorName[14919:14943], + _ErrorName[14943:14957], + _ErrorName[14957:15002], + _ErrorName[15002:15026], + _ErrorName[15026:15060], + _ErrorName[15060:15089], + _ErrorName[15089:15112], + _ErrorName[15112:15130], + _ErrorName[15130:15144], + _ErrorName[15144:15153], + _ErrorName[15153:15181], + _ErrorName[15181:15200], + _ErrorName[15200:15218], + _ErrorName[15218:15249], + _ErrorName[15249:15265], + _ErrorName[15265:15282], + _ErrorName[15282:15304], + _ErrorName[15304:15362], + _ErrorName[15362:15385], + _ErrorName[15385:15413], + _ErrorName[15413:15438], + _ErrorName[15438:15453], + _ErrorName[15453:15469], + _ErrorName[15469:15483], + _ErrorName[15483:15496], + _ErrorName[15496:15513], + _ErrorName[15513:15526], + _ErrorName[15526:15547], + _ErrorName[15547:15580], + _ErrorName[15580:15610], } // ErrorString retrieves an enum value from the enum constants string name. diff --git a/vendor/github.com/ClickHouse/ch-go/proto/time.go b/vendor/github.com/ClickHouse/ch-go/proto/time.go index 5afac6de4292c..60ae6212a0e7b 100644 --- a/vendor/github.com/ClickHouse/ch-go/proto/time.go +++ b/vendor/github.com/ClickHouse/ch-go/proto/time.go @@ -7,36 +7,37 @@ import ( "time" ) -// Time32 represents time of day in seconds since midnight. +// Time32 represents duration in seconds. type Time32 int32 -// Time64 represents time of day with precision as a decimal with configurable scale. +// Time64 represents duration up until nanoseconds. type Time64 int64 +// String implements formatting Time32 to string of form Hour:Minutes:Seconds. func (t Time32) String() string { - seconds := int32(t) - hours := seconds / 3600 - minutes := (seconds % 3600) / 60 - secs := seconds % 60 + d := time.Duration(t) * time.Second + + hours := int(d.Hours()) + minutes := int(d.Minutes()) % 60 + secs := int(d.Seconds()) % 60 return fmt.Sprintf("%02d:%02d:%02d", hours, minutes, secs) } +// String implements formatting Time64 to string of form Hour:Minutes:Seconds.NanoSeconds. func (t Time64) String() string { - // Time64 stores as decimal with scale, convert to nanoseconds for display - scale := int64(1e9) // Default to nanosecond scale for display - value := int64(t) - - // Convert to nanoseconds since midnight - seconds := value / scale - nanos := (value % scale) * (1e9 / scale) + d := time.Duration(t) - hours := seconds / 3600 - minutes := (seconds % 3600) / 60 - secs := seconds % 60 + hours := int(d.Hours()) + minutes := int(d.Minutes()) % 60 + secs := int(d.Seconds()) % 60 + nanos := d.Nanoseconds() % 1e9 + // NOTE(kavi): do we need multiple formatting depending on precision (3, 6, 9) instead of + // always 9? return fmt.Sprintf("%02d:%02d:%02d.%09d", hours, minutes, secs, nanos) } +// ParseTime32 parses string of form "12:34:56" to valid Time32 type. func ParseTime32(s string) (Time32, error) { parts := strings.Split(s, ":") if len(parts) != 3 { @@ -62,8 +63,8 @@ func ParseTime32(s string) (Time32, error) { return Time32(totalSeconds), nil } +// ParseTime64 parses string of form "12:34:56.789" to valid Time64 type. func ParseTime64(s string) (Time64, error) { - // Parse time string like "12:34:56.789" timePart, fractionalStr, ok := strings.Cut(s, ".") if !ok { fractionalStr = "" @@ -112,77 +113,56 @@ func ParseTime64(s string) (Time64, error) { return Time64(totalSeconds*1e9 + fractional), nil } -func FromTime32(t time.Time) Time32 { - hour := t.Hour() - minute := t.Minute() - second := t.Second() - totalSeconds := int32(hour*3600 + minute*60 + second) - return Time32(totalSeconds) +// IntoTime32 converts time.Druation into Time32 up to seconds precision. +func IntoTime32(t time.Duration) Time32 { + return Time32(int(t.Seconds())) } -// FromTime64 converts time.Time to Time64 with default precision (9 - nanoseconds) -func FromTime64(t time.Time) Time64 { - return FromTime64WithPrecision(t, 9) +// IntoTime64 converts time.Duration to Time64 up to nanoseconds precision +func IntoTime64(t time.Duration) Time64 { + return IntoTime64WithPrecision(t, PrecisionMax) } -// FromTime64WithPrecision converts time.Time to Time64 with specified precision -// Time64 stores time as a decimal with configurable scale, similar to DateTime64 -func FromTime64WithPrecision(t time.Time, precision int) Time64 { - hour := t.Hour() - minute := t.Minute() - second := t.Second() - nanosecond := t.Nanosecond() - - // Calculate seconds since midnight - totalSeconds := int64(hour*3600 + minute*60 + second) - - // Calculate scale based on precision (same as DateTime64) - scale := int64(1) - for i := 0; i < precision; i++ { - scale *= 10 - } - - // Convert to the appropriate scale - // Store as: seconds * scale + fractional_part - fractional := int64(nanosecond) * scale / 1e9 - return Time64(totalSeconds*scale + fractional) +// IntoTime64WithPrecision converts time.Duration to Time64 with specified precision +func IntoTime64WithPrecision(d time.Duration, precision Precision) Time64 { + res := truncateDuration(d, precision) + return Time64(res) } -func (t Time32) ToTime32() time.Time { +// Duration converts Time32 into time.Duration up to seconds precision +func (t Time32) Duration() time.Duration { seconds := int32(t) - hours := seconds / 3600 - minutes := (seconds % 3600) / 60 - secs := seconds % 60 - return time.Date(1970, 1, 1, int(hours), int(minutes), int(secs), 0, time.UTC) + return time.Second * time.Duration(seconds) } -// ToTime converts Time64 to time.Time with default precision (9 - nanoseconds) -func (t Time64) ToTime() time.Time { - return t.ToTimeWithPrecision(9) +// Duration converts Time64 into time.Duration up to nanoseconds precision +func (t Time64) Duration() time.Duration { + return t.ToDurationWithPrecision(PrecisionMax) } -// ToTimeWithPrecision converts Time64 to time.Time with specified precision -// Time64 stores time as a decimal with configurable scale, similar to DateTime64 -func (t Time64) ToTimeWithPrecision(precision int) time.Time { - // Calculate scale based on precision (same as DateTime64) - scale := int64(1) - for i := 0; i < precision; i++ { - scale *= 10 - } - - value := int64(t) - - // Extract whole and fractional parts - whole := value / scale - fractional := value % scale - - // Convert fractional part to nanoseconds - nanoseconds := fractional * 1e9 / scale +// ToDurationWithPrecision converts Time64 to time.Duration with specified precision +// up until PrecisionMax (nanoseconds) +func (t Time64) ToDurationWithPrecision(precision Precision) time.Duration { + d := time.Duration(t) + return truncateDuration(d, precision) +} - // Convert whole part to time components - hours := whole / 3600 - minutes := (whole % 3600) / 60 - seconds := whole % 60 +func truncateDuration(d time.Duration, precision Precision) time.Duration { + var res time.Duration + switch precision { + case PrecisionSecond: + res = d.Truncate(time.Second) + case PrecisionMilli: + res = d.Truncate(time.Millisecond) + case PrecisionMicro: + res = d.Truncate(time.Microsecond) + // NOTE: NO additional case needed for PrecisionMax, given it's type alias for PrecisionNano + case PrecisionNano: + res = d + default: + // if wrong precision, treat it as Millisecond. + res = d.Truncate(time.Millisecond) + } - return time.Date(1970, 1, 1, int(hours), int(minutes), int(seconds), int(nanoseconds), time.UTC) + return res } diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/.gitignore b/vendor/github.com/ClickHouse/clickhouse-go/v2/.gitignore index 2e8e75bad6c2a..549ccdc502c5c 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/.gitignore +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/.gitignore @@ -40,3 +40,4 @@ pipeline.auto.tfvars *.tfvars .env +go.work diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/CHANGELOG.md b/vendor/github.com/ClickHouse/clickhouse-go/v2/CHANGELOG.md index bcf11bbef3721..a2df7b8ee421b 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/CHANGELOG.md +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/CHANGELOG.md @@ -1,1106 +1,1160 @@ -# v2.40.3, 2025-09-13 - -## What's Changed -### Other Changes 🛠 -* bug: deserializing into nullable field by @rbroggi in https://github.com/ClickHouse/clickhouse-go/pull/1649 -* Fixes for #1649 by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1654 - -## New Contributors -* @rbroggi made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1649 - +# v2.41.0, 2025-11-20 + +## What's Changed + +### Enhancements :tada: +* feat: add custom http transport by @r0bobo in https://github.com/ClickHouse/clickhouse-go/pull/1656 +* Support interface typed NamedValue binding by @crisismaple in https://github.com/ClickHouse/clickhouse-go/pull/1633 +* remove deprecated Object('json') column by @kavirajk in https://github.com/ClickHouse/clickhouse-go/pull/1674 +* feat: OpenDB api now sets few configs passed via options by @kavirajk in https://github.com/ClickHouse/clickhouse-go/pull/1675 +* chore: Async inserts docs and example updates by @kavirajk in https://github.com/ClickHouse/clickhouse-go/pull/1690 +* Set HttpUrlPath from DSN to resolve missing path in HTTP requests by @RokibulHasan7 in https://github.com/ClickHouse/clickhouse-go/pull/1692 +* Add support to `time` and `time64` datatypes by @kavirajk @shivanshuraj1333 in https://github.com/ClickHouse/clickhouse-go/pull/1669 +* fix: Don't scan profile events if listener is not set by @erezrokah in https://github.com/ClickHouse/clickhouse-go/pull/1686 +* Allow oneline comment in insert query by @luckyevildev in https://github.com/ClickHouse/clickhouse-go/pull/1693 +* Update cloud version matrix (25.10) by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1704 +* Disable default transport layer gzip compression by default by @kavirajk https://github.com/ClickHouse/clickhouse-go/pull/1704/commits/5c8c388b7e19b6be4ca101624d7ae3b02bf15a05 and https://github.com/ClickHouse/clickhouse-go/pull/1704#issuecomment-3502818316 +* Add some examples for ephemeral column by @kavirajk in https://github.com/ClickHouse/clickhouse-go/pull/1710 + + +### Bug fixes :bug: +* Fix potential Divide by Zero panic by @kavirajk in https://github.com/ClickHouse/clickhouse-go/pull/1665 +* fix: SimpleAggregateFunction(anyLast, JSON) by @bripkens in https://github.com/ClickHouse/clickhouse-go/pull/1645 +* bug: Fix Nullable(JSON) with `nil` map by @kavirajk in https://github.com/ClickHouse/clickhouse-go/pull/1667 +* bug: Fixes some correctness bug with ContextWatchdog by @kavirajk in https://github.com/ClickHouse/clickhouse-go/pull/1688 + +### Other Changes 🛠 +* chore: Remove unused bash script by @kavirajk in https://github.com/ClickHouse/clickhouse-go/pull/1663 +* chore: Remove license header from each go file by @kavirajk in https://github.com/ClickHouse/clickhouse-go/pull/1662 +* Bump github.com/paulmach/orb from 0.11.1 to 0.12.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1664 +* Bump github.com/testcontainers/testcontainers-go from 0.38.0 to 0.39.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1666 +* Bump github.com/docker/docker from 28.4.0+incompatible to 28.5.0+incompatible by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1676 +* Bump github.com/docker/docker from 28.5.0+incompatible to 28.5.1+incompatible by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1679 +* Bump golang.org/x/net from 0.44.0 to 0.46.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1683 +* Bump github.com/ClickHouse/ch-go from 0.68.0 to 0.69.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1678 +* chore: Update contributing guide and docker compose stack by @erezrokah in https://github.com/ClickHouse/clickhouse-go/pull/1684 +* chore: Upgrade Go toolchain to 1.25.x by @kavirajk in https://github.com/ClickHouse/clickhouse-go/pull/1689 +* Bump github.com/docker/docker from 28.5.1+incompatible to 28.5.2+incompatible by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1706 +* Bump github.com/testcontainers/testcontainers-go from 0.39.0 to 0.40.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1705 +* Bump golang.org/x/net from 0.46.0 to 0.47.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1711 + +## New Contributors +* @kavirajk made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1663 +* @bripkens made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1645 +* @erezrokah made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1684 +* @RokibulHasan7 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1692 +* @luckyevildev made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1693 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.40.3...v2.41.0 + +# v2.40.3, 2025-09-13 + +## What's Changed +### Enhancements 🎉 +* Add option to set custom http transport @r0bobo in https://github.com/ClickHouse/clickhouse-go/pull/1656 + +### Other Changes 🛠 +* bug: deserializing into nullable field by @rbroggi in https://github.com/ClickHouse/clickhouse-go/pull/1649 +* Fixes for #1649 by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1654 +* bug: Fix potential Divide by Zero panic by @artemseleznev and @kavirajk in https://github.com/ClickHouse/clickhouse-go/pull/1665 +* bug: Fix `Nullable(JSON)` with `nil` map. Inserting Null into a Nullable(JSON) column via a batch insert non-null value before by @kavirajk in https://github.com/ClickHouse/clickhouse-go/pull/1667 + +## New Contributors +* @rbroggi made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1649 + **Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.40.2...v2.40.3 -# v2.40.2, 2025-09-13 - -## What's Changed -### Other Changes 🛠 -* Bump golang.org/x/net from 0.42.0 to 0.43.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1634 -* Bump github.com/ClickHouse/ch-go from 0.67.0 to 0.68.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1639 -* Bump github.com/stretchr/testify from 1.10.0 to 1.11.1 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1641 -* Bump go.opentelemetry.io/otel/trace from 1.37.0 to 1.38.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1642 -* Bump github.com/docker/docker from 28.3.3+incompatible to 28.4.0+incompatible by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1646 -* Bump golang.org/x/net from 0.43.0 to 0.44.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1647 -* chore: migrate to maintained YAML library by @joschi in https://github.com/ClickHouse/clickhouse-go/pull/1651 -* skip random tests on Go 1.25 by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1652 -* bug: headers map can be nil by @r0bobo in https://github.com/ClickHouse/clickhouse-go/pull/1650 - -## New Contributors -* @joschi made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1651 -* @r0bobo made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1650 - +# v2.40.2, 2025-09-13 + +## What's Changed +### Other Changes 🛠 +* Bump golang.org/x/net from 0.42.0 to 0.43.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1634 +* Bump github.com/ClickHouse/ch-go from 0.67.0 to 0.68.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1639 +* Bump github.com/stretchr/testify from 1.10.0 to 1.11.1 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1641 +* Bump go.opentelemetry.io/otel/trace from 1.37.0 to 1.38.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1642 +* Bump github.com/docker/docker from 28.3.3+incompatible to 28.4.0+incompatible by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1646 +* Bump golang.org/x/net from 0.43.0 to 0.44.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1647 +* chore: migrate to maintained YAML library by @joschi in https://github.com/ClickHouse/clickhouse-go/pull/1651 +* skip random tests on Go 1.25 by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1652 +* bug: headers map can be nil by @r0bobo in https://github.com/ClickHouse/clickhouse-go/pull/1650 + +## New Contributors +* @joschi made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1651 +* @r0bobo made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1650 + **Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.40.1...v2.40.2 -# v2.40.1, 2025-07-30 - -## What's Changed -### Bug fixes 🐛 -* fix: `database/sql` Nullable(JSON) string scan by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1625 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.40.0...v2.40.1 - -# v2.40.0, 2025-07-30 - -## What's Changed -### Enhancements 🎉 -* support `database/sql` scanning json into `string`/`[]byte`/`json.RawMessage` by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1623 -### Bug fixes 🐛 -* fix: json v1 encoding/decoding for prefixed types by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1622 -* fix: Nullable base types with prefix by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1624 -### Other Changes 🛠 -* Bump github.com/docker/docker from 28.3.2+incompatible to 28.3.3+incompatible by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1621 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.39.0...v2.40.0 - -# v2.39.0, 2025-07-23 - -## What's Changed -### Bug fixes 🐛 -* Fix `ReadTimeout` so that it applies to each call to `conn.Read` not just the first read block by @GeorgeMac in https://github.com/ClickHouse/clickhouse-go/pull/1616, @SpencerTorres https://github.com/ClickHouse/clickhouse-go/pull/1617 - -## Read Timeout behavior changes -This bug fix has potential to affect longer running queries, ensure you're setting `clickhouse.Options` `ReadTimeout` to a reasonable value, and that your `context.WithDeadline` is also set to a reasonable value. The read timeout will now be applied to all blocks, previously it was only set for the first block. - -## New Contributors -* @GeorgeMac made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1616 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.38.1...v2.39.0 - -# v2.38.1, 2025-07-23 - -## What's Changed -### Bug fixes 🐛 -* fix: build failure due to 32-bit integer overflow on 386 arch by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1616 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.38.0...v2.38.1 - -# v2.38.0, 2025-07-22 - -## What's Changed -### Enhancements 🎉 -* `Dynamic` serialization version 3 by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1588 -* `JSON` serialization version 3 by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1589 -* Add `client_protocol_version` param for HTTP interface by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1594 -* Add missing interval types by @marcboeker in https://github.com/ClickHouse/clickhouse-go/pull/1613 -### Bug fixes 🐛 -* fix format function to handle pointer of time.Time by @KimMachineGun in https://github.com/ClickHouse/clickhouse-go/pull/1559 -* Fix variant prefix by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1591 -* fix(batch): nested column name parsing #1587 by @RuslanSibgatulin in https://github.com/ClickHouse/clickhouse-go/pull/1614 -### Other Changes 🛠 -* Bump github.com/andybalholm/brotli from 1.1.1 to 1.2.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1581 -* Bump github.com/docker/docker from 28.2.2+incompatible to 28.3.0+incompatible by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1583 -* Bump go.opentelemetry.io/otel/trace from 1.36.0 to 1.37.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1584 -* Bump github.com/docker/docker from 28.3.0+incompatible to 28.3.1+incompatible by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1585 -* Bump github.com/docker/docker from 28.3.1+incompatible to 28.3.2+incompatible by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1593 -* Bump golang.org/x/net from 0.41.0 to 0.42.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1595 -* add HTTP wait condition for container tests by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1604 -* include server revision in block/column parsing by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1605 -* Bump github.com/testcontainers/testcontainers-go from 0.37.0 to 0.38.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1603 -* docs: add client configuration options by @shivanshuraj1333 in https://github.com/ClickHouse/clickhouse-go/pull/1598 -* Bump github.com/ClickHouse/ch-go from 0.66.1 to 0.67.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1609 - -## Upgrades for Dynamic / JSON - -Dynamic and JSON were never fully functional in previous versions. If you exceeded the maximum types for `Dynamic`, the data would become unreadable since it was encoded as a single `SharedVariant` type. Same for JSON, if you exceeded the maximum dynamic paths the data would also become unreadable since it was stored in a `SharedData` structure. - -In ClickHouse 25.6, a setting was added that abstracts these structures away so that clients don't have to implement them. -To begin using Dynamic and JSON to their fullest ability, upgrade to ClickHouse 25.6 along with clickhouse-go v2.38.0, and enable `output_format_native_use_flattened_dynamic_and_json_serialization` in your connection settings. This will allow you to read all Dynamic and JSON data, even the portions that are stored in the SharedVariant and SharedData blobs on the server. - -If you are using older versions of ClickHouse, things will continue to work as before (with the previously mentioned limitations). - -Feel free to create an issue in the clickhouse-go repository to report any concerns or bugs with this change. - -## New Contributors -* @KimMachineGun made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1559 -* @shivanshuraj1333 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1598 -* @RuslanSibgatulin made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1614 -* @marcboeker made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1613 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.37.2...v2.38.0 - -# v2.37.2, 2025-06-23 - -## What's Changed -### Other Changes 🛠 -* remove dependency on v1, update ch-go by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1580 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.37.1...v2.37.2 - -# v2.37.1, 2025-06-17 - -## What's Changed -### Bug fixes 🐛 -* Fix Native API HTTP bugs by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1578 -* Fixed critical bug with the new HTTP Native API where connections were not being released. -* Also fixed random HTTP 400 errors with large batches over HTTP - - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.37.0...v2.37.1 - -# v2.37.0, 2025-06-16 - -## What's Changed -### Enhancements 🎉 -* Scanning Datetime and Datetime64 into int64 by @vaibhav-kt in https://github.com/ClickHouse/clickhouse-go/pull/1560 -* Supports scanning of Array, IPv4, IPv6, and Map types into Go values that implement the `sql.Scanner` interface. by @zapateo in https://github.com/ClickHouse/clickhouse-go/pull/1570 -* Support HTTP connnections in Native Go interface by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1577 (see details at bottom of release notes!) - -### Bug fixes 🐛 -* fix: Prevent panic on slice map keys by @disq in https://github.com/ClickHouse/clickhouse-go/pull/1567 -* object_json: split JSON tag to remove any trailing omitempty by @dschofie in https://github.com/ClickHouse/clickhouse-go/pull/1547 -* fix: namedValue namedDatevalue usage error by @tosolveit in https://github.com/ClickHouse/clickhouse-go/pull/1575 -* Fix false positives in TestInterfaceArray by @tosolveit in https://github.com/ClickHouse/clickhouse-go/pull/1572 - -### HTTP in ClickHouse API - -This release includes a bug fix / enhancement for the "ClickHouse API" interface. Previously the only way to use HTTP was through the `database/sql` interface, but now you can use `Protocol: clickhouse.HTTP` in your `clickhouse.Open` options. -HTTP still has some limitations to be aware of for things like batch flushing and session context, so be cautious when switching over code to this protocol. Please report any issues you may have with this change. Native protocol shouldn't be affected, but you can downgrade to v2.36.x if you notice any issues. - -## New Contributors -* @disq made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1567 -* @vaibhav-kt made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1560 -* @tosolveit made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1572 -* @dschofie made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1547 -* @zapateo made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1570 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.36.0...v2.37.0 - -# v2.36.0, 2025-06-03 - -## What's Changed -### Enhancements 🎉 -* Add `Close` function to batch interface by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1566 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.35.0...v2.36.0 - -# v2.35.0, 2025-05-22 - -## What's Changed -### Enhancements 🎉 -* JWT Authentication by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1538 -* Add support for overriding `database` in DSN URL by @kokizzu in https://github.com/ClickHouse/clickhouse-go/pull/1541 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.34.0...v2.35.0 - -# v2.34.0, 2025-04-01 - -## What's Changed - -### Enhancements 🎉 -* allow appending to Decimal column with `string` by @rutaka-n in https://github.com/ClickHouse/clickhouse-go/pull/1532 -* Enhancements for decimal strings by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1535 -### Bug fixes 🐛 -* Add length check to `FixedString` to prevent panic by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1534 -### Other Changes 🛠 -* chore: replace github.com/pkg/errors with stdlib by @hazzik in https://github.com/ClickHouse/clickhouse-go/pull/1530 - -## New Contributors -* @hazzik made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1530 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.33.1...v2.34.0 - -# v2.33.1, 2025-03-18 - -## What's Changed -### Bug fixes 🐛 -* fix concurrent map write errors with context by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1523 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.33.0...v2.33.1 - -# v2.33.0, 2025-03-07 - -## What's Changed -### Enhancements 🎉 -* Add handling for nested structs in named tuples by @Exca-DK in https://github.com/ClickHouse/clickhouse-go/pull/1500 -* Add option to control MaxConnsPerHost for http.Transport by @holycheater in https://github.com/ClickHouse/clickhouse-go/pull/1517 - -### Bug fixes 🐛 -* fix ConnOpenRandom strategy, issue: #1509 by @PalanQu in https://github.com/ClickHouse/clickhouse-go/pull/1510 -* fix: preserve nil elements in map by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1516 - - -## New Contributors -* @PalanQu made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1510 -* @Exca-DK made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1500 -* @holycheater made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1517 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.32.2...v2.33.0 - -# v2.32.2, 2025-02-20 - -## What's Changed -### Bug Fixes 🐛 -* fix: decode prefix of nested columns in Variant by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1506 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.32.1...v2.32.2 - -# v2.32.1, 2025-02-17 - -## What's Changed -### Bug Fixes 🐛 -* fix: enable Array() support for Variant, Dynamic, JSON by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1501 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.32.0...v2.32.1 - -# v2.32.0, 2025-02-14 - -## What's Changed - -### Enhancements 🎉 -* Add LZ4HC compression method by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1499 - -### Performance 🏎️ -* Removed ~1MB of memory usage in compressor by @pablomatiasgomez and @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1499 - -### Bug fixes 🐛 -* Fixed potential security vulnerability in compression block header length overflow by @santrancisco https://github.com/ClickHouse/clickhouse-go/pull/1499 - -### Other Changes 🛠 -* update compressor functions by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1499 -* change container provider, verify close conn error in tests by @pablomatiasgomez in https://github.com/ClickHouse/clickhouse-go/pull/1497 - -## New Contributors -* @pablomatiasgomez made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1497 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.31.0...v2.32.0 - -# v2.31.0, 2025-02-10 - -## What's Changed - -### Enhancements 🎉 -* `clickhouse.JSON` Serializer interface by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1491 -* use unsafe.Slice/unsafe.StringData by @serprex in https://github.com/ClickHouse/clickhouse-go/pull/1493 - -### Other Changes 🛠 -* JSON read/write benchmarks by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1490 - -## New Contributors -* @serprex made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1493 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.30.3...2.31.0 - -# v2.30.3, 2025-02-03 - -## What's Changed -### Other Changes 🛠 -* fix enum parse logic when its last index is zero by @lobachpavel in https://github.com/ClickHouse/clickhouse-go/pull/1487 - -## New Contributors -* @lobachpavel made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1487 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.30.2...v2.30.3 - -# v2.30.2, 2025-01-30 - -## What's Changed -### Bug fixes 🐛 -* Handle json tag without name override by @matevzmihalic in https://github.com/ClickHouse/clickhouse-go/pull/1478 -* fix: JSON NestedMap + add tests by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1482 - -## New Contributors -* @matevzmihalic made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1478 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.30.1...v2.30.2 - -# v2.30.1, 2025-01-17 - -## What's Changed -### Enhancements 🎉 -* [improvement] Some performance related changes to evaluate by @mdonkers in https://github.com/ClickHouse/clickhouse-go/pull/1426 -* Add Variant Type by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1453 -* Add Dynamic Type by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1454 -* Add JSON Type by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1455 -* stdlib sql return precision for DateTime64 by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1469 - -### Fixes 🐛 -* [FIX] Minor updates by @barkhayot in https://github.com/ClickHouse/clickhouse-go/pull/1451 -* Fix file descriptor leak in release utility script by @fengjun2016 in https://github.com/ClickHouse/clickhouse-go/pull/1460 -* Remove forced string conversions for Tuple by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1465 - -### Other Changes 🛠 -* [Chore] Use defer to close rows in examples by @hayotbisonai in https://github.com/ClickHouse/clickhouse-go/pull/1431 -* Regenerate certificates used in tests by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1441 - - -## New Contributors -* @hayotbisonai made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1431 -* @barkhayot made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1451 -* @fengjun2016 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1460 -* @SpencerTorres made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1453 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.30.0...v2.30.1 - -# v2.30.0, 2024-10-16 - -## What's Changed -### Enhancements 🎉 -* Extended support for HTTP proxy in driver options by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1424 -* Default implementation of column.IterableOrderedMap by @earwin in https://github.com/ClickHouse/clickhouse-go/pull/1417 -### Fixes 🐛 -* Fix serialization for slices of OrderedMap/IterableOrderedMap (#1365) by @earwin in https://github.com/ClickHouse/clickhouse-go/pull/1418 -* Retry on broken pipe in batch by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1423 -### Other Changes 🛠 -* Add 'clickhouse-go-rows-utils' to third-party libraries by @EpicStep in https://github.com/ClickHouse/clickhouse-go/pull/1413 - -## New Contributors -* @earwin made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1418 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.29.0...v2.30.0 - -# v2.29.0, 2024-09-24 - -## What's Changed -### Enhancements 🎉 -* Add ability to handle context cancellations for TCP protocol by @tinybit in https://github.com/ClickHouse/clickhouse-go/pull/1389 -### Other Changes 🛠 -* Add Examples for batch.Column(n).AppendRow in columnar_insert.go by @achmad-dev in https://github.com/ClickHouse/clickhouse-go/pull/1410 - -## New Contributors -* @achmad-dev made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1410 -* @tinybit made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1389 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.28.3...v2.29.0 - -# v2.28.3, 2024-09-12 - -## What's Changed -### Other Changes 🛠 -* Revert the minimum required Go version to 1.21 by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1405 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.28.2...v2.28.3 - -# v2.28.2, 2024-08-30 - -## What's Changed -### Fixes 🐛 -* Validate connection in bad state before query execution in the stdlib database/sql driver by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1396 -### Other Changes 🛠 -* Update README with newer Go versions by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1393 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.28.1...v2.28.2 - -# v2.28.1, 2024-08-27 - -## What's Changed -### Fixes 🐛 -* Recognize empty strings as a valid enum key by @genzgd in https://github.com/ClickHouse/clickhouse-go/pull/1387 -### Other Changes 🛠 -* ClickHouse 24.8 by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1385 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.28.0...v2.28.1 - -# v2.28.0, 2024-08-23 - -## What's Changed -### Fixes 🐛 -* Fix Enum column definition parse logic to match ClickHouse spec by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1380 -* Fix support custom serialization in Nested type by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1381 -* Fix panic on nil map append by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1383 -### Other Changes 🛠 -* Remove test coverage for deprecated Object('JSON') type by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1377 -* Remove JSON type use from a context use example by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1379 -* Make sure non-secure port is used during readiness check by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1382 -* Deprecate Go 1.21 ended support and require Go 1.22 by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1378 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.27.2...v2.28.0 - -# v2.27.2, 2024-08-20 - -## What's Changed -### Enhancements 🎉 -* Optimize Date/Date32 scan by @ShoshinNikita in https://github.com/ClickHouse/clickhouse-go/pull/1374 -### Fixes 🐛 -* Fix column list parsing for multiline INSERT statements by @Fiery-Fenix in https://github.com/ClickHouse/clickhouse-go/pull/1373 - -## New Contributors -* @Fiery-Fenix made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1373 -* @ShoshinNikita made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1374 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.27.1...v2.27.2 - -# v2.27.1, 2024-08-05 - -## What's Changed -### Fixes 🐛 -* Fix INSERT statement normalization match backtick table name by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1366 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.27.0...v2.27.1 - -# v2.27.0, 2024-08-01 - -## Breaking change notice - -v2.25.0 was released with a breaking change in https://github.com/ClickHouse/clickhouse-go/pull/1306. Please review your implementation. - -## What's Changed -### Enhancements 🎉 -* Unpack value of indirect types in array column to support nested structures in interfaced slices/arrays by @jmaicher in https://github.com/ClickHouse/clickhouse-go/pull/1350 -### Fixes 🐛 -* Common HTTP insert query normalization by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1341 -### Other Changes 🛠 -* Update examples std json by @xjeway in https://github.com/ClickHouse/clickhouse-go/pull/1240 -* ClickHouse 24.6 by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1352 -* ClickHouse 24.7 release by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1363 -* Update CHANGELOG with a breaking change note by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1364 - -## New Contributors -* @xjeway made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1240 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.26.0...v2.27.0 - -# v2.26.0, 2024-06-25 - -## What's Changed -### Enhancements 🎉 -* Reintroduce the random connection strategy by @larry-cdn77 in https://github.com/ClickHouse/clickhouse-go/pull/1313 -* Make custom debug log function on-par with the built-in one by @vespian in https://github.com/ClickHouse/clickhouse-go/pull/1317 -* Remove date overflow check as it's normalised by ClickHouse server by @gogingersnap777 in https://github.com/ClickHouse/clickhouse-go/pull/1315 -* Batch: impl `Columns() []column.Interface` method by @egsam98 in https://github.com/ClickHouse/clickhouse-go/pull/1277 -### Fixes 🐛 -* Fix rows.Close do not return too early by @yujiarista in https://github.com/ClickHouse/clickhouse-go/pull/1314 -* Setting `X-Clickhouse-SSL-Certificate-Auth` header correctly given `X-ClickHouse-Key` by @gogingersnap777 in https://github.com/ClickHouse/clickhouse-go/pull/1316 -* Retry on network errors and fix retries on async inserts with `database/sql` interface by @tommyzli in https://github.com/ClickHouse/clickhouse-go/pull/1330 -* BatchInsert parentheses issue fix by @ramzes642 in https://github.com/ClickHouse/clickhouse-go/pull/1327 -### Other Changes 🛠 -* ClickHouse 24.5 by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1319 -* Align `allow_suspicious_low_cardinality_types` and `allow_suspicious_low_cardinality_types ` settings in tests due to ClickHouse Cloud incompatibility by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1331 -* Use HTTPs scheme in std connection failover tests by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1332 - -## New Contributors -* @larry-cdn77 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1313 -* @vespian made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1317 -* @gogingersnap777 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1315 -* @yujiarista made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1314 -* @egsam98 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1277 -* @tommyzli made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1330 -* @ramzes642 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1327 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.25.0...v2.26.0 - -# v2.25.0, 2024-05-28 - -## What's Changed -### Breaking Changes 🚨 -* Add a compatibility layer for a database/sql driver to work with sql.NullString and ClickHouse nullable column by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1306 -### Other Changes 🛠 -* Use Go 1.22 in head tests by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1305 -* Skip flaky 1127 test by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1307 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.24.0...v2.25.0 - -# v2.24.0, 2024-05-08 - -## What's Changed -### Enhancements 🎉 -* Always compress responses when the client compression is on by @zhkvia in https://github.com/ClickHouse/clickhouse-go/pull/1286 -* Optional flag to close query with flush by @hongker in https://github.com/ClickHouse/clickhouse-go/pull/1276 -### Fixes 🐛 -* Fix prepare batch does not break on `values` substring in table name by @Wang in https://github.com/ClickHouse/clickhouse-go/pull/1290 -* Fix nil checks when appending slices of pointers by @markandrus in https://github.com/ClickHouse/clickhouse-go/pull/1283 -### Other Changes 🛠 -* Don't recreate keys from LC columns from direct stream by @genzgd in https://github.com/ClickHouse/clickhouse-go/pull/1291 - -## New Contributors -* @zhkvia made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1286 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.23.2...v2.24.0 - -# v2.23.2, 2024-04-25 - -## What's Changed -### Fixes 🐛 -* Fixed panic on concurrent context key map write by @Wang in https://github.com/ClickHouse/clickhouse-go/pull/1284 -### Other Changes 🛠 -* Fix ClickHouse Terraform provider version by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1285 - -## New Contributors -* @Wang made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1284 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.23.1...v2.23.2 - -# v2.23.1, 2024-04-15 - -## What's Changed -### Fixes 🐛 -* Zero-value timestamp to be formatted as toDateTime(0) in bind by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1260 -### Other Changes 🛠 -* Update #1127 test case to reproduce a progress handle when exception is thrown by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1259 -* Set max parallel for GH jobs by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1261 -* Ensure test container termination by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1274 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.23.0...v2.23.1 - -# v2.23.0, 2024-03-27 - -## What's Changed -### Enhancements 🎉 -* Implement `ConnBeginTx` as replacement for deprecated `Begin` by @FelipeLema in https://github.com/ClickHouse/clickhouse-go/pull/1255 -### Other Changes 🛠 -* Align error message assertion to new missing custom setting error formatting by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1256 -* CI chores by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1258 - -## New Contributors -* @FelipeLema made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1255 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.22.4...v2.23.0 - -# v2.22.4, 2024-03-25 - -## What's Changed -### Fixes 🐛 -* Fix column name with parantheses handle in prepare batch by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1252 -### Other Changes 🛠 -* Fix TestBatchAppendRows work different on cloud by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1251 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.22.3...v2.22.4 - -# v2.22.3, 2024-03-25 - -## What's Changed -### Fixes 🐛 -* Fix panic on tuple scan on []any by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1249 -### Other Changes 🛠 -* Error channel deadlock fix test case by @threadedstream in https://github.com/ClickHouse/clickhouse-go/pull/1239 -* Add a test case for #1127 by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1242 -* Run cloud/head jobs when label by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1250 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.22.2...v2.22.3 - -# v2.22.2, 2024-03-18 - -## What's Changed -### Fixes 🐛 -* Fix for Map columns with Enums by @leklund in https://github.com/ClickHouse/clickhouse-go/pull/1236 - -## New Contributors -* @leklund made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1236 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.22.1...v2.22.2 - -# v2.22.1, 2024-03-18 - -## What's Changed -### Fixes 🐛 -* Make errors channel buffered inside query() by @threadedstream in https://github.com/ClickHouse/clickhouse-go/pull/1237 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.22.0...v2.22.1 - -# v2.20.0, 2024-02-28 - -## What's Changed -### Enhancements 🎉 -* Support [n]byte/[]byte type Scan/Append to FixedString column by @rogeryk in https://github.com/ClickHouse/clickhouse-go/pull/1205 -### Other Changes 🛠 -* Enable cloud tests by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1202 -* Removed LowCardinality(UInt64) tests that caused allow_suspicious_low_cardinality_types related error by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1206 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.19.0...v2.20.0 - -# v2.19.0, 2024-02-26 - -## What's Changed -### Enhancements 🎉 -* handle ctx.Done() in acquire by @threadedstream in https://github.com/ClickHouse/clickhouse-go/pull/1199 -### Fixes 🐛 -* Fix panic on format nil *fmt.Stringer type value by @zaneli in https://github.com/ClickHouse/clickhouse-go/pull/1200 -### Other Changes 🛠 -* Update Go/ClickHouse versions by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1201 - -## New Contributors -* @threadedstream made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1199 -* @zaneli made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1200 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.18.0...v2.19.0 - -# v2.18.0, 2024-02-01 - -## What's Changed -### Enhancements 🎉 -* Add WithAllocBufferColStrProvider string column allocator for batch insert performance boost by @hongker in https://github.com/ClickHouse/clickhouse-go/pull/1181 -### Fixes 🐛 -* Fix bind for seconds scale DateTime by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1184 -### Other Changes 🛠 -* resolves #1163 debugF function is not respected by @omurbekjk in https://github.com/ClickHouse/clickhouse-go/pull/1166 - -## New Contributors -* @omurbekjk made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1166 -* @hongker made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1181 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.17.1...v2.18.0 - -# v2.17.1, 2023-12-27 - -## What's Changed -### Fixes 🐛 -* fix panic in contextWatchDog nil pointer check by @nityanandagohain in https://github.com/ClickHouse/clickhouse-go/pull/1168 - -## New Contributors -* @nityanandagohain made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1168 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.17.0...v2.17.1 - -# v2.17.0, 2023-12-21 - -## What's Changed -### Enhancements 🎉 -* Iterable ordered map alternative with improved performance by @hanjm in https://github.com/ClickHouse/clickhouse-go/pull/1152 -* Support bool alias type by @yogasw in https://github.com/ClickHouse/clickhouse-go/pull/1156 -### Fixes 🐛 -* Update README - mention HTTP protocol usable only with `database/sql` interface by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1160 -* Fix README example for Debugf by @aramperes in https://github.com/ClickHouse/clickhouse-go/pull/1153 - -## New Contributors -* @yogasw made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1156 -* @aramperes made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1153 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.16.0...v2.17.0 - -# v2.16.0, 2023-12-01 - -## What's Changed -### Enhancements 🎉 -* Add sql.Valuer support for all types by @deankarn in https://github.com/ClickHouse/clickhouse-go/pull/1144 -### Fixes 🐛 -* Fix DateTime64 range to actual supported range per ClickHouse documentation by @phil-schreiber in https://github.com/ClickHouse/clickhouse-go/pull/1148 - -## New Contributors -* @phil-schreiber made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1148 -* @deankarn made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1144 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.15.0...v2.16.0 - -# v2.14.3, 2023-10-12 - -## What's Changed -### Fixes 🐛 -* Fix insertion of empty map into JSON column by using _dummy subcolumn by @leodido in https://github.com/ClickHouse/clickhouse-go/pull/1116 -### Other Changes 🛠 -* chore: specify method field on compression in example by @rdaniels6813 in https://github.com/ClickHouse/clickhouse-go/pull/1111 -* chore: remove extra error checks by @rutaka-n in https://github.com/ClickHouse/clickhouse-go/pull/1095 - -## New Contributors -* @leodido made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1116 -* @rdaniels6813 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1111 -* @rutaka-n made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1095 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.14.2...v2.14.3 - -# v2.14.2, 2023-10-04 - -## What's Changed -### Fixes 🐛 -* Fix: Block stream read process would be terminated by empty block with zero rows by @crisismaple in https://github.com/ClickHouse/clickhouse-go/pull/1104 -* Free compressor's buffer when FreeBufOnConnRelease enabled by @cergxx in https://github.com/ClickHouse/clickhouse-go/pull/1100 -* Fix truncate ` for HTTP adapter by @beck917 in https://github.com/ClickHouse/clickhouse-go/pull/1103 -### Other Changes 🛠 -* docs: update readme.md by @rfyiamcool in https://github.com/ClickHouse/clickhouse-go/pull/1068 -* Remove dependency on github.com/satori/go.uuid by @srikanthccv in https://github.com/ClickHouse/clickhouse-go/pull/1085 - -## New Contributors -* @rfyiamcool made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1068 -* @beck917 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1103 -* @srikanthccv made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1085 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.14.1...v2.14.2 - -# v2.14.1, 2023-09-14 - -## What's Changed -### Enhancements 🎉 -* parseDSN: support connection pool settings (#1082) by @hanjm in https://github.com/ClickHouse/clickhouse-go/pull/1084 - -## New Contributors -* @hanjm made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1084 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.14.0...v2.14.1 - -# v2.14.0, 2023-09-12 - -## What's Changed -### Enhancements 🎉 -* Add FreeBufOnConnRelease to clickhouse.Options by @cergxx in https://github.com/ClickHouse/clickhouse-go/pull/1091 -* Improving object allocation for (positional) parameter binding by @mdonkers in https://github.com/ClickHouse/clickhouse-go/pull/1092 -### Fixes 🐛 -* Fix escaping double quote in SQL statement in prepare batch by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1083 -### Other Changes 🛠 -* Update Go & ClickHouse versions by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1079 -* Return status code from any http error by @RoryCrispin in https://github.com/ClickHouse/clickhouse-go/pull/1090 -* tests: fix dropped error by @alrs in https://github.com/ClickHouse/clickhouse-go/pull/1081 -* chore: unnecessary use of fmt.Sprintf by @testwill in https://github.com/ClickHouse/clickhouse-go/pull/1080 -* Run CI on self hosted runner by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1094 - -## New Contributors -* @cergxx made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1091 -* @alrs made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1081 -* @testwill made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1080 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.13.4...v2.14 - -# v2.13.4, 2023-08-30 - -## What's Changed -### Fixes 🐛 -* fix(proto): add TCP protocol version in query packet by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1077 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.13.3...v2.13.4 - -# v2.13.3, 2023-08-23 - -## What's Changed -### Fixes 🐛 -* fix(column.json): fix bool type handling by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1073 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.13.2...v2.13.3 - -# v2.13.2, 2023-08-18 - -## What's Changed -### Fixes 🐛 -* fix: update ch-go to remove string length limit by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1071 -### Other Changes 🛠 -* Test against latest and head CH by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1060 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.13.1...v2.13.2 - -# v2.13.1, 2023-08-17 - -## What's Changed -### Fixes 🐛 -* fix: native format Date32 representation by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1069 - - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.13.0...v2.13.1 - -# v2.13.0, 2023-08-10 - -## What's Changed -### Enhancements 🎉 -* Support scan from uint8 to bool by @ValManP in https://github.com/ClickHouse/clickhouse-go/pull/1051 -* Binding arguments for AsyncInsert interface by @mdonkers in https://github.com/ClickHouse/clickhouse-go/pull/1052 -* Batch rows count API by @EpicStep in https://github.com/ClickHouse/clickhouse-go/pull/1063 -* Implement release connection in batch by @EpicStep in https://github.com/ClickHouse/clickhouse-go/pull/1062 -### Other Changes 🛠 -* Restore test against CH 23.7 by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1059 - -## New Contributors -* @ValManP made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1051 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.12.1...v2.13.0 - -# v2.12.1, 2023-08-02 - -## What's Changed -### Fixes 🐛 -* Fix InsertAsync typo in docs by @et in https://github.com/ClickHouse/clickhouse-go/pull/1044 -* Fix panic and releasing in batch column by @EpicStep in https://github.com/ClickHouse/clickhouse-go/pull/1055 -* Docs/changelog fixes by @jmaicher in https://github.com/ClickHouse/clickhouse-go/pull/1046 -* Clarify error message re custom serializaion support by @RoryCrispin in https://github.com/ClickHouse/clickhouse-go/pull/1056 -* Fix send query on batch retry by @EpicStep in https://github.com/ClickHouse/clickhouse-go/pull/1045 -### Other Changes 🛠 -* Update ClickHouse versions by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1054 - -## New Contributors -* @et made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1044 -* @EpicStep made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1055 -* @jmaicher made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1046 -* @RoryCrispin made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1056 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.12.0...v2.12.1 - -# v2.12.0, 2023-07-27 - -## What's Changed -### Enhancements 🎉 -* Implement elapsed time in query progress by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1039 -### Fixes 🐛 -* Release connection slot on connection acquire timeout by @sentanos in https://github.com/ClickHouse/clickhouse-go/pull/1042 - -## New Contributors -* @sentanos made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1042 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.11.0...v2.12.0 - -# v2.11.0, 2023-07-20 - -## What's Changed -### Enhancements 🎉 -* Retry for batch API by @djosephsen in https://github.com/ClickHouse/clickhouse-go/pull/941 -### Fixes 🐛 -* Fix startAutoCloseIdleConnections cause goroutine leak by @YenchangChan in https://github.com/ClickHouse/clickhouse-go/pull/1011 -* Fix netip.Addr pointer panic by @anjmao in https://github.com/ClickHouse/clickhouse-go/pull/1029 -### Other Changes 🛠 -* Git actions terraform by @gingerwizard in https://github.com/ClickHouse/clickhouse-go/pull/1023 - -## New Contributors -* @YenchangChan made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1011 -* @djosephsen made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/941 -* @anjmao made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1029 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.10.1...v2.11.0 - -# v2.10.1, 2023-06-06 - -## What's Changed -### Other Changes 🛠 -* Update outdated README.md by @kokizzu in https://github.com/ClickHouse/clickhouse-go/pull/1006 -* Remove incorrect usage of KeepAlive in DialContext by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1009 - -## New Contributors -* @kokizzu made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1006 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.10.0...v2.10.1 - -# v2.10.0, 2023-05-17 - -## What's Changed -### Enhancements 🎉 -* Support [16]byte/[]byte typed scan/append for IPv6 column by @crisismaple in https://github.com/ClickHouse/clickhouse-go/pull/996 -* Add custom dialer option to http protocol by @stephaniehingtgen in https://github.com/ClickHouse/clickhouse-go/pull/998 -### Fixes 🐛 -* Tuple scan respects both value and pointer variable by @crisismaple in https://github.com/ClickHouse/clickhouse-go/pull/971 -* Auto close idle connections in native protocol in respect of ConnMaxLifetime option by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/999 - -## New Contributors -* @stephaniehingtgen made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/998 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.9.3...v2.10.0 - -# v2.9.2, 2023-05-08 - -## What's Changed -### Fixes 🐛 -* Pass http.ProxyFromEnvironment configuration to http.Transport by @slvrtrn in https://github.com/ClickHouse/clickhouse-go/pull/987 -### Other Changes 🛠 -* Use `any` instead of `interface{}` by @candiduslynx in https://github.com/ClickHouse/clickhouse-go/pull/984 - -## New Contributors -* @candiduslynx made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/984 -* @slvrtrn made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/987 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.9.1...v2.9.2 - -# v2.9.1, 2023-04-24 - -## What's Changed -### Enhancements 🎉 -* Do not return hard error on unparsable version in HTTP proto by @hexchain in https://github.com/ClickHouse/clickhouse-go/pull/975 -### Fixes 🐛 -* Return ErrBadConn in stdDriver Prepare if connection is broken by @czubocha in https://github.com/ClickHouse/clickhouse-go/pull/977 - -## New Contributors -* @czubocha made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/977 -* @hexchain made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/975 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.9.0...v2.9.1 - -# v2.9.0, 2023-04-13 - -## What's Changed -### Enhancements 🎉 -* External tables support for HTTP protocol by @crisismaple in https://github.com/ClickHouse/clickhouse-go/pull/942 -* Support driver.Valuer in String and FixedString columns by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/946 -* Support boolean and pointer type parameter binding by @crisismaple in https://github.com/ClickHouse/clickhouse-go/pull/963 -* Support insert/scan IPv4 using UInt32/*UInt32 types by @crisismaple in https://github.com/ClickHouse/clickhouse-go/pull/966 -### Fixes 🐛 -* Reset the pointer to the nullable field by @xiaochaoren1 in https://github.com/ClickHouse/clickhouse-go/pull/964 -* Enable to use ternary operator with named arguments by @crisismaple in https://github.com/ClickHouse/clickhouse-go/pull/965 -### Other Changes 🛠 -* chore: explain async insert in docs by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/969 - -## New Contributors -* @xiaochaoren1 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/964 - -**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.8.3...v2.9.0 - -## 2.8.3, 2023-04-03 - -### Bug fixes - -- Revert: Expire idle connections no longer acquired during lifetime [#958](https://github.com/ClickHouse/clickhouse-go/pull/958) by @jkaflik - -## 2.8.2, 2023-03-31 - -### Bug fixes - -- Expire idle connections no longer acquired during lifetime [#945](https://github.com/ClickHouse/clickhouse-go/pull/945) by @jkaflik - -## 2.8.1, 2023-03-29 - -### Bug fixes - -- Fix idle connection check for TLS connections [#951](https://github.com/ClickHouse/clickhouse-go/pull/951) by @jkaflik & @alekar - -## 2.8.0, 2023-03-27 - -### New features - -- Support customized "url path" in http connection [#938](https://github.com/ClickHouse/clickhouse-go/pull/938) by @crisismaple -- Allow Auth.Database option to be empty [#926](https://github.com/ClickHouse/clickhouse-go/pull/938) by @v4run - -### Chores - -- Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 [#933](https://github.com/ClickHouse/clickhouse-go/pull/933) -- fix: small typo in the text of an error [#936](https://github.com/ClickHouse/clickhouse-go/pull/936) by @lspgn -- Improved bug template [#916](https://github.com/ClickHouse/clickhouse-go/pull/916) by @mshustov - -## 2.7.0, 2023-03-08 - -### New features - -- Date type with user location [#923](https://github.com/ClickHouse/clickhouse-go/pull/923) by @jkaflik -- Add AppendRow function to BatchColumn [#927](https://github.com/ClickHouse/clickhouse-go/pull/927) by @pikot - -### Bug fixes - -- fix: fix connect.compression's format verb [#924](https://github.com/ClickHouse/clickhouse-go/pull/924) by @mind1949 -- Add extra padding for strings shorter than FixedColumn length [#910](https://github.com/ClickHouse/clickhouse-go/pull/910) by @jkaflik - -### Chore - -- Bump github.com/andybalholm/brotli from 1.0.4 to 1.0.5 [#911](https://github.com/ClickHouse/clickhouse-go/pull/911) -- Bump github.com/paulmach/orb from 0.8.0 to 0.9.0 [#912](https://github.com/ClickHouse/clickhouse-go/pull/912) -- Bump golang.org/x/net from 0.0.0-20220722155237-a158d28d115b to 0.7.0 [#928](https://github.com/ClickHouse/clickhouse-go/pull/928) - -## 2.6.5, 2023-02-28 - -### Bug fixes - -- Fix array parameter formatting in binding mechanism [#921](https://github.com/ClickHouse/clickhouse-go/pull/921) by @genzgd - -## 2.6.4, 2023-02-23 - -### Bug fixes - -- Fixed concurrency issue in stdConnOpener [#918](https://github.com/ClickHouse/clickhouse-go/pull/918) by @jkaflik - -## 2.6.3, 2023-02-22 - -### Bug fixes - -- Fixed `lib/binary/string_safe.go` for non 64bit arch [#914](https://github.com/ClickHouse/clickhouse-go/pull/914) by @atoulme - -## 2.6.2, 2023-02-20 - -### Bug fixes - -- Fix decimal encoding with non-standard exponential representation [#909](https://github.com/ClickHouse/clickhouse-go/pull/909) by @vogrelord -- Add extra padding for strings shorter than FixedColumn length [#910](https://github.com/ClickHouse/clickhouse-go/pull/910) by @jkaflik - -### Chore - -- Remove Yandex ClickHouse image from Makefile [#895](https://github.com/ClickHouse/clickhouse-go/pull/895) by @alexey-milovidov -- Remove duplicate of error handling [#898](https://github.com/ClickHouse/clickhouse-go/pull/898) by @Astemirdum -- Bump github.com/ClickHouse/ch-go from 0.51.2 to 0.52.1 [#901](https://github.com/ClickHouse/clickhouse-go/pull/901) - -## 2.6.1, 2023-02-13 - -### Bug fixes - -- Do not reuse expired connections (`ConnMaxLifetime`) [#892](https://github.com/ClickHouse/clickhouse-go/pull/892) by @iamluc -- Extend default dial timeout value to 30s [#893](https://github.com/ClickHouse/clickhouse-go/pull/893) by @jkaflik -- Compression name fixed in sendQuery log [#884](https://github.com/ClickHouse/clickhouse-go/pull/884) by @fredngr - -## 2.6.0, 2023-01-27 - -### New features - -- Client info specification implementation [#876](https://github.com/ClickHouse/clickhouse-go/pull/876) by @jkaflik - -### Bug fixes - -- Better handling for broken connection errors in the std interface [#879](https://github.com/ClickHouse/clickhouse-go/pull/879) by @n-oden - -### Chore - -- Document way to provide table or database identifier with query parameters [#875](https://github.com/ClickHouse/clickhouse-go/pull/875) by @jkaflik -- Bump github.com/ClickHouse/ch-go from 0.51.0 to 0.51.2 [#881](https://github.com/ClickHouse/clickhouse-go/pull/881) - -## 2.5.1, 2023-01-10 - -### Bug fixes - -- Flag connection as closed on broken pipe [#871](https://github.com/ClickHouse/clickhouse-go/pull/871) by @n-oden - -## 2.5.0, 2023-01-10 - -### New features - -- Buffered compression column by column for a native protocol. Introduces the `MaxCompressionBuffer` option - max size (bytes) of compression buffer during column-by-column compression (default 10MiB) [#808](https://github.com/ClickHouse/clickhouse-go/pull/808) by @gingerwizard and @jkaflik -- Support custom types that implement `sql.Scanner` interface (e.g. `type customString string`) [#850](https://github.com/ClickHouse/clickhouse-go/pull/850) by @DarkDrim -- Append query options to the context instead of overwriting [#860](https://github.com/ClickHouse/clickhouse-go/pull/860) by @aaron276h -- Query parameters support [#854](https://github.com/ClickHouse/clickhouse-go/pull/854) by @jkaflik -- Expose `DialStrategy` function to the user for custom connection routing. [#855](https://github.com/ClickHouse/clickhouse-go/pull/855) by @jkaflik - -### Bug fixes - -- Close connection on `Cancel`. This is to make sure context timed out/canceled connection is not reused further [#764](https://github.com/ClickHouse/clickhouse-go/pull/764) by @gingerwizard -- Fully parse `secure` and `skip_verify` in DSN query parameters. [#862](https://github.com/ClickHouse/clickhouse-go/pull/862) by @n-oden - -### Chore - -- Added tests covering read-only user queries [#837](https://github.com/ClickHouse/clickhouse-go/pull/837) by @jkaflik -- Agreed on a batch append fail semantics [#853](https://github.com/ClickHouse/clickhouse-go/pull/853) by @jkaflik - -## 2.4.3, 2022-11-30 -### Bug Fixes -* Fix in batch concurrency - batch could panic if used in separate go routines.
-The issue was originally detected due to the use of a batch in a go routine and Abort being called after the connection was released on the batch. This would invalidate the connection which had been subsequently reassigned.
-This issue could occur as soon as the conn is released (this can happen in a number of places e.g. after Send or an Append error), and it potentially returns to the pool for use in another go routine. Subsequent releases could then occur e.g., the user calls Abort mainly but also Send would do it. The result is the connection being closed in the release function while another batch or query potentially used it.
-This release includes a guard to prevent release from being called more than once on a batch. It assumes that batches are not thread-safe - they aren't (only connections are). -## 2.4.2, 2022-11-24 -### Bug Fixes -- Don't panic on `Send()` on batch after invalid `Append`. [#830](https://github.com/ClickHouse/clickhouse-go/pull/830) -- Fix JSON issue with `nil` if column order is inconsistent. [#824](https://github.com/ClickHouse/clickhouse-go/pull/824) - -## 2.4.1, 2022-11-23 -### Bug Fixes -- Patch release to fix "Regression - escape character was not considered when comparing column names". [#828](https://github.com/ClickHouse/clickhouse-go/issues/828) - -## 2.4.0, 2022-11-22 -### New Features -- Support for Nullables in Tuples. [#821](https://github.com/ClickHouse/clickhouse-go/pull/821) [#817](https://github.com/ClickHouse/clickhouse-go/pull/817) -- Use headers for auth and not url if SSL. [#811](https://github.com/ClickHouse/clickhouse-go/pull/811) -- Support additional headers. [#811](https://github.com/ClickHouse/clickhouse-go/pull/811) -- Support int64 for DateTime. [#807](https://github.com/ClickHouse/clickhouse-go/pull/807) -- Support inserting Enums as int8/int16/int. [#802](https://github.com/ClickHouse/clickhouse-go/pull/802) -- Print error if unsupported server. [#792](https://github.com/ClickHouse/clickhouse-go/pull/792) -- Allow block buffer size to tuned for performance - see `BlockBufferSize`. [#776](https://github.com/ClickHouse/clickhouse-go/pull/776) -- Support custom datetime in Scan. [#767](https://github.com/ClickHouse/clickhouse-go/pull/767) -- Support insertion of an orderedmap. [#763](https://github.com/ClickHouse/clickhouse-go/pull/763) - -### Bug Fixes -- Decompress errors over HTTP. [#792](https://github.com/ClickHouse/clickhouse-go/pull/792) -- Use `timezone` vs `timeZone` so we work on older versions. [#781](https://github.com/ClickHouse/clickhouse-go/pull/781) -- Ensure only columns specified in INSERT are required in batch. [#790](https://github.com/ClickHouse/clickhouse-go/pull/790) -- Respect order of columns in insert for batch. [#790](https://github.com/ClickHouse/clickhouse-go/pull/790) -- Handle double pointers for Nullable columns when batch inserting. [#774](https://github.com/ClickHouse/clickhouse-go/pull/774) -- Use nil for `LowCardinality(Nullable(X))`. [#768](https://github.com/ClickHouse/clickhouse-go/pull/768) - -### Breaking Changes -- Align timezone handling with spec. [#776](https://github.com/ClickHouse/clickhouse-go/pull/766), specifically: - - If parsing strings for datetime, datetime64 or dates we assume the locale is Local (i.e. the client) if not specified in the string. - - The server (or column tz) is used for datetime and datetime64 rendering. For date/date32, these have no tz info in the server. For now, they will be rendered as UTC - consistent with the clickhouse-client - - Addresses bind when no location is set +# v2.40.1, 2025-07-30 + +## What's Changed +### Bug fixes 🐛 +* fix: `database/sql` Nullable(JSON) string scan by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1625 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.40.0...v2.40.1 + +# v2.40.0, 2025-07-30 + +## What's Changed +### Enhancements 🎉 +* support `database/sql` scanning json into `string`/`[]byte`/`json.RawMessage` by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1623 +### Bug fixes 🐛 +* fix: json v1 encoding/decoding for prefixed types by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1622 +* fix: Nullable base types with prefix by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1624 +### Other Changes 🛠 +* Bump github.com/docker/docker from 28.3.2+incompatible to 28.3.3+incompatible by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1621 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.39.0...v2.40.0 + +# v2.39.0, 2025-07-23 + +## What's Changed +### Bug fixes 🐛 +* Fix `ReadTimeout` so that it applies to each call to `conn.Read` not just the first read block by @GeorgeMac in https://github.com/ClickHouse/clickhouse-go/pull/1616, @SpencerTorres https://github.com/ClickHouse/clickhouse-go/pull/1617 + +## Read Timeout behavior changes +This bug fix has potential to affect longer running queries, ensure you're setting `clickhouse.Options` `ReadTimeout` to a reasonable value, and that your `context.WithDeadline` is also set to a reasonable value. The read timeout will now be applied to all blocks, previously it was only set for the first block. + +## New Contributors +* @GeorgeMac made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1616 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.38.1...v2.39.0 + +# v2.38.1, 2025-07-23 + +## What's Changed +### Bug fixes 🐛 +* fix: build failure due to 32-bit integer overflow on 386 arch by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1616 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.38.0...v2.38.1 + +# v2.38.0, 2025-07-22 + +## What's Changed +### Enhancements 🎉 +* `Dynamic` serialization version 3 by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1588 +* `JSON` serialization version 3 by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1589 +* Add `client_protocol_version` param for HTTP interface by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1594 +* Add missing interval types by @marcboeker in https://github.com/ClickHouse/clickhouse-go/pull/1613 +### Bug fixes 🐛 +* fix format function to handle pointer of time.Time by @KimMachineGun in https://github.com/ClickHouse/clickhouse-go/pull/1559 +* Fix variant prefix by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1591 +* fix(batch): nested column name parsing #1587 by @RuslanSibgatulin in https://github.com/ClickHouse/clickhouse-go/pull/1614 +### Other Changes 🛠 +* Bump github.com/andybalholm/brotli from 1.1.1 to 1.2.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1581 +* Bump github.com/docker/docker from 28.2.2+incompatible to 28.3.0+incompatible by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1583 +* Bump go.opentelemetry.io/otel/trace from 1.36.0 to 1.37.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1584 +* Bump github.com/docker/docker from 28.3.0+incompatible to 28.3.1+incompatible by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1585 +* Bump github.com/docker/docker from 28.3.1+incompatible to 28.3.2+incompatible by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1593 +* Bump golang.org/x/net from 0.41.0 to 0.42.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1595 +* add HTTP wait condition for container tests by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1604 +* include server revision in block/column parsing by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1605 +* Bump github.com/testcontainers/testcontainers-go from 0.37.0 to 0.38.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1603 +* docs: add client configuration options by @shivanshuraj1333 in https://github.com/ClickHouse/clickhouse-go/pull/1598 +* Bump github.com/ClickHouse/ch-go from 0.66.1 to 0.67.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-go/pull/1609 + +## Upgrades for Dynamic / JSON + +Dynamic and JSON were never fully functional in previous versions. If you exceeded the maximum types for `Dynamic`, the data would become unreadable since it was encoded as a single `SharedVariant` type. Same for JSON, if you exceeded the maximum dynamic paths the data would also become unreadable since it was stored in a `SharedData` structure. + +In ClickHouse 25.6, a setting was added that abstracts these structures away so that clients don't have to implement them. +To begin using Dynamic and JSON to their fullest ability, upgrade to ClickHouse 25.6 along with clickhouse-go v2.38.0, and enable `output_format_native_use_flattened_dynamic_and_json_serialization` in your connection settings. This will allow you to read all Dynamic and JSON data, even the portions that are stored in the SharedVariant and SharedData blobs on the server. + +If you are using older versions of ClickHouse, things will continue to work as before (with the previously mentioned limitations). + +Feel free to create an issue in the clickhouse-go repository to report any concerns or bugs with this change. + +## New Contributors +* @KimMachineGun made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1559 +* @shivanshuraj1333 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1598 +* @RuslanSibgatulin made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1614 +* @marcboeker made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1613 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.37.2...v2.38.0 + +# v2.37.2, 2025-06-23 + +## What's Changed +### Other Changes 🛠 +* remove dependency on v1, update ch-go by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1580 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.37.1...v2.37.2 + +# v2.37.1, 2025-06-17 + +## What's Changed +### Bug fixes 🐛 +* Fix Native API HTTP bugs by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1578 +* Fixed critical bug with the new HTTP Native API where connections were not being released. +* Also fixed random HTTP 400 errors with large batches over HTTP + + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.37.0...v2.37.1 + +# v2.37.0, 2025-06-16 + +## What's Changed +### Enhancements 🎉 +* Scanning Datetime and Datetime64 into int64 by @vaibhav-kt in https://github.com/ClickHouse/clickhouse-go/pull/1560 +* Supports scanning of Array, IPv4, IPv6, and Map types into Go values that implement the `sql.Scanner` interface. by @zapateo in https://github.com/ClickHouse/clickhouse-go/pull/1570 +* Support HTTP connnections in Native Go interface by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1577 (see details at bottom of release notes!) + +### Bug fixes 🐛 +* fix: Prevent panic on slice map keys by @disq in https://github.com/ClickHouse/clickhouse-go/pull/1567 +* object_json: split JSON tag to remove any trailing omitempty by @dschofie in https://github.com/ClickHouse/clickhouse-go/pull/1547 +* fix: namedValue namedDatevalue usage error by @tosolveit in https://github.com/ClickHouse/clickhouse-go/pull/1575 +* Fix false positives in TestInterfaceArray by @tosolveit in https://github.com/ClickHouse/clickhouse-go/pull/1572 + +### HTTP in ClickHouse API + +This release includes a bug fix / enhancement for the "ClickHouse API" interface. Previously the only way to use HTTP was through the `database/sql` interface, but now you can use `Protocol: clickhouse.HTTP` in your `clickhouse.Open` options. +HTTP still has some limitations to be aware of for things like batch flushing and session context, so be cautious when switching over code to this protocol. Please report any issues you may have with this change. Native protocol shouldn't be affected, but you can downgrade to v2.36.x if you notice any issues. + +## New Contributors +* @disq made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1567 +* @vaibhav-kt made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1560 +* @tosolveit made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1572 +* @dschofie made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1547 +* @zapateo made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1570 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.36.0...v2.37.0 + +# v2.36.0, 2025-06-03 + +## What's Changed +### Enhancements 🎉 +* Add `Close` function to batch interface by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1566 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.35.0...v2.36.0 + +# v2.35.0, 2025-05-22 + +## What's Changed +### Enhancements 🎉 +* JWT Authentication by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1538 +* Add support for overriding `database` in DSN URL by @kokizzu in https://github.com/ClickHouse/clickhouse-go/pull/1541 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.34.0...v2.35.0 + +# v2.34.0, 2025-04-01 + +## What's Changed + +### Enhancements 🎉 +* allow appending to Decimal column with `string` by @rutaka-n in https://github.com/ClickHouse/clickhouse-go/pull/1532 +* Enhancements for decimal strings by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1535 +### Bug fixes 🐛 +* Add length check to `FixedString` to prevent panic by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1534 +### Other Changes 🛠 +* chore: replace github.com/pkg/errors with stdlib by @hazzik in https://github.com/ClickHouse/clickhouse-go/pull/1530 + +## New Contributors +* @hazzik made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1530 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.33.1...v2.34.0 + +# v2.33.1, 2025-03-18 + +## What's Changed +### Bug fixes 🐛 +* fix concurrent map write errors with context by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1523 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.33.0...v2.33.1 + +# v2.33.0, 2025-03-07 + +## What's Changed +### Enhancements 🎉 +* Add handling for nested structs in named tuples by @Exca-DK in https://github.com/ClickHouse/clickhouse-go/pull/1500 +* Add option to control MaxConnsPerHost for http.Transport by @holycheater in https://github.com/ClickHouse/clickhouse-go/pull/1517 + +### Bug fixes 🐛 +* fix ConnOpenRandom strategy, issue: #1509 by @PalanQu in https://github.com/ClickHouse/clickhouse-go/pull/1510 +* fix: preserve nil elements in map by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1516 + + +## New Contributors +* @PalanQu made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1510 +* @Exca-DK made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1500 +* @holycheater made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1517 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.32.2...v2.33.0 + +# v2.32.2, 2025-02-20 + +## What's Changed +### Bug Fixes 🐛 +* fix: decode prefix of nested columns in Variant by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1506 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.32.1...v2.32.2 + +# v2.32.1, 2025-02-17 + +## What's Changed +### Bug Fixes 🐛 +* fix: enable Array() support for Variant, Dynamic, JSON by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1501 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.32.0...v2.32.1 + +# v2.32.0, 2025-02-14 + +## What's Changed + +### Enhancements 🎉 +* Add LZ4HC compression method by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1499 + +### Performance 🏎️ +* Removed ~1MB of memory usage in compressor by @pablomatiasgomez and @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1499 + +### Bug fixes 🐛 +* Fixed potential security vulnerability in compression block header length overflow by @santrancisco https://github.com/ClickHouse/clickhouse-go/pull/1499 + +### Other Changes 🛠 +* update compressor functions by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1499 +* change container provider, verify close conn error in tests by @pablomatiasgomez in https://github.com/ClickHouse/clickhouse-go/pull/1497 + +## New Contributors +* @pablomatiasgomez made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1497 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.31.0...v2.32.0 + +# v2.31.0, 2025-02-10 + +## What's Changed + +### Enhancements 🎉 +* `clickhouse.JSON` Serializer interface by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1491 +* use unsafe.Slice/unsafe.StringData by @serprex in https://github.com/ClickHouse/clickhouse-go/pull/1493 + +### Other Changes 🛠 +* JSON read/write benchmarks by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1490 + +## New Contributors +* @serprex made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1493 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.30.3...2.31.0 + +# v2.30.3, 2025-02-03 + +## What's Changed +### Other Changes 🛠 +* fix enum parse logic when its last index is zero by @lobachpavel in https://github.com/ClickHouse/clickhouse-go/pull/1487 + +## New Contributors +* @lobachpavel made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1487 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.30.2...v2.30.3 + +# v2.30.2, 2025-01-30 + +## What's Changed +### Bug fixes 🐛 +* Handle json tag without name override by @matevzmihalic in https://github.com/ClickHouse/clickhouse-go/pull/1478 +* fix: JSON NestedMap + add tests by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1482 + +## New Contributors +* @matevzmihalic made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1478 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.30.1...v2.30.2 + +# v2.30.1, 2025-01-17 + +## What's Changed +### Enhancements 🎉 +* [improvement] Some performance related changes to evaluate by @mdonkers in https://github.com/ClickHouse/clickhouse-go/pull/1426 +* Add Variant Type by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1453 +* Add Dynamic Type by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1454 +* Add JSON Type by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1455 +* stdlib sql return precision for DateTime64 by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1469 + +### Fixes 🐛 +* [FIX] Minor updates by @barkhayot in https://github.com/ClickHouse/clickhouse-go/pull/1451 +* Fix file descriptor leak in release utility script by @fengjun2016 in https://github.com/ClickHouse/clickhouse-go/pull/1460 +* Remove forced string conversions for Tuple by @SpencerTorres in https://github.com/ClickHouse/clickhouse-go/pull/1465 + +### Other Changes 🛠 +* [Chore] Use defer to close rows in examples by @hayotbisonai in https://github.com/ClickHouse/clickhouse-go/pull/1431 +* Regenerate certificates used in tests by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1441 + + +## New Contributors +* @hayotbisonai made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1431 +* @barkhayot made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1451 +* @fengjun2016 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1460 +* @SpencerTorres made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1453 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.30.0...v2.30.1 + +# v2.30.0, 2024-10-16 + +## What's Changed +### Enhancements 🎉 +* Extended support for HTTP proxy in driver options by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1424 +* Default implementation of column.IterableOrderedMap by @earwin in https://github.com/ClickHouse/clickhouse-go/pull/1417 +### Fixes 🐛 +* Fix serialization for slices of OrderedMap/IterableOrderedMap (#1365) by @earwin in https://github.com/ClickHouse/clickhouse-go/pull/1418 +* Retry on broken pipe in batch by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1423 +### Other Changes 🛠 +* Add 'clickhouse-go-rows-utils' to third-party libraries by @EpicStep in https://github.com/ClickHouse/clickhouse-go/pull/1413 + +## New Contributors +* @earwin made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1418 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.29.0...v2.30.0 + +# v2.29.0, 2024-09-24 + +## What's Changed +### Enhancements 🎉 +* Add ability to handle context cancellations for TCP protocol by @tinybit in https://github.com/ClickHouse/clickhouse-go/pull/1389 +### Other Changes 🛠 +* Add Examples for batch.Column(n).AppendRow in columnar_insert.go by @achmad-dev in https://github.com/ClickHouse/clickhouse-go/pull/1410 + +## New Contributors +* @achmad-dev made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1410 +* @tinybit made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1389 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.28.3...v2.29.0 + +# v2.28.3, 2024-09-12 + +## What's Changed +### Other Changes 🛠 +* Revert the minimum required Go version to 1.21 by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1405 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.28.2...v2.28.3 + +# v2.28.2, 2024-08-30 + +## What's Changed +### Fixes 🐛 +* Validate connection in bad state before query execution in the stdlib database/sql driver by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1396 +### Other Changes 🛠 +* Update README with newer Go versions by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1393 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.28.1...v2.28.2 + +# v2.28.1, 2024-08-27 + +## What's Changed +### Fixes 🐛 +* Recognize empty strings as a valid enum key by @genzgd in https://github.com/ClickHouse/clickhouse-go/pull/1387 +### Other Changes 🛠 +* ClickHouse 24.8 by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1385 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.28.0...v2.28.1 + +# v2.28.0, 2024-08-23 + +## What's Changed +### Fixes 🐛 +* Fix Enum column definition parse logic to match ClickHouse spec by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1380 +* Fix support custom serialization in Nested type by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1381 +* Fix panic on nil map append by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1383 +### Other Changes 🛠 +* Remove test coverage for deprecated Object('JSON') type by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1377 +* Remove JSON type use from a context use example by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1379 +* Make sure non-secure port is used during readiness check by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1382 +* Deprecate Go 1.21 ended support and require Go 1.22 by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1378 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.27.2...v2.28.0 + +# v2.27.2, 2024-08-20 + +## What's Changed +### Enhancements 🎉 +* Optimize Date/Date32 scan by @ShoshinNikita in https://github.com/ClickHouse/clickhouse-go/pull/1374 +### Fixes 🐛 +* Fix column list parsing for multiline INSERT statements by @Fiery-Fenix in https://github.com/ClickHouse/clickhouse-go/pull/1373 + +## New Contributors +* @Fiery-Fenix made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1373 +* @ShoshinNikita made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1374 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.27.1...v2.27.2 + +# v2.27.1, 2024-08-05 + +## What's Changed +### Fixes 🐛 +* Fix INSERT statement normalization match backtick table name by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1366 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.27.0...v2.27.1 + +# v2.27.0, 2024-08-01 + +## Breaking change notice + +v2.25.0 was released with a breaking change in https://github.com/ClickHouse/clickhouse-go/pull/1306. Please review your implementation. + +## What's Changed +### Enhancements 🎉 +* Unpack value of indirect types in array column to support nested structures in interfaced slices/arrays by @jmaicher in https://github.com/ClickHouse/clickhouse-go/pull/1350 +### Fixes 🐛 +* Common HTTP insert query normalization by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1341 +### Other Changes 🛠 +* Update examples std json by @xjeway in https://github.com/ClickHouse/clickhouse-go/pull/1240 +* ClickHouse 24.6 by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1352 +* ClickHouse 24.7 release by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1363 +* Update CHANGELOG with a breaking change note by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1364 + +## New Contributors +* @xjeway made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1240 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.26.0...v2.27.0 + +# v2.26.0, 2024-06-25 + +## What's Changed +### Enhancements 🎉 +* Reintroduce the random connection strategy by @larry-cdn77 in https://github.com/ClickHouse/clickhouse-go/pull/1313 +* Make custom debug log function on-par with the built-in one by @vespian in https://github.com/ClickHouse/clickhouse-go/pull/1317 +* Remove date overflow check as it's normalised by ClickHouse server by @gogingersnap777 in https://github.com/ClickHouse/clickhouse-go/pull/1315 +* Batch: impl `Columns() []column.Interface` method by @egsam98 in https://github.com/ClickHouse/clickhouse-go/pull/1277 +### Fixes 🐛 +* Fix rows.Close do not return too early by @yujiarista in https://github.com/ClickHouse/clickhouse-go/pull/1314 +* Setting `X-Clickhouse-SSL-Certificate-Auth` header correctly given `X-ClickHouse-Key` by @gogingersnap777 in https://github.com/ClickHouse/clickhouse-go/pull/1316 +* Retry on network errors and fix retries on async inserts with `database/sql` interface by @tommyzli in https://github.com/ClickHouse/clickhouse-go/pull/1330 +* BatchInsert parentheses issue fix by @ramzes642 in https://github.com/ClickHouse/clickhouse-go/pull/1327 +### Other Changes 🛠 +* ClickHouse 24.5 by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1319 +* Align `allow_suspicious_low_cardinality_types` and `allow_suspicious_low_cardinality_types ` settings in tests due to ClickHouse Cloud incompatibility by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1331 +* Use HTTPs scheme in std connection failover tests by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1332 + +## New Contributors +* @larry-cdn77 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1313 +* @vespian made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1317 +* @gogingersnap777 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1315 +* @yujiarista made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1314 +* @egsam98 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1277 +* @tommyzli made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1330 +* @ramzes642 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1327 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.25.0...v2.26.0 + +# v2.25.0, 2024-05-28 + +## What's Changed +### Breaking Changes 🚨 +* Add a compatibility layer for a database/sql driver to work with sql.NullString and ClickHouse nullable column by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1306 +### Other Changes 🛠 +* Use Go 1.22 in head tests by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1305 +* Skip flaky 1127 test by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1307 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.24.0...v2.25.0 + +# v2.24.0, 2024-05-08 + +## What's Changed +### Enhancements 🎉 +* Always compress responses when the client compression is on by @zhkvia in https://github.com/ClickHouse/clickhouse-go/pull/1286 +* Optional flag to close query with flush by @hongker in https://github.com/ClickHouse/clickhouse-go/pull/1276 +### Fixes 🐛 +* Fix prepare batch does not break on `values` substring in table name by @Wang in https://github.com/ClickHouse/clickhouse-go/pull/1290 +* Fix nil checks when appending slices of pointers by @markandrus in https://github.com/ClickHouse/clickhouse-go/pull/1283 +### Other Changes 🛠 +* Don't recreate keys from LC columns from direct stream by @genzgd in https://github.com/ClickHouse/clickhouse-go/pull/1291 + +## New Contributors +* @zhkvia made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1286 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.23.2...v2.24.0 + +# v2.23.2, 2024-04-25 + +## What's Changed +### Fixes 🐛 +* Fixed panic on concurrent context key map write by @Wang in https://github.com/ClickHouse/clickhouse-go/pull/1284 +### Other Changes 🛠 +* Fix ClickHouse Terraform provider version by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1285 + +## New Contributors +* @Wang made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1284 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.23.1...v2.23.2 + +# v2.23.1, 2024-04-15 + +## What's Changed +### Fixes 🐛 +* Zero-value timestamp to be formatted as toDateTime(0) in bind by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1260 +### Other Changes 🛠 +* Update #1127 test case to reproduce a progress handle when exception is thrown by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1259 +* Set max parallel for GH jobs by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1261 +* Ensure test container termination by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1274 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.23.0...v2.23.1 + +# v2.23.0, 2024-03-27 + +## What's Changed +### Enhancements 🎉 +* Implement `ConnBeginTx` as replacement for deprecated `Begin` by @FelipeLema in https://github.com/ClickHouse/clickhouse-go/pull/1255 +### Other Changes 🛠 +* Align error message assertion to new missing custom setting error formatting by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1256 +* CI chores by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1258 + +## New Contributors +* @FelipeLema made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1255 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.22.4...v2.23.0 + +# v2.22.4, 2024-03-25 + +## What's Changed +### Fixes 🐛 +* Fix column name with parantheses handle in prepare batch by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1252 +### Other Changes 🛠 +* Fix TestBatchAppendRows work different on cloud by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1251 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.22.3...v2.22.4 + +# v2.22.3, 2024-03-25 + +## What's Changed +### Fixes 🐛 +* Fix panic on tuple scan on []any by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1249 +### Other Changes 🛠 +* Error channel deadlock fix test case by @threadedstream in https://github.com/ClickHouse/clickhouse-go/pull/1239 +* Add a test case for #1127 by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1242 +* Run cloud/head jobs when label by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1250 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.22.2...v2.22.3 + +# v2.22.2, 2024-03-18 + +## What's Changed +### Fixes 🐛 +* Fix for Map columns with Enums by @leklund in https://github.com/ClickHouse/clickhouse-go/pull/1236 + +## New Contributors +* @leklund made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1236 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.22.1...v2.22.2 + +# v2.22.1, 2024-03-18 + +## What's Changed +### Fixes 🐛 +* Make errors channel buffered inside query() by @threadedstream in https://github.com/ClickHouse/clickhouse-go/pull/1237 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.22.0...v2.22.1 + +# v2.20.0, 2024-02-28 + +## What's Changed +### Enhancements 🎉 +* Support [n]byte/[]byte type Scan/Append to FixedString column by @rogeryk in https://github.com/ClickHouse/clickhouse-go/pull/1205 +### Other Changes 🛠 +* Enable cloud tests by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1202 +* Removed LowCardinality(UInt64) tests that caused allow_suspicious_low_cardinality_types related error by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1206 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.19.0...v2.20.0 + +# v2.19.0, 2024-02-26 + +## What's Changed +### Enhancements 🎉 +* handle ctx.Done() in acquire by @threadedstream in https://github.com/ClickHouse/clickhouse-go/pull/1199 +### Fixes 🐛 +* Fix panic on format nil *fmt.Stringer type value by @zaneli in https://github.com/ClickHouse/clickhouse-go/pull/1200 +### Other Changes 🛠 +* Update Go/ClickHouse versions by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1201 + +## New Contributors +* @threadedstream made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1199 +* @zaneli made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1200 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.18.0...v2.19.0 + +# v2.18.0, 2024-02-01 + +## What's Changed +### Enhancements 🎉 +* Add WithAllocBufferColStrProvider string column allocator for batch insert performance boost by @hongker in https://github.com/ClickHouse/clickhouse-go/pull/1181 +### Fixes 🐛 +* Fix bind for seconds scale DateTime by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1184 +### Other Changes 🛠 +* resolves #1163 debugF function is not respected by @omurbekjk in https://github.com/ClickHouse/clickhouse-go/pull/1166 + +## New Contributors +* @omurbekjk made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1166 +* @hongker made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1181 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.17.1...v2.18.0 + +# v2.17.1, 2023-12-27 + +## What's Changed +### Fixes 🐛 +* fix panic in contextWatchDog nil pointer check by @nityanandagohain in https://github.com/ClickHouse/clickhouse-go/pull/1168 + +## New Contributors +* @nityanandagohain made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1168 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.17.0...v2.17.1 + +# v2.17.0, 2023-12-21 + +## What's Changed +### Enhancements 🎉 +* Iterable ordered map alternative with improved performance by @hanjm in https://github.com/ClickHouse/clickhouse-go/pull/1152 +* Support bool alias type by @yogasw in https://github.com/ClickHouse/clickhouse-go/pull/1156 +### Fixes 🐛 +* Update README - mention HTTP protocol usable only with `database/sql` interface by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1160 +* Fix README example for Debugf by @aramperes in https://github.com/ClickHouse/clickhouse-go/pull/1153 + +## New Contributors +* @yogasw made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1156 +* @aramperes made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1153 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.16.0...v2.17.0 + +# v2.16.0, 2023-12-01 + +## What's Changed +### Enhancements 🎉 +* Add sql.Valuer support for all types by @deankarn in https://github.com/ClickHouse/clickhouse-go/pull/1144 +### Fixes 🐛 +* Fix DateTime64 range to actual supported range per ClickHouse documentation by @phil-schreiber in https://github.com/ClickHouse/clickhouse-go/pull/1148 + +## New Contributors +* @phil-schreiber made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1148 +* @deankarn made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1144 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.15.0...v2.16.0 + +# v2.14.3, 2023-10-12 + +## What's Changed +### Fixes 🐛 +* Fix insertion of empty map into JSON column by using _dummy subcolumn by @leodido in https://github.com/ClickHouse/clickhouse-go/pull/1116 +### Other Changes 🛠 +* chore: specify method field on compression in example by @rdaniels6813 in https://github.com/ClickHouse/clickhouse-go/pull/1111 +* chore: remove extra error checks by @rutaka-n in https://github.com/ClickHouse/clickhouse-go/pull/1095 + +## New Contributors +* @leodido made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1116 +* @rdaniels6813 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1111 +* @rutaka-n made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1095 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.14.2...v2.14.3 + +# v2.14.2, 2023-10-04 + +## What's Changed +### Fixes 🐛 +* Fix: Block stream read process would be terminated by empty block with zero rows by @crisismaple in https://github.com/ClickHouse/clickhouse-go/pull/1104 +* Free compressor's buffer when FreeBufOnConnRelease enabled by @cergxx in https://github.com/ClickHouse/clickhouse-go/pull/1100 +* Fix truncate ` for HTTP adapter by @beck917 in https://github.com/ClickHouse/clickhouse-go/pull/1103 +### Other Changes 🛠 +* docs: update readme.md by @rfyiamcool in https://github.com/ClickHouse/clickhouse-go/pull/1068 +* Remove dependency on github.com/satori/go.uuid by @srikanthccv in https://github.com/ClickHouse/clickhouse-go/pull/1085 + +## New Contributors +* @rfyiamcool made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1068 +* @beck917 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1103 +* @srikanthccv made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1085 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.14.1...v2.14.2 + +# v2.14.1, 2023-09-14 + +## What's Changed +### Enhancements 🎉 +* parseDSN: support connection pool settings (#1082) by @hanjm in https://github.com/ClickHouse/clickhouse-go/pull/1084 + +## New Contributors +* @hanjm made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1084 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.14.0...v2.14.1 + +# v2.14.0, 2023-09-12 + +## What's Changed +### Enhancements 🎉 +* Add FreeBufOnConnRelease to clickhouse.Options by @cergxx in https://github.com/ClickHouse/clickhouse-go/pull/1091 +* Improving object allocation for (positional) parameter binding by @mdonkers in https://github.com/ClickHouse/clickhouse-go/pull/1092 +### Fixes 🐛 +* Fix escaping double quote in SQL statement in prepare batch by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1083 +### Other Changes 🛠 +* Update Go & ClickHouse versions by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1079 +* Return status code from any http error by @RoryCrispin in https://github.com/ClickHouse/clickhouse-go/pull/1090 +* tests: fix dropped error by @alrs in https://github.com/ClickHouse/clickhouse-go/pull/1081 +* chore: unnecessary use of fmt.Sprintf by @testwill in https://github.com/ClickHouse/clickhouse-go/pull/1080 +* Run CI on self hosted runner by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1094 + +## New Contributors +* @cergxx made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1091 +* @alrs made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1081 +* @testwill made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1080 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.13.4...v2.14 + +# v2.13.4, 2023-08-30 + +## What's Changed +### Fixes 🐛 +* fix(proto): add TCP protocol version in query packet by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1077 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.13.3...v2.13.4 + +# v2.13.3, 2023-08-23 + +## What's Changed +### Fixes 🐛 +* fix(column.json): fix bool type handling by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1073 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.13.2...v2.13.3 + +# v2.13.2, 2023-08-18 + +## What's Changed +### Fixes 🐛 +* fix: update ch-go to remove string length limit by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1071 +### Other Changes 🛠 +* Test against latest and head CH by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1060 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.13.1...v2.13.2 + +# v2.13.1, 2023-08-17 + +## What's Changed +### Fixes 🐛 +* fix: native format Date32 representation by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1069 + + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.13.0...v2.13.1 + +# v2.13.0, 2023-08-10 + +## What's Changed +### Enhancements 🎉 +* Support scan from uint8 to bool by @ValManP in https://github.com/ClickHouse/clickhouse-go/pull/1051 +* Binding arguments for AsyncInsert interface by @mdonkers in https://github.com/ClickHouse/clickhouse-go/pull/1052 +* Batch rows count API by @EpicStep in https://github.com/ClickHouse/clickhouse-go/pull/1063 +* Implement release connection in batch by @EpicStep in https://github.com/ClickHouse/clickhouse-go/pull/1062 +### Other Changes 🛠 +* Restore test against CH 23.7 by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1059 + +## New Contributors +* @ValManP made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1051 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.12.1...v2.13.0 + +# v2.12.1, 2023-08-02 + +## What's Changed +### Fixes 🐛 +* Fix InsertAsync typo in docs by @et in https://github.com/ClickHouse/clickhouse-go/pull/1044 +* Fix panic and releasing in batch column by @EpicStep in https://github.com/ClickHouse/clickhouse-go/pull/1055 +* Docs/changelog fixes by @jmaicher in https://github.com/ClickHouse/clickhouse-go/pull/1046 +* Clarify error message re custom serializaion support by @RoryCrispin in https://github.com/ClickHouse/clickhouse-go/pull/1056 +* Fix send query on batch retry by @EpicStep in https://github.com/ClickHouse/clickhouse-go/pull/1045 +### Other Changes 🛠 +* Update ClickHouse versions by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1054 + +## New Contributors +* @et made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1044 +* @EpicStep made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1055 +* @jmaicher made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1046 +* @RoryCrispin made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1056 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.12.0...v2.12.1 + +# v2.12.0, 2023-07-27 + +## What's Changed +### Enhancements 🎉 +* Implement elapsed time in query progress by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1039 +### Fixes 🐛 +* Release connection slot on connection acquire timeout by @sentanos in https://github.com/ClickHouse/clickhouse-go/pull/1042 + +## New Contributors +* @sentanos made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1042 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.11.0...v2.12.0 + +# v2.11.0, 2023-07-20 + +## What's Changed +### Enhancements 🎉 +* Retry for batch API by @djosephsen in https://github.com/ClickHouse/clickhouse-go/pull/941 +### Fixes 🐛 +* Fix startAutoCloseIdleConnections cause goroutine leak by @YenchangChan in https://github.com/ClickHouse/clickhouse-go/pull/1011 +* Fix netip.Addr pointer panic by @anjmao in https://github.com/ClickHouse/clickhouse-go/pull/1029 +### Other Changes 🛠 +* Git actions terraform by @gingerwizard in https://github.com/ClickHouse/clickhouse-go/pull/1023 + +## New Contributors +* @YenchangChan made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1011 +* @djosephsen made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/941 +* @anjmao made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1029 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.10.1...v2.11.0 + +# v2.10.1, 2023-06-06 + +## What's Changed +### Other Changes 🛠 +* Update outdated README.md by @kokizzu in https://github.com/ClickHouse/clickhouse-go/pull/1006 +* Remove incorrect usage of KeepAlive in DialContext by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/1009 + +## New Contributors +* @kokizzu made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/1006 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.10.0...v2.10.1 + +# v2.10.0, 2023-05-17 + +## What's Changed +### Enhancements 🎉 +* Support [16]byte/[]byte typed scan/append for IPv6 column by @crisismaple in https://github.com/ClickHouse/clickhouse-go/pull/996 +* Add custom dialer option to http protocol by @stephaniehingtgen in https://github.com/ClickHouse/clickhouse-go/pull/998 +### Fixes 🐛 +* Tuple scan respects both value and pointer variable by @crisismaple in https://github.com/ClickHouse/clickhouse-go/pull/971 +* Auto close idle connections in native protocol in respect of ConnMaxLifetime option by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/999 + +## New Contributors +* @stephaniehingtgen made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/998 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.9.3...v2.10.0 + +# v2.9.2, 2023-05-08 + +## What's Changed +### Fixes 🐛 +* Pass http.ProxyFromEnvironment configuration to http.Transport by @slvrtrn in https://github.com/ClickHouse/clickhouse-go/pull/987 +### Other Changes 🛠 +* Use `any` instead of `interface{}` by @candiduslynx in https://github.com/ClickHouse/clickhouse-go/pull/984 + +## New Contributors +* @candiduslynx made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/984 +* @slvrtrn made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/987 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.9.1...v2.9.2 + +# v2.9.1, 2023-04-24 + +## What's Changed +### Enhancements 🎉 +* Do not return hard error on unparsable version in HTTP proto by @hexchain in https://github.com/ClickHouse/clickhouse-go/pull/975 +### Fixes 🐛 +* Return ErrBadConn in stdDriver Prepare if connection is broken by @czubocha in https://github.com/ClickHouse/clickhouse-go/pull/977 + +## New Contributors +* @czubocha made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/977 +* @hexchain made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/975 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.9.0...v2.9.1 + +# v2.9.0, 2023-04-13 + +## What's Changed +### Enhancements 🎉 +* External tables support for HTTP protocol by @crisismaple in https://github.com/ClickHouse/clickhouse-go/pull/942 +* Support driver.Valuer in String and FixedString columns by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/946 +* Support boolean and pointer type parameter binding by @crisismaple in https://github.com/ClickHouse/clickhouse-go/pull/963 +* Support insert/scan IPv4 using UInt32/*UInt32 types by @crisismaple in https://github.com/ClickHouse/clickhouse-go/pull/966 +### Fixes 🐛 +* Reset the pointer to the nullable field by @xiaochaoren1 in https://github.com/ClickHouse/clickhouse-go/pull/964 +* Enable to use ternary operator with named arguments by @crisismaple in https://github.com/ClickHouse/clickhouse-go/pull/965 +### Other Changes 🛠 +* chore: explain async insert in docs by @jkaflik in https://github.com/ClickHouse/clickhouse-go/pull/969 + +## New Contributors +* @xiaochaoren1 made their first contribution in https://github.com/ClickHouse/clickhouse-go/pull/964 + +**Full Changelog**: https://github.com/ClickHouse/clickhouse-go/compare/v2.8.3...v2.9.0 + +## 2.8.3, 2023-04-03 + +### Bug fixes + +- Revert: Expire idle connections no longer acquired during lifetime [#958](https://github.com/ClickHouse/clickhouse-go/pull/958) by @jkaflik + +## 2.8.2, 2023-03-31 + +### Bug fixes + +- Expire idle connections no longer acquired during lifetime [#945](https://github.com/ClickHouse/clickhouse-go/pull/945) by @jkaflik + +## 2.8.1, 2023-03-29 + +### Bug fixes + +- Fix idle connection check for TLS connections [#951](https://github.com/ClickHouse/clickhouse-go/pull/951) by @jkaflik & @alekar + +## 2.8.0, 2023-03-27 + +### New features + +- Support customized "url path" in http connection [#938](https://github.com/ClickHouse/clickhouse-go/pull/938) by @crisismaple +- Allow Auth.Database option to be empty [#926](https://github.com/ClickHouse/clickhouse-go/pull/938) by @v4run + +### Chores + +- Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 [#933](https://github.com/ClickHouse/clickhouse-go/pull/933) +- fix: small typo in the text of an error [#936](https://github.com/ClickHouse/clickhouse-go/pull/936) by @lspgn +- Improved bug template [#916](https://github.com/ClickHouse/clickhouse-go/pull/916) by @mshustov + +## 2.7.0, 2023-03-08 + +### New features + +- Date type with user location [#923](https://github.com/ClickHouse/clickhouse-go/pull/923) by @jkaflik +- Add AppendRow function to BatchColumn [#927](https://github.com/ClickHouse/clickhouse-go/pull/927) by @pikot + +### Bug fixes + +- fix: fix connect.compression's format verb [#924](https://github.com/ClickHouse/clickhouse-go/pull/924) by @mind1949 +- Add extra padding for strings shorter than FixedColumn length [#910](https://github.com/ClickHouse/clickhouse-go/pull/910) by @jkaflik + +### Chore + +- Bump github.com/andybalholm/brotli from 1.0.4 to 1.0.5 [#911](https://github.com/ClickHouse/clickhouse-go/pull/911) +- Bump github.com/paulmach/orb from 0.8.0 to 0.9.0 [#912](https://github.com/ClickHouse/clickhouse-go/pull/912) +- Bump golang.org/x/net from 0.0.0-20220722155237-a158d28d115b to 0.7.0 [#928](https://github.com/ClickHouse/clickhouse-go/pull/928) + +## 2.6.5, 2023-02-28 + +### Bug fixes + +- Fix array parameter formatting in binding mechanism [#921](https://github.com/ClickHouse/clickhouse-go/pull/921) by @genzgd + +## 2.6.4, 2023-02-23 + +### Bug fixes + +- Fixed concurrency issue in stdConnOpener [#918](https://github.com/ClickHouse/clickhouse-go/pull/918) by @jkaflik + +## 2.6.3, 2023-02-22 + +### Bug fixes + +- Fixed `lib/binary/string_safe.go` for non 64bit arch [#914](https://github.com/ClickHouse/clickhouse-go/pull/914) by @atoulme + +## 2.6.2, 2023-02-20 + +### Bug fixes + +- Fix decimal encoding with non-standard exponential representation [#909](https://github.com/ClickHouse/clickhouse-go/pull/909) by @vogrelord +- Add extra padding for strings shorter than FixedColumn length [#910](https://github.com/ClickHouse/clickhouse-go/pull/910) by @jkaflik + +### Chore + +- Remove Yandex ClickHouse image from Makefile [#895](https://github.com/ClickHouse/clickhouse-go/pull/895) by @alexey-milovidov +- Remove duplicate of error handling [#898](https://github.com/ClickHouse/clickhouse-go/pull/898) by @Astemirdum +- Bump github.com/ClickHouse/ch-go from 0.51.2 to 0.52.1 [#901](https://github.com/ClickHouse/clickhouse-go/pull/901) + +## 2.6.1, 2023-02-13 + +### Bug fixes + +- Do not reuse expired connections (`ConnMaxLifetime`) [#892](https://github.com/ClickHouse/clickhouse-go/pull/892) by @iamluc +- Extend default dial timeout value to 30s [#893](https://github.com/ClickHouse/clickhouse-go/pull/893) by @jkaflik +- Compression name fixed in sendQuery log [#884](https://github.com/ClickHouse/clickhouse-go/pull/884) by @fredngr + +## 2.6.0, 2023-01-27 + +### New features + +- Client info specification implementation [#876](https://github.com/ClickHouse/clickhouse-go/pull/876) by @jkaflik + +### Bug fixes + +- Better handling for broken connection errors in the std interface [#879](https://github.com/ClickHouse/clickhouse-go/pull/879) by @n-oden + +### Chore + +- Document way to provide table or database identifier with query parameters [#875](https://github.com/ClickHouse/clickhouse-go/pull/875) by @jkaflik +- Bump github.com/ClickHouse/ch-go from 0.51.0 to 0.51.2 [#881](https://github.com/ClickHouse/clickhouse-go/pull/881) + +## 2.5.1, 2023-01-10 + +### Bug fixes + +- Flag connection as closed on broken pipe [#871](https://github.com/ClickHouse/clickhouse-go/pull/871) by @n-oden + +## 2.5.0, 2023-01-10 + +### New features + +- Buffered compression column by column for a native protocol. Introduces the `MaxCompressionBuffer` option - max size (bytes) of compression buffer during column-by-column compression (default 10MiB) [#808](https://github.com/ClickHouse/clickhouse-go/pull/808) by @gingerwizard and @jkaflik +- Support custom types that implement `sql.Scanner` interface (e.g. `type customString string`) [#850](https://github.com/ClickHouse/clickhouse-go/pull/850) by @DarkDrim +- Append query options to the context instead of overwriting [#860](https://github.com/ClickHouse/clickhouse-go/pull/860) by @aaron276h +- Query parameters support [#854](https://github.com/ClickHouse/clickhouse-go/pull/854) by @jkaflik +- Expose `DialStrategy` function to the user for custom connection routing. [#855](https://github.com/ClickHouse/clickhouse-go/pull/855) by @jkaflik + +### Bug fixes + +- Close connection on `Cancel`. This is to make sure context timed out/canceled connection is not reused further [#764](https://github.com/ClickHouse/clickhouse-go/pull/764) by @gingerwizard +- Fully parse `secure` and `skip_verify` in DSN query parameters. [#862](https://github.com/ClickHouse/clickhouse-go/pull/862) by @n-oden + +### Chore + +- Added tests covering read-only user queries [#837](https://github.com/ClickHouse/clickhouse-go/pull/837) by @jkaflik +- Agreed on a batch append fail semantics [#853](https://github.com/ClickHouse/clickhouse-go/pull/853) by @jkaflik + +## 2.4.3, 2022-11-30 +### Bug Fixes +* Fix in batch concurrency - batch could panic if used in separate go routines.
+The issue was originally detected due to the use of a batch in a go routine and Abort being called after the connection was released on the batch. This would invalidate the connection which had been subsequently reassigned.
+This issue could occur as soon as the conn is released (this can happen in a number of places e.g. after Send or an Append error), and it potentially returns to the pool for use in another go routine. Subsequent releases could then occur e.g., the user calls Abort mainly but also Send would do it. The result is the connection being closed in the release function while another batch or query potentially used it.
+This release includes a guard to prevent release from being called more than once on a batch. It assumes that batches are not thread-safe - they aren't (only connections are). +## 2.4.2, 2022-11-24 +### Bug Fixes +- Don't panic on `Send()` on batch after invalid `Append`. [#830](https://github.com/ClickHouse/clickhouse-go/pull/830) +- Fix JSON issue with `nil` if column order is inconsistent. [#824](https://github.com/ClickHouse/clickhouse-go/pull/824) + +## 2.4.1, 2022-11-23 +### Bug Fixes +- Patch release to fix "Regression - escape character was not considered when comparing column names". [#828](https://github.com/ClickHouse/clickhouse-go/issues/828) + +## 2.4.0, 2022-11-22 +### New Features +- Support for Nullables in Tuples. [#821](https://github.com/ClickHouse/clickhouse-go/pull/821) [#817](https://github.com/ClickHouse/clickhouse-go/pull/817) +- Use headers for auth and not url if SSL. [#811](https://github.com/ClickHouse/clickhouse-go/pull/811) +- Support additional headers. [#811](https://github.com/ClickHouse/clickhouse-go/pull/811) +- Support int64 for DateTime. [#807](https://github.com/ClickHouse/clickhouse-go/pull/807) +- Support inserting Enums as int8/int16/int. [#802](https://github.com/ClickHouse/clickhouse-go/pull/802) +- Print error if unsupported server. [#792](https://github.com/ClickHouse/clickhouse-go/pull/792) +- Allow block buffer size to tuned for performance - see `BlockBufferSize`. [#776](https://github.com/ClickHouse/clickhouse-go/pull/776) +- Support custom datetime in Scan. [#767](https://github.com/ClickHouse/clickhouse-go/pull/767) +- Support insertion of an orderedmap. [#763](https://github.com/ClickHouse/clickhouse-go/pull/763) + +### Bug Fixes +- Decompress errors over HTTP. [#792](https://github.com/ClickHouse/clickhouse-go/pull/792) +- Use `timezone` vs `timeZone` so we work on older versions. [#781](https://github.com/ClickHouse/clickhouse-go/pull/781) +- Ensure only columns specified in INSERT are required in batch. [#790](https://github.com/ClickHouse/clickhouse-go/pull/790) +- Respect order of columns in insert for batch. [#790](https://github.com/ClickHouse/clickhouse-go/pull/790) +- Handle double pointers for Nullable columns when batch inserting. [#774](https://github.com/ClickHouse/clickhouse-go/pull/774) +- Use nil for `LowCardinality(Nullable(X))`. [#768](https://github.com/ClickHouse/clickhouse-go/pull/768) + +### Breaking Changes +- Align timezone handling with spec. [#776](https://github.com/ClickHouse/clickhouse-go/pull/766), specifically: + - If parsing strings for datetime, datetime64 or dates we assume the locale is Local (i.e. the client) if not specified in the string. + - The server (or column tz) is used for datetime and datetime64 rendering. For date/date32, these have no tz info in the server. For now, they will be rendered as UTC - consistent with the clickhouse-client + - Addresses bind when no location is set diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/CONTRIBUTING.md b/vendor/github.com/ClickHouse/clickhouse-go/v2/CONTRIBUTING.md index d6b729c06f9b4..5f5bf2c69d4c8 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/CONTRIBUTING.md +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/CONTRIBUTING.md @@ -4,7 +4,8 @@ The easiest way to run tests is to use Docker Compose: -``` -docker-compose up -make +```bash +make up +make test +make down ``` diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/Makefile b/vendor/github.com/ClickHouse/clickhouse-go/v2/Makefile index 28c63515bad45..bc5f31aa59244 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/Makefile +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/Makefile @@ -3,7 +3,7 @@ CLICKHOUSE_TEST_TIMEOUT ?= 240s CLICKHOUSE_QUORUM_INSERT ?= 1 up: - @docker compose up -d + @docker compose up --wait down: @docker compose down diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/README.md b/vendor/github.com/ClickHouse/clickhouse-go/v2/README.md index 2daf3e9fab02c..a1b9310529610 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/README.md +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/README.md @@ -321,16 +321,17 @@ Usage examples for [native API](examples/clickhouse_api/client_info.go) and [dat ## Async insert -[Asynchronous insert](https://clickhouse.com/docs/en/optimize/asynchronous-inserts#enabling-asynchronous-inserts) is supported via dedicated `AsyncInsert` method. This allows to insert data with a non-blocking call. -Effectively, it controls a `async_insert` setting for the query. +[Async insert](https://clickhouse.com/docs/optimize/asynchronous-inserts) is supported via `WithAsync()` helper on both Native and HTTP protocols. You can use it for both Go standard interface `OpenDB` and also ClickHouse interface `Open()`. -### Using with batch API +**NOTE**: You can use `WithSettings()` manually to add any async related settings. `WithAsync()` is just a simple wrapper that does that for you. -Using native protocol, asynchronous insert does not support batching. It means, only inline query data is supported. Please see an example [here](examples/std/async.go). +We have following examples to show Async Insert in action. +1. [Native with OpenDB](examples/clickhouse_api/async_native.go) +1. [HTTP with OpenDB](examples/clickhouse_api/async_http.go) +1. [Native with Open](examples/std/async_native.go) +1. [HTTP with Open](examples/std/async_http.go) -HTTP protocol supports batching. It can be enabled by setting `async_insert` when using standard `Prepare` method. - -For more details please see [asynchronous inserts](https://clickhouse.com/docs/en/optimize/asynchronous-inserts#enabling-asynchronous-inserts) documentation. +**NOTE**: The old `AsyncInsert()` api is deprecated and will be removed in future versions. We highly recommend to use `WithAsync()` api for all the Async Insert use cases. ## PrepareBatch options diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/TYPES.md b/vendor/github.com/ClickHouse/clickhouse-go/v2/TYPES.md index cec5f540bcb4b..6bdcc53173b3d 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/TYPES.md +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/TYPES.md @@ -8,24 +8,25 @@ This effort is ongoing and can be separated in to insertion (`Append`/`AppendRow All types can be inserted as a value or pointer. -| | **ClickHouse Type** | String | Decimal | Bool | FixedString | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | UInt256 | Int8 | Int16 | Int32 | Int64 | Int128 | Int256 | Float32 | Float64 | UUID | Date | Date32 | DateTime | DateTime64 | Enum8 | Enum16 | Point | Ring | Polygon | MultiPolygon | -|---------------|---------------------|--------|---------|------|-------------|-------|--------|--------|--------|---------|---------|------|-------|-------|-------|--------|--------|---------|---------|------|------|--------|----------|------------|-------|--------|-------|------|---------|--------------| -| **Golang Type** | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| | **ClickHouse Type** | String | Decimal | Bool | FixedString | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | UInt256 | Int8 | Int16 | Int32 | Int64 | Int128 | Int256 | Float32 | Float64 | UUID | Date | Date32 | DateTime | DateTime64 | Time | Time64 | Enum8 | Enum16 | Point | Ring | Polygon | MultiPolygon | +|---------------|---------------------|--------|---------|------|-------------|-------|--------|--------|--------|---------|---------|------|-------|-------|-------|--------|--------|---------|---------|------|------|--------|----------|------------|------|--------|-------|--------|-------|------|---------|--------------| +| **Golang Type** | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | uint | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unit64 | | | | | | | | | X | | | | | | | | | | | | | | | | | | | | | | | uint32 | | | | | | | | X | | | | | | | | | | | | | | | | | | | | | | | | uint16 | | | | | | | X | | | | | | | | | | | | | | | | | | | | | | | | | uint8 | | | | | | X | | | | | | | | | | | | | | | | | | | | | | | | | -| int | | | | | | | | | | | | | | | | | | | | | | | | | X | X | | | | | -| int64 | | | | | | | | | | | | | | | X | | | | | | | | X | X | | | | | | | +| int | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| int64 | | | | | | | | | | | | | | | X | | | | | | | | X | X | | | | | | | | | | int32 | | | | | | | | | | | | | | X | | | | | | | | | | | | | | | | | | int16 | | | | | | | | | | | | | X | | | | | | | | | | | | | X | | | | | | int8 | | | | | | | | | | | | X | | | | | | | | | | | | | X | | | | | | | float32 | | | | | | | | | | | | | | | | | | X | | | | | | | | | | | | | | float64 | | | | | | | | | | | | | | | | | | | X | | | | | | | | | | | | -| string | | X | | | X | | | | | | | | | | | | | | | X | X | X | X | X | X | X | | | | | -| bool | | | | X | | | | | | | | | | | | | | | | | | | | | | | | | | | -| time.Time | | | | | | | | | | | | | | | | | | | | | X | X | X | X | | | | | | | +| string | | X | | | X | | | | | | | | | | | | | | | X | X | X | X | X | X | X | | | | | | | +| bool | | | | X | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| time.Time | | | | | | | | | | | | | | | | | | | | | X | X | X | X | | | | | | | | | +| time.Duration | | | | | | | | | | | | | | | | | | | | | | | | | X | X | | | | | | | | big.Int | | | | | | | | | | X | X | | | | | X | X | | | | | | | | | | | | | | | decimal.Decimal | | | X | | | | | | | | | | | | | | | | | | | | | | | | | | | | | uuid.UUID | | | | | | | | | | | | | | | | | | | | X | | | | | | | | | | | @@ -34,10 +35,10 @@ All types can be inserted as a value or pointer. | orb.Ring | | | | | | | | | | | | | | | | | | | | | | | | | | | | X | | | | orb.MultiPolygon | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | X | | []byte | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | X | - | fmt.Stringer | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| sql.NullString | | X | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| sql.NullTime | | | | | | | | | | | | | | | | | | | | | X | X | X | X | | | | | | | -| sql.NullFloat64 | | | | | | | | | | | | | | | | | | | X | | | | | | | | | | | | + | fmt.Stringer | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| sql.NullString | | X | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| sql.NullTime | | | | | | | | | | | | | | | | | | | | | X | X | X | X | | | | | | | | | +| sql.NullFloat64 | | | | | | | | | | | | | | | | | | | X | | | | | | | | | | | | | | | sql.NullInt64 | | | | | | | | | | | | | | | X | | | | | | | | | | | | | | | | | sql.NullInt32 | | | | | | | | | | | | | | X | | | | | | | | | | | | | | | | | | sql.NullInt16 | | | | | | | | | | | | | X | | | | | | | | | | | | | | | | | | @@ -47,9 +48,9 @@ All types can be inserted as a value or pointer. All types can be read into a pointer or pointer to a pointer. -| | **ClickHouse Type** | String | Decimal | Bool | FixedString | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | UInt256 | Int8 | Int16 | Int32 | Int64 | Int128 | Int256 | Float32 | Float64 | UUID | Date | Date32 | DateTime | DateTime64 | Enum8 | Enum16 | Point | Ring | Polygon | MultiPolygon | -|---------------|---------------------|--------|---------|------|-------------|-------|--------|--------|--------|---------|---------|------|-------|-------|-------|--------|--------|---------|---------|------|------|--------|----------|------------|-------|--------|-------|------|---------|--------------| -| **Golang Type** | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| | **ClickHouse Type** | String | Decimal | Bool | FixedString | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | UInt256 | Int8 | Int16 | Int32 | Int64 | Int128 | Int256 | Float32 | Float64 | UUID | Date | Date32 | DateTime | DateTime64 | Time | Time64 | Enum8 | Enum16 | Point | Ring | Polygon | MultiPolygon | +|---------------|---------------------|--------|---------|------|-------------|-------|--------|--------|--------|---------|---------|------|-------|-------|-------|--------|--------|---------|---------|------|------|--------|----------|------------|------|--------|-------|--------|-------|------|---------|--------------| +| **Golang Type** | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | uint | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unit64 | | | | | | | | | X | | | | | | | | | | | | | | | | | | | | | | | uint32 | | | | | | | | X | | | | | | | | | | | | | | | | | | | | | | | @@ -62,21 +63,168 @@ All types can be read into a pointer or pointer to a pointer. | int8 | | | | | | | | | | | | X | | | | | | | | | | | | | | | | | | | | float32 | | | | | | | | | | | | | | | | | | X | | | | | | | | | | | | | | float64 | | | | | | | | | | | | | | | | | | | X | | | | | | | | | | | | -| string | | X | | | X | | | | | | | | | | | | | | | X | | | | | X | X | | | | | -| bool | | | | X | | | | | | | | | | | | | | | | | | | | | | | | | | | -| time.Time | | | | | | | | | | | | | | | | | | | | | X | X | X | X | | | | | | | -| big.Int | | | | | | | | | | X | X | | | | | X | X | | | | | | | | | | | | | | +| string | | X | | | X | | | | | | | | | | | | | | | X | | | | | X | X | | | | | | | +| bool | | | | X | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| time.Time | | | | | | | | | | | | | | | | | | | | | X | X | X | X | | | | | | | | | +| time.Duration | | | | | | | | | | | | | | | | | | | | | | | | | X | X | | | | | | | +| big.Int | | | | | | | | | | X | X | | | | | X | X | | | | | | | | | | | | | | | | | decimal.Decimal | | | X | | | | | | | | | | | | | | | | | | | | | | | | | | | | | uuid.UUID | | | | | | | | | | | | | | | | | | | | X | | | | | | | | | | | | orb.Point | | | | | | | | | | | | | | | | | | | | | | | | | | | X | | | | | orb.Polygon | | | | | | | | | | | | | | | | | | | | | | | | | | | | | X | | | orb.Ring | | | | | | | | | | | | | | | | | | | | | | | | | | | | X | | | | orb.MultiPolygon | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | X | -| sql.Scan | | | | | | | | | | | | | | | | | | | | X | X | X | X | X | | | | | | | -| sql.NullString | | X | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| sql.NullTime | | | | | | | | | | | | | | | | | | | | | X | X | X | X | | | | | | | -| sql.NullFloat64 | | | | | | | | | | | | | | | | | | | X | | | | | | | | | | | | +| sql.Scan | | | | | | | | | | | | | | | | | | | | X | X | X | X | X | | | | | | | | | +| sql.NullString | | X | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| sql.NullTime | | | | | | | | | | | | | | | | | | | | | X | X | X | X | | | | | | | | | +| sql.NullFloat64 | | | | | | | | | | | | | | | | | | | X | | | | | | | | | | | | | | | sql.NullInt64 | | | | | | | | | | | | | | | X | | | | | | | | | | | | | | | | | sql.NullInt32 | | | | | | | | | | | | | | X | | | | | | | | | | | | | | | | | | sql.NullInt16 | | | | | | | | | | | | | X | | | | | | | | | | | | | | | | | | | sql.NullBool | | | | X | | | | | | | | | | | | | | | | | | | | | | | | | | | + +--- + +## Time and Time64 Example + +ClickHouse `Time` and `Time64` types represent time-of-day values (without date). In Go, these map to `time.Duration` representing elapsed time since midnight. + +```go +package main + +import ( + "context" + "fmt" + "time" + + "github.com/ClickHouse/clickhouse-go/v2" +) + +func main() { + conn, err := clickhouse.Open(&clickhouse.Options{ + Addr: []string{"localhost:9000"}, + }) + if err != nil { + panic(err) + } + defer conn.Close() + + ctx := clickhouse.Context(context.Background(), clickhouse.WithSettings(clickhouse.Settings{ + "enable_time_time64_type": 1, + })) + + // Create table with Time and Time64 columns + err = conn.Exec(ctx, ` + CREATE TABLE IF NOT EXISTS time_example ( + id UInt32, + t_time Time, -- second precision + t_time64_3 Time64(3), -- millisecond precision + t_time64_6 Time64(6), -- microsecond precision + t_time64_9 Time64(9), -- nanosecond precision + arr_time Array(Time), -- array of Time values + nullable_time Nullable(Time64(9)) -- nullable Time64 + ) ENGINE = MergeTree() ORDER BY id + `) + if err != nil { + panic(err) + } + + // Insert data using time.Duration + batch, err := conn.PrepareBatch(ctx, "INSERT INTO time_example") + if err != nil { + panic(err) + } + + // Time values as time.Duration (duration since midnight) + timeValue := 12*time.Hour + 34*time.Minute + 56*time.Second + time64Value := 15*time.Hour + 30*time.Minute + 45*time.Second + 123456789*time.Nanosecond + + timeArray := []time.Duration{ + 6 * time.Hour, + 12*time.Hour + 30*time.Minute, + 18*time.Hour + 45*time.Minute + 30*time.Second, + } + + err = batch.Append( + uint32(1), + timeValue, + time64Value, + time64Value, + time64Value, + timeArray, + &time64Value, // nullable value + ) + if err != nil { + panic(err) + } + + // Insert NULL for nullable column + err = batch.Append( + uint32(2), + timeValue, + time64Value, + time64Value, + time64Value, + timeArray, + nil, // NULL value + ) + if err != nil { + panic(err) + } + + err = batch.Send() + if err != nil { + panic(err) + } + + // Query data + rows, err := conn.Query(ctx, "SELECT id, t_time, t_time64_9, arr_time, nullable_time FROM time_example ORDER BY id") + if err != nil { + panic(err) + } + defer rows.Close() + + for rows.Next() { + var ( + id uint32 + tTime time.Duration + tTime64 time.Duration + arrTime []time.Duration + nullableTime *time.Duration + ) + if err := rows.Scan(&id, &tTime, &tTime64, &arrTime, &nullableTime); err != nil { + panic(err) + } + + fmt.Printf("ID: %d\n", id) + fmt.Printf(" Time (second precision): %v\n", tTime) + fmt.Printf(" Time64(9) (nanosecond precision): %v\n", tTime64) + fmt.Printf(" Array(Time): %v\n", arrTime) + if nullableTime != nil { + fmt.Printf(" Nullable Time64: %v\n", *nullableTime) + } else { + fmt.Printf(" Nullable Time64: NULL\n") + } + } +} + +// Output: +// ID: 1 +// Time (second precision): 12h34m56s +// Time64(9) (nanosecond precision): 15h30m45.123456789s +// Array(Time): [6h0m0s 12h30m0s 18h45m30s] +// Nullable Time64: 15h30m45.123456789s +// ID: 2 +// Time (second precision): 12h34m56s +// Time64(9) (nanosecond precision): 15h30m45.123456789s +// Array(Time): [6h0m0s 12h30m0s 18h45m30s] +// Nullable Time64: NULL + +// Key points: +// - Time has second precision (truncates to seconds) +// - Time64(N) supports precision from 0 (second) to 9 (nanosecond) +// - Use time.Duration for both Time and Time64 types +// - String input format is also supported: "HH:MM:SS" or "HH:MM:SS.sss..." +// - Time values represent time-of-day only (no date component) +// - Timezone is not applicable (values are timezone-agnostic) +``` diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/batch.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/batch.go index 7514386fb82dd..0eb0207128d4e 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/batch.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/batch.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( @@ -23,7 +6,7 @@ import ( "strings" ) -var normalizeInsertQueryMatch = regexp.MustCompile(`(?i)(INSERT\s+INTO\s+([^(]+)(?:\s*\([^()]*(?:\([^()]*\)[^()]*)*\))?)(?:\s*VALUES)?`) +var normalizeInsertQueryMatch = regexp.MustCompile(`(?i)(?:(?:--[^\n]*|#![^\n]*|#\s[^\n]*)\n\s*)*(INSERT\s+INTO\s+([^(]+)(?:\s*\([^()]*(?:\([^()]*\)[^()]*)*\))?)(?:\s*VALUES)?`) var truncateFormat = regexp.MustCompile(`(?i)\sFORMAT\s+[^\s]+`) var truncateValues = regexp.MustCompile(`\sVALUES\s.*$`) var extractInsertColumnsMatch = regexp.MustCompile(`(?si)INSERT INTO .+\s\((?P.+)\)$`) diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/bind.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/bind.go index 812fa6de43bdb..f0fe30f1d2cd8 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/bind.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/bind.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/chcol.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/chcol.go index 6347641dce1e2..d173df2c1e2cc 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/chcol.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/chcol.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import "github.com/ClickHouse/clickhouse-go/v2/lib/chcol" diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse.go index c0d981b203055..3163655429f27 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( @@ -172,10 +155,18 @@ func (ch *clickhouse) Exec(ctx context.Context, query string, args ...any) error return err } conn.debugf("[exec] \"%s\"", query) - if err := conn.exec(ctx, query, args...); err != nil { + + if asyncOpt := queryOptionsAsync(ctx); asyncOpt.ok { + err = conn.asyncInsert(ctx, query, asyncOpt.wait, args...) + } else { + err = conn.exec(ctx, query, args...) + } + + if err != nil { ch.release(conn, err) return err } + ch.release(conn, nil) return nil } @@ -203,6 +194,7 @@ func getPrepareBatchOptions(opts ...driver.PrepareBatchOption) driver.PrepareBat return options } +// Deprecated: use context aware `WithAsync()` for any async operations func (ch *clickhouse) AsyncInsert(ctx context.Context, query string, wait bool, args ...any) error { conn, err := ch.acquire(ctx) if err != nil { diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_options.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_options.go index ca2659832393d..9ee2888c4bb8b 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_options.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_options.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( @@ -168,6 +151,10 @@ type Options struct { // to respond to a single Read call for bytes over the connection. // Can be overridden with context.WithDeadline. ReadTimeout time.Duration + + // Set a custom transport for the http client. + // The default transport configured by the library is passed in as an argument. + TransportFunc func(*http.Transport) (http.RoundTripper, error) } func (o *Options) fromDSN(in string) error { @@ -331,6 +318,12 @@ func (o *Options) fromDSN(in string) error { return fmt.Errorf("clickhouse [dsn parse]: http_proxy: %s", err) } o.HTTPProxyURL = proxyURL + case "http_path": + path := params.Get(v) + if path != "" && !strings.HasPrefix(path, "/") { + path = "/" + path + } + o.HttpUrlPath = path default: switch p := strings.ToLower(params.Get(v)); p { case "true": diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_rows.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_rows.go index 1686e902e5f07..e2b3af089463e 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_rows.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_rows.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_rows_column_type.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_rows_column_type.go index d0719e72f39cf..05a84e16aacb2 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_rows_column_type.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_rows_column_type.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_std.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_std.go index 38f4e09b4bc7e..dcb87372ee3f9 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_std.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/clickhouse_std.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( @@ -29,7 +12,6 @@ import ( "net" "os" "reflect" - "strings" "sync/atomic" "syscall" @@ -163,34 +145,28 @@ func OpenDB(opt *Options) *sql.DB { if opt == nil { opt = &Options{} } - var settings []string - if opt.MaxIdleConns > 0 { - settings = append(settings, "SetMaxIdleConns") - } - if opt.MaxOpenConns > 0 { - settings = append(settings, "SetMaxOpenConns") - } - if opt.ConnMaxLifetime > 0 { - settings = append(settings, "SetConnMaxLifetime") - } - if opt.Debug { - if opt.Debugf != nil { - debugf = opt.Debugf - } else { - debugf = log.New(os.Stdout, "[clickhouse-std][opener] ", 0).Printf - } - } - if len(settings) != 0 { - return sql.OpenDB(&stdConnOpener{ - err: fmt.Errorf("cannot connect. invalid settings. use %s (see https://pkg.go.dev/database/sql)", strings.Join(settings, ",")), - debugf: debugf, - }) - } + o := opt.setDefaults() - return sql.OpenDB(&stdConnOpener{ + db := sql.OpenDB(&stdConnOpener{ opt: o, debugf: debugf, }) + + // Ok to set these configs irrespective of values in opt. + // Because opt.setDefaults() would have set some sane values + // for these configs. + db.SetMaxIdleConns(o.MaxIdleConns) + db.SetMaxOpenConns(o.MaxOpenConns) + db.SetConnMaxLifetime(o.ConnMaxLifetime) + if o.Debug { + if o.Debugf != nil { + debugf = o.Debugf + } else { + debugf = log.New(os.Stdout, "[clickhouse-std][opener] ", 0).Printf + } + } + + return db } type stdConnect interface { diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/client_info.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/client_info.go index e6f2c382980be..319076d88cedb 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/client_info.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/client_info.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( @@ -29,8 +12,8 @@ const ClientName = "clickhouse-go" const ( ClientVersionMajor = 2 - ClientVersionMinor = 40 - ClientVersionPatch = 3 + ClientVersionMinor = 41 + ClientVersionPatch = 0 ClientTCPProtocolVersion = proto.DBMS_TCP_PROTOCOL_VERSION ) diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn.go index 77643688fe3c6..8c1d9508a679e 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_async_insert.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_async_insert.go index f37e6e601676e..c58bd95b42f7b 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_async_insert.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_async_insert.go @@ -1,24 +1,8 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( "context" + "github.com/ClickHouse/clickhouse-go/v2/lib/proto" ) diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_batch.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_batch.go index 2d418a150b1ae..f287bcf26f1cb 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_batch.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_batch.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( @@ -32,7 +15,7 @@ import ( "github.com/ClickHouse/clickhouse-go/v2/lib/proto" ) -var insertMatch = regexp.MustCompile(`(?i)(INSERT\s+INTO\s+[^( ]+(?:\s*\([^()]*(?:\([^()]*\)[^()]*)*\))?)(?:\s*VALUES)?`) +var insertMatch = regexp.MustCompile(`(?i)(?:(?:--[^\n]*|#![^\n]*|#\s[^\n]*)\n\s*)*(INSERT\s+INTO\s+[^( ]+(?:\s*\([^()]*(?:\([^()]*\)[^()]*)*\))?)(?:\s*VALUES)?`) var columnMatch = regexp.MustCompile(`INSERT INTO .+\s\((?P.+)\)$`) func (c *connect) prepareBatch(ctx context.Context, release nativeTransportRelease, acquire nativeTransportAcquire, query string, opts driver.PrepareBatchOptions) (driver.Batch, error) { diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_check.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_check.go index bf85a1994bad1..af72f9307069d 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_check.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_check.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - //go:build linux || darwin || dragonfly || freebsd || netbsd || openbsd || solaris || illumos // +build linux darwin dragonfly freebsd netbsd openbsd solaris illumos diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_check_ping.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_check_ping.go index fe1fe7bfaa830..11c915b5e5480 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_check_ping.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_check_ping.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - //go:build !linux && !darwin && !dragonfly && !freebsd && !netbsd && !openbsd && !solaris && !illumos // +build !linux,!darwin,!dragonfly,!freebsd,!netbsd,!openbsd,!solaris,!illumos diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_exec.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_exec.go index 629549103df62..f49ddf392ca81 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_exec.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_exec.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_handshake.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_handshake.go index 34e65df8bc0ce..b5a47921a794c 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_handshake.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_handshake.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http.go index eaa7337101e46..3aae37507439a 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( @@ -219,27 +202,9 @@ func dialHttp(ctx context.Context, addr string, num int, opt *Options) (*httpCon query.Set("client_protocol_version", strconv.Itoa(ClientTCPProtocolVersion)) u.RawQuery = query.Encode() - httpProxy := http.ProxyFromEnvironment - if opt.HTTPProxyURL != nil { - httpProxy = http.ProxyURL(opt.HTTPProxyURL) - } - - t := &http.Transport{ - Proxy: httpProxy, - DialContext: (&net.Dialer{ - Timeout: opt.DialTimeout, - }).DialContext, - MaxIdleConns: 1, - MaxConnsPerHost: opt.HttpMaxConnsPerHost, - IdleConnTimeout: opt.ConnMaxLifetime, - ResponseHeaderTimeout: opt.ReadTimeout, - TLSClientConfig: opt.TLS, - } - - if opt.DialContext != nil { - t.DialContext = func(ctx context.Context, network, addr string) (net.Conn, error) { - return opt.DialContext(ctx, addr) - } + rt, err := createHTTPRoundTripper(opt) + if err != nil { + return nil, err } conn := httpConnect{ @@ -249,7 +214,7 @@ func dialHttp(ctx context.Context, addr string, num int, opt *Options) (*httpCon debugfFunc: debugf, opt: opt, client: &http.Client{ - Transport: t, + Transport: rt, }, url: u, revision: ClientTCPProtocolVersion, // Preflight uses hardcoded revision, may break older versions. @@ -271,6 +236,38 @@ func dialHttp(ctx context.Context, addr string, num int, opt *Options) (*httpCon return &conn, nil } +func createHTTPRoundTripper(opt *Options) (http.RoundTripper, error) { + httpProxy := http.ProxyFromEnvironment + if opt.HTTPProxyURL != nil { + httpProxy = http.ProxyURL(opt.HTTPProxyURL) + } + + rt := &http.Transport{ + Proxy: httpProxy, + DialContext: (&net.Dialer{ + Timeout: opt.DialTimeout, + }).DialContext, + MaxIdleConns: 1, + MaxConnsPerHost: opt.HttpMaxConnsPerHost, + IdleConnTimeout: opt.ConnMaxLifetime, + ResponseHeaderTimeout: opt.ReadTimeout, + TLSClientConfig: opt.TLS, + DisableCompression: true, + } + + if opt.DialContext != nil { + rt.DialContext = func(ctx context.Context, network, addr string) (net.Conn, error) { + return opt.DialContext(ctx, addr) + } + } + + if opt.TransportFunc == nil { + return rt, nil + } + + return opt.TransportFunc(rt) +} + type httpConnect struct { id int connectedAt time.Time diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_async_insert.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_async_insert.go index 8028d3dfa427b..11a610312ccad 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_async_insert.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_async_insert.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_batch.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_batch.go index 598acf486e68b..0bea07520d6f4 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_batch.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_batch.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_exec.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_exec.go index 371fb51509f0b..fffe108985325 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_exec.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_exec.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_query.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_query.go index b6140714a3577..c5b051c651622 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_query.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_http_query.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( @@ -67,9 +50,6 @@ func (h *httpConnect) query(ctx context.Context, release nativeTransportRelease, rw := h.compressionPool.Get() // The HTTPReaderWriter.NewReader will create a reader that will decompress it if needed, // cause adding Accept-Encoding:gzip on your request means response won’t be automatically decompressed - // per https://github.com/golang/go/blob/master/src/net/http/transport.go#L182-L190. - // Note user will need to have set enable_http_compression for CH to respond with compressed data. we don't set this - // automatically as they might not have permissions. reader, err := rw.NewReader(res) if err != nil { err = fmt.Errorf("NewReader: %w", err) diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_logs.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_logs.go index d876b97725df4..5a96d18f99595 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_logs.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_logs.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_ping.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_ping.go index cf8103086edfd..96b9f989417b6 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_ping.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_ping.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_process.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_process.go index 9e1c37fc050d1..db600a7bb1759 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_process.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_process.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( @@ -201,11 +184,14 @@ func (c *connect) handle(ctx context.Context, packet byte, on *onProcess) error } c.debugf("[table columns]") case proto.ServerProfileEvents: - events, err := c.profileEvents(ctx) + scanEvents := on.profileEvents != nil + events, err := c.profileEvents(ctx, scanEvents) if err != nil { return err } - on.profileEvents(events) + if scanEvents { + on.profileEvents(events) + } case proto.ServerLog: logs, err := c.logs(ctx) if err != nil { diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_profile_events.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_profile_events.go index 6f21aafaadf59..f04bd15676858 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_profile_events.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_profile_events.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( @@ -34,12 +17,16 @@ type ProfileEvent struct { Value int64 } -func (c *connect) profileEvents(ctx context.Context) ([]ProfileEvent, error) { +func (c *connect) profileEvents(ctx context.Context, scanEvents bool) ([]ProfileEvent, error) { block, err := c.readData(ctx, proto.ServerProfileEvents, false) if err != nil { return nil, err } c.debugf("[profile events] rows=%d", block.Rows()) + if !scanEvents { + c.debugf("[profile events] skipping scan") + return nil, nil + } var ( events []ProfileEvent names = block.ColumnsNames() diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_query.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_query.go index 126a988c9bae4..e2ba54840c694 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_query.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_query.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_send_query.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_send_query.go index e82dd613ae3b2..cf1883f0c63f6 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_send_query.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/conn_send_query.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/context.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/context.go index 10011b2e36dc8..5a45fb1f73442 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/context.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/context.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( @@ -173,6 +156,14 @@ func WithExternalTable(t ...*ext.Table) QueryOption { } } +func WithAsync(wait bool) QueryOption { + return func(o *QueryOptions) error { + o.async.ok, o.async.wait = true, wait + return nil + } +} + +// Deprecated: use `WithAsync` instead. func WithStdAsync(wait bool) QueryOption { return func(o *QueryOptions) error { o.async.ok, o.async.wait = true, wait @@ -269,7 +260,7 @@ func queryOptionsUserLocation(ctx context.Context) *time.Location { } func (q *QueryOptions) onProcess() *onProcess { - return &onProcess{ + onProcess := &onProcess{ logs: func(logs []Log) { if q.events.logs != nil { for _, l := range logs { @@ -287,12 +278,16 @@ func (q *QueryOptions) onProcess() *onProcess { q.events.profileInfo(p) } }, - profileEvents: func(events []ProfileEvent) { - if q.events.profileEvents != nil { - q.events.profileEvents(events) - } - }, } + + profileEventsHandler := q.events.profileEvents + if profileEventsHandler != nil { + onProcess.profileEvents = func(events []ProfileEvent) { + profileEventsHandler(events) + } + } + + return onProcess } // clone returns a copy of QueryOptions where Settings and Parameters are safely mutable. diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/context_watchdog.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/context_watchdog.go index 8c2257e4b47e9..3e71ccbcd393c 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/context_watchdog.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/context_watchdog.go @@ -1,26 +1,9 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import "context" // contextWatchdog is a helper function to run a callback when the context is done. -// it has a cancellation function to prevent the callback from running. +// It has a cancellation function to prevent the callback from running. // Useful for interrupting some logic when the context is done, // but you want to not bother about context cancellation if your logic is already done. // Example: @@ -31,17 +14,16 @@ func contextWatchdog(ctx context.Context, callback func()) (cancel func()) { exit := make(chan struct{}) go func() { - for { - select { - case <-exit: - return - case <-ctx.Done(): - callback() - } + select { + case <-exit: + return + case <-ctx.Done(): + callback() + return } }() return func() { - exit <- struct{}{} + close(exit) } } diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/contributors/contributors.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/contributors/contributors.go index 35c4047ae4adb..1d5184329c838 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/contributors/contributors.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/contributors/contributors.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package contributors import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/contributors/list b/vendor/github.com/ClickHouse/clickhouse-go/v2/contributors/list index f26a40b380c3d..22f4a9311320d 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/contributors/list +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/contributors/list @@ -16,10 +16,12 @@ Andžej Maciusovič Antoine Toulme Anton Kozlov Aram Peres <6775216+aramperes@users.noreply.github.com> +Artem Seleznev Ashish Gaurav Ather Shu Barkhayot <157342287+hayotbisonai@users.noreply.github.com> Beck Xu +Ben Blackmore Benjamin Rupp Cem Sancak Chao Wang @@ -48,6 +50,7 @@ Dmitry Ponomarev Earwin Egor Samotoev <38672780+egsam98@users.noreply.github.com> Egor.Gorlin +Erez Rokah Eric Thomas Eugene Formanenko Evan Au @@ -82,6 +85,8 @@ Jochen Schalanda John Troy Jon Aquino Julian Maicher +Kaviraj +Kaviraj Kanagaraj Kemal Hadimli Kevin Joiner <10265309+KevinJoiner@users.noreply.github.com> Kirill Shvakov @@ -132,6 +137,7 @@ Robert Sköld Robin Hahling Rodrigo Broggi Rodrigo Broggi +RokibulHasan7 Roman Usachev Rory Crispin Ross Rothenstine @@ -189,6 +195,7 @@ daguang dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> derN3rd dmitry kuzmin +erezrokah fengberlin fengyun.rui gaetan.rizio @@ -201,6 +208,8 @@ ilker karapanca ilker moral jiyongwang kshvakov +luckyevildev <124628459+luckyevildev@users.noreply.github.com> +luckyevildev neverlee nevseliev ortyomka diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/docker-compose.yml b/vendor/github.com/ClickHouse/clickhouse-go/v2/docker-compose.yml index de88bb3caf075..a7a91e00a7e5b 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/docker-compose.yml +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/docker-compose.yml @@ -1,14 +1,27 @@ ---- -version: '3.9' services: clickhouse: + environment: + CLICKHOUSE_SKIP_USER_SETUP: 1 networks: - clickhouse container_name: clickhouse - image: clickhouse/clickhouse-server + image: clickhouse/clickhouse-server:25.10 ports: - 127.0.0.1:8123:8123 - 127.0.0.1:9000:9000 - 127.0.0.1:9009:9009 + healthcheck: + test: + [ + "CMD", + "wget", + "--no-verbose", + "--tries=1", + "--spider", + "http://localhost:8123/ping", + ] + interval: 10s + timeout: 5s + retries: 5 networks: clickhouse: null diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/ext/ext.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/ext/ext.go index 6711e22440fd4..fba9dc13c3f2f 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/ext/ext.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/ext/ext.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package ext import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/go.test.sh b/vendor/github.com/ClickHouse/clickhouse-go/v2/go.test.sh deleted file mode 100644 index 70ffd08c2a672..0000000000000 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/go.test.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -set -e -echo "" > coverage.txt - -for d in $(go list ./... | grep -v vendor | grep -v examples); do - go test -race -coverprofile=profile.out -covermode=atomic $d - if [ -f profile.out ]; then - cat profile.out >> coverage.txt - rm profile.out - fi -done \ No newline at end of file diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/jwt.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/jwt.go index ab04cd5bc3029..b048570d85171 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/jwt.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/jwt.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/binary/string.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/binary/string.go index abe6618a14b93..a273538bd467e 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/binary/string.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/binary/string.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package binary import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/binary/string_safe.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/binary/string_safe.go index 3280748fd2278..6567a3fd7006f 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/binary/string_safe.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/binary/string_safe.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - //go:build !amd64 && !arm64 // +build !amd64,!arm64 diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/binary/string_unsafe.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/binary/string_unsafe.go index 3a4e8cdcae7ad..ea57de31c7e10 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/binary/string_unsafe.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/binary/string_unsafe.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - //go:build amd64 || arm64 // +build amd64 arm64 diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/chcol/dynamic.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/chcol/dynamic.go index 17d1e266f6076..c5ab9e072863d 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/chcol/dynamic.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/chcol/dynamic.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package chcol type Dynamic = Variant diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/chcol/json.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/chcol/json.go index 24967c22e8063..69eb465955edc 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/chcol/json.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/chcol/json.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package chcol import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/chcol/variant.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/chcol/variant.go index ac87396929940..e8301faf393b9 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/chcol/variant.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/chcol/variant.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package chcol import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/array.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/array.go index 5856984e28e17..fc673c2a869b7 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/array.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/array.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/array_gen.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/array_gen.go index eeba8e0fdc0f3..ee9a5de395a2a 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/array_gen.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/array_gen.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - // Code generated by make codegen DO NOT EDIT. // source: lib/column/codegen/array.tpl diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/bigint.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/bigint.go index 49e179cb67ad2..16a147bb440dc 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/bigint.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/bigint.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/bool.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/bool.go index 3699a3cfdf67f..dd0bebf9ccb83 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/bool.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/bool.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/column.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/column.go index 81567b8c0f0d8..8b46c10680f63 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/column.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/column.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/column_gen.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/column_gen.go index ff5fe9e04f1f5..27e02b6e46ae3 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/column_gen.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/column_gen.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - // Code generated by make codegen DO NOT EDIT. // source: lib/column/codegen/column.tpl @@ -140,8 +123,8 @@ func (t Type) Column(name string, sc *ServerContext) (Interface, error) { return &String{name: name, col: colStrProvider(name)}, nil case "SharedVariant": return &SharedVariant{name: name}, nil - case "Object('json')": - return &JSONObject{name: name, root: true, sc: sc}, nil + case "Time": + return &Time{name: name, chType: "Time"}, nil } switch strType := string(t); { @@ -177,6 +160,8 @@ func (t Type) Column(name string, sc *ServerContext) (Interface, error) { return (&DateTime64{name: name}).parse(t, sc.Timezone) case strings.HasPrefix(strType, "DateTime") && !strings.HasPrefix(strType, "DateTime64"): return (&DateTime{name: name}).parse(t, sc.Timezone) + case strings.HasPrefix(strType, "Time64"): + return (&Time64{name: name}).parse(t) } return nil, &UnsupportedColumnTypeError{ t: t, @@ -237,6 +222,8 @@ var ( _ Interface = (*UInt16)(nil) _ Interface = (*UInt32)(nil) _ Interface = (*UInt64)(nil) + _ Interface = (*Time)(nil) + _ Interface = (*Time64)(nil) ) var ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/column_gen_option.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/column_gen_option.go index 6a883527b4da7..83351ed5c498a 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/column_gen_option.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/column_gen_option.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import "github.com/ClickHouse/ch-go/proto" diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/date.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/date.go index 7453afba23ceb..434b0bdacca04 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/date.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/date.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/date32.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/date32.go index 515042939db85..e273f44da9384 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/date32.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/date32.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/datetime.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/datetime.go index fc92a3dd9ad70..0ac3d8f4ed4fc 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/datetime.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/datetime.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/datetime64.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/datetime64.go index 70d8fc34e0c21..2b21e3a9ce07c 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/datetime64.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/datetime64.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/decimal.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/decimal.go index 4c7b18db9c4da..66d103d873522 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/decimal.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/decimal.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/dynamic.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/dynamic.go index 35ef1481afdfd..957f01c000da8 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/dynamic.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/dynamic.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/dynamic_deprecated.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/dynamic_deprecated.go index 2274e673ef6e9..b22c9d415840a 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/dynamic_deprecated.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/dynamic_deprecated.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/dynamic_gen.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/dynamic_gen.go index 425b14892d346..a1488ec320876 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/dynamic_gen.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/dynamic_gen.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - // Code generated by make codegen DO NOT EDIT. // source: lib/column/codegen/dynamic.tpl diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/enum.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/enum.go index 45aa07a178f83..3e518065de72f 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/enum.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/enum.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/enum16.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/enum16.go index d3a15b80d6caf..4d23b956e8da5 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/enum16.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/enum16.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/enum8.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/enum8.go index 2f29136559642..ced4e9e2ec3a7 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/enum8.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/enum8.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/fixed_string.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/fixed_string.go index 50966e1f96f5d..68bd65eba5954 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/fixed_string.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/fixed_string.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( @@ -178,7 +161,12 @@ func (col *FixedString) Append(v any) (nulls []uint8, err error) { return nil, err } - nulls = make([]uint8, len(data)/col.col.Size) + var size = 0 + if col.col.Size != 0 { + size = len(data) / col.col.Size + } + nulls = make([]uint8, size) + case [][]byte: nulls = make([]uint8, len(v)) for i, v := range v { diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_multi_polygon.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_multi_polygon.go index 1263b897d854e..f1537889bd145 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_multi_polygon.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_multi_polygon.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_point.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_point.go index 4a4fe16baeea7..a88f32135f0e2 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_point.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_point.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_polygon.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_polygon.go index 6e78b1a9d948e..221782b8a2df2 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_polygon.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_polygon.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_ring.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_ring.go index a64de47f73de7..b8e23d46367c5 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_ring.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/geo_ring.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/interval.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/interval.go index fe35235a9dc38..119e86c6c8795 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/interval.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/interval.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/ipv4.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/ipv4.go index e0a869cc9a0fd..d0f2231f52179 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/ipv4.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/ipv4.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/ipv6.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/ipv6.go index 0544e7931df9e..292a128e6c6ac 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/ipv6.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/ipv6.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/json.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/json.go index 8dbde8c58b55d..ef51ec8baa5d3 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/json.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/json.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/json_deprecated.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/json_deprecated.go index 3ec028883d51d..bf9ba21886dd7 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/json_deprecated.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/json_deprecated.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/json_reflect.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/json_reflect.go index 3b48d14bbde50..5d9b8e2873f80 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/json_reflect.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/json_reflect.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/lowcardinality.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/lowcardinality.go index 59f033c35ffdb..ba23d0068cbc7 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/lowcardinality.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/lowcardinality.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/map.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/map.go index 9b1e035ff2871..139b3f8164e3b 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/map.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/map.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( @@ -175,12 +158,9 @@ func (col *Map) Append(v any) (nulls []uint8, err error) { func (col *Map) AppendRow(v any) error { if v == nil { - return &ColumnConverterError{ - Op: "Append", - To: string(col.chType), - From: fmt.Sprintf("%T", v), - Hint: fmt.Sprintf("try using %s", col.scanType), - } + // NOTE: successful Map.parse() make sure we have + // valid col.scanType + v = reflect.Zero(col.scanType).Interface() } value := reflect.Indirect(reflect.ValueOf(v)) diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/nested.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/nested.go index 64c45013897d0..82b9097ec8491 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/nested.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/nested.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/nothing.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/nothing.go index 1a9d8fd9018fe..1c5093325a8eb 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/nothing.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/nothing.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/nullable.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/nullable.go index 71b7f2ee7a8c9..15f028c116863 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/nullable.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/nullable.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( @@ -147,7 +130,7 @@ func (col *Nullable) AppendRow(v any) error { rv = reflect.ValueOf(v) } - if v == nil || (rv.Kind() == reflect.Pointer && rv.IsNil()) { + if v == nil || ((rv.Kind() == reflect.Pointer || rv.Kind() == reflect.Map) && rv.IsNil()) { col.nulls.Append(1) // used to detect sql.Null* types } else if val, ok := v.(driver.Valuer); ok { diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/object_json.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/object_json.go index 341cf8bad9ac9..ab65f801e0977 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/object_json.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/object_json.go @@ -1,952 +1,906 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column -import ( - "fmt" - "github.com/ClickHouse/ch-go/proto" - "reflect" - "strings" -) - -// This JSON type implementation was done for an experimental Object('JSON') type: -// https://clickhouse.com/docs/en/sql-reference/data-types/object-data-type -// It's already deprecated in ClickHouse and will be removed in the future. -// Since ClickHouse 24.8, the Object('JSON') type is no longer alias for JSON type. -// The new JSON type has been introduced: https://clickhouse.com/docs/en/sql-reference/data-types/newjson -// However, the new JSON type is not supported by the driver yet. -// -// This implementation is kept for backward compatibility and will be removed in the future. TODO: remove this - -// inverse mapping - go types to clickhouse types -var kindMappings = map[reflect.Kind]string{ - reflect.String: "String", - reflect.Int: "Int64", - reflect.Int8: "Int8", - reflect.Int16: "Int16", - reflect.Int32: "Int32", - reflect.Int64: "Int64", - reflect.Uint: "UInt64", - reflect.Uint8: "UInt8", - reflect.Uint16: "UInt16", - reflect.Uint32: "UInt32", - reflect.Uint64: "UInt64", - reflect.Float32: "Float32", - reflect.Float64: "Float64", - reflect.Bool: "Bool", -} - -// complex types for which a mapping exists - currently we map to String but could enhance in the future for other types -var typeMappings = map[string]struct{}{ - // currently JSON doesn't support DateTime, Decimal or IP so mapped to String - "time.Time": {}, - "decimal.Decimal": {}, - "net.IP": {}, - "uuid.UUID": {}, -} - -type ObjectJSON interface { - Interface - appendEmptyValue() error -} - -type JSONParent interface { - upsertValue(name string, ct string) (*JSONValue, error) - upsertList(name string) (*JSONList, error) - upsertObject(name string) (*JSONObject, error) - insertEmptyColumn(name string) error - columnNames() []string - rows() int -} - -func parseType(name string, vType reflect.Type, values any, isArray bool, jCol JSONParent, numEmpty int) error { - _, ok := typeMappings[vType.String()] - if !ok { - return &UnsupportedColumnTypeError{ - t: Type(vType.String()), - } - } - ct := "String" - if isArray { - ct = fmt.Sprintf("Array(%s)", ct) - } - col, err := jCol.upsertValue(name, ct) - if err != nil { - return err - } - col.origType = vType - - //pre pad with empty - e.g. for new values in maps - for i := 0; i < numEmpty; i++ { - if isArray { - // empty array for nil of the right type - err = col.AppendRow([]string{}) - } else { - // empty value of the type - err = col.AppendRow(fmt.Sprint(reflect.New(vType).Elem().Interface())) - } - if err != nil { - return err - } - } - if isArray { - iValues := reflect.ValueOf(values) - sValues := make([]string, iValues.Len(), iValues.Len()) - for i := 0; i < iValues.Len(); i++ { - sValues[i] = fmt.Sprint(iValues.Index(i).Interface()) - } - return col.AppendRow(sValues) - } - return col.AppendRow(fmt.Sprint(values)) -} - -func parsePrimitive(name string, kind reflect.Kind, values any, isArray bool, jCol JSONParent, numEmpty int) error { - ct, ok := kindMappings[kind] - if !ok { - return &UnsupportedColumnTypeError{ - t: Type(fmt.Sprintf("%s - %s", kind, reflect.TypeOf(values).String())), - } - } - var err error - if isArray { - ct = fmt.Sprintf("Array(%s)", ct) - // if we have a []any we will need to cast to the target column type - this will be based on the first - // values types. Inconsistent slices will fail. - values, err = convertSlice(values) - if err != nil { - return err - } - } - col, err := jCol.upsertValue(name, ct) - if err != nil { - return err - } - - //pre pad with empty - e.g. for new values in maps - for i := 0; i < numEmpty; i++ { - if isArray { - // empty array for nil of the right type - err = col.AppendRow(reflect.MakeSlice(reflect.TypeOf(values), 0, 0).Interface()) - } else { - err = col.AppendRow(nil) - } - if err != nil { - return err - } - } - - return col.AppendRow(values) -} - -// converts a []any of primitives to a typed slice -// maybe this can be done with reflection but likely slower. investigate. -// this uses the first value to determine the type - subsequent values must currently be of the same type - we might cast later -// but wider driver doesn't support e.g. int to int64 -func convertSlice(values any) (any, error) { - rValues := reflect.ValueOf(values) - if rValues.Len() == 0 || rValues.Index(0).Kind() != reflect.Interface { - return values, nil - } - var fType reflect.Type - for i := 0; i < rValues.Len(); i++ { - elem := rValues.Index(i).Elem() - if elem.IsValid() { - fType = elem.Type() - break - } - } - if fType == nil { - return []any{}, nil - } - typedSlice := reflect.MakeSlice(reflect.SliceOf(fType), 0, rValues.Len()) - for i := 0; i < rValues.Len(); i++ { - value := rValues.Index(i) - if value.IsNil() { - typedSlice = reflect.Append(typedSlice, reflect.Zero(fType)) - continue - } - if rValues.Index(i).Elem().Type() != fType { - return nil, &Error{ - ColumnType: fmt.Sprint(fType), - Err: fmt.Errorf("inconsistent slices are not supported - expected %s got %s", fType, rValues.Index(i).Elem().Type()), - } - } - typedSlice = reflect.Append(typedSlice, rValues.Index(i).Elem()) - } - return typedSlice.Interface(), nil -} - -func (jCol *JSONList) createNewOffsets(num int) { - for i := 0; i < num; i++ { - //single depth so can take 1st - if jCol.offsets[0].values.col.Rows() == 0 { - // first entry in the column - jCol.offsets[0].values.col.Append(0) - } else { - // entry for this object to see offset from last - offsets are cumulative - jCol.offsets[0].values.col.Append(jCol.offsets[0].values.col.Row(jCol.offsets[0].values.col.Rows() - 1)) - } - } -} - -func getStructFieldName(field reflect.StructField) (string, bool) { - name := field.Name - tag := field.Tag.Get("json") - // not a standard but we allow - to omit fields - if tag == "-" { - return name, true - } - if tag != "" { - // Some JSON tags contain omitempty after a comma but we don't want those in our field name. - return strings.Split(tag, ",")[0], false - } - // support ch tag as well as this is used elsewhere - tag = field.Tag.Get("ch") - if tag == "-" { - return name, true - } - if tag != "" { - return tag, false - } - return name, false -} - -// ensures numeric keys and ` are escaped properly -func getMapFieldName(name string) string { - if !escapeColRegex.MatchString(name) { - return fmt.Sprintf("`%s`", colEscape.Replace(name)) - } - return colEscape.Replace(name) -} - -func parseSlice(name string, values any, jCol JSONParent, preFill int) error { - fType := reflect.TypeOf(values).Elem() - sKind := fType.Kind() - rValues := reflect.ValueOf(values) - - if sKind == reflect.Interface { - //use the first element to determine if it is a complex or primitive map - after this we need consistent dimensions - if rValues.Len() == 0 { - return nil - } - var value reflect.Value - for i := 0; i < rValues.Len(); i++ { - value = rValues.Index(i).Elem() - if value.IsValid() { - break - } - } - if !value.IsValid() { - return nil - } - fType = value.Type() - sKind = value.Kind() - } - - if _, ok := typeMappings[fType.String()]; ok { - return parseType(name, fType, values, true, jCol, preFill) - } else if sKind == reflect.Struct || sKind == reflect.Map || sKind == reflect.Slice { - if rValues.Len() == 0 { - return nil - } - col, err := jCol.upsertList(name) - if err != nil { - return err - } - col.createNewOffsets(preFill + 1) - for i := 0; i < rValues.Len(); i++ { - // increment offset - col.offsets[0].values.col[col.offsets[0].values.col.Rows()-1] += 1 - value := rValues.Index(i) - sKind = value.Kind() - if sKind == reflect.Interface { - sKind = value.Elem().Kind() - } - switch sKind { - case reflect.Struct: - col.isNested = true - if err = oldIterateStruct(value, col, 0); err != nil { - return err - } - case reflect.Map: - col.isNested = true - if err = oldIterateMap(value, col, 0); err != nil { - return err - } - case reflect.Slice: - if err = parseSlice("", value.Interface(), col, 0); err != nil { - return err - } - default: - // only happens if slice has a primitive mixed with complex types in a []any - return &Error{ - ColumnType: fmt.Sprint(sKind), - Err: fmt.Errorf("slices must be same dimension in column %s", col.Name()), - } - } - } - return nil - } - return parsePrimitive(name, sKind, values, true, jCol, preFill) -} - -func parseStruct(name string, structVal reflect.Value, jCol JSONParent, preFill int) error { - col, err := jCol.upsertObject(name) - if err != nil { - return err - } - return oldIterateStruct(structVal, col, preFill) -} - -func oldIterateStruct(structVal reflect.Value, col JSONParent, preFill int) error { - // structs generally have consistent field counts but we ignore nil values that are any as we can't infer from - // these until they occur - so we might need to either backfill when to do occur or insert empty based on previous - if structVal.Kind() == reflect.Interface { - // can happen if passed from []any - structVal = structVal.Elem() - } - - currentColumns := col.columnNames() - columnLookup := make(map[string]struct{}) - numRows := col.rows() - for _, name := range currentColumns { - columnLookup[name] = struct{}{} - } - addedColumns := make([]string, structVal.NumField(), structVal.NumField()) - newColumn := false - - for i := 0; i < structVal.NumField(); i++ { - fName, omit := getStructFieldName(structVal.Type().Field(i)) - if omit { - continue - } - field := structVal.Field(i) - if !field.CanInterface() { - // can't interface - likely not exported so ignore the field - continue - } - kind := field.Kind() - value := field.Interface() - fType := field.Type() - //resolve underlying kind - if kind == reflect.Interface { - if value == nil { - // ignore nil fields - continue - } - kind = reflect.TypeOf(value).Kind() - field = reflect.ValueOf(value) - fType = field.Type() - } - if _, ok := columnLookup[fName]; !ok && len(currentColumns) > 0 { - // new column - need to handle missing - preFill = numRows - newColumn = true - } - if _, ok := typeMappings[fType.String()]; ok { - if err := parseType(fName, fType, value, false, col, preFill); err != nil { - return err - } - } else { - switch kind { - case reflect.Slice: - if reflect.ValueOf(value).Len() == 0 { - continue - } - if err := parseSlice(fName, value, col, preFill); err != nil { - return err - } - case reflect.Struct: - if err := parseStruct(fName, field, col, preFill); err != nil { - return err - } - case reflect.Map: - if err := parseMap(fName, field, col, preFill); err != nil { - return err - } - default: - if err := parsePrimitive(fName, kind, value, false, col, preFill); err != nil { - return err - } - } - } - addedColumns[i] = fName - if newColumn { - // reset as otherwise prefill overflow to other fields. But don't reset if this prefill has come from - // a higher level - preFill = 0 - } - } - // handle missing - missingColumns := difference(currentColumns, addedColumns) - for _, name := range missingColumns { - if err := col.insertEmptyColumn(name); err != nil { - return err - } - } - return nil -} - -func parseMap(name string, mapVal reflect.Value, jCol JSONParent, preFill int) error { - if mapVal.Type().Key().Kind() != reflect.String { - return &Error{ - ColumnType: fmt.Sprint(mapVal.Type().Key().Kind()), - Err: fmt.Errorf("map keys must be string for column %s", name), - } - } - col, err := jCol.upsertObject(name) - if err != nil { - return err - } - return oldIterateMap(mapVal, col, preFill) -} - -func oldIterateMap(mapVal reflect.Value, col JSONParent, preFill int) error { - // maps can have inconsistent numbers of elements - we must ensure they are consistent in the encoding - // two inconsistent options - 1. new - map has new columns 2. massing - map has missing columns - // for (1) we need to update previous, for (2) we need to ensure we add a null entry - if mapVal.Kind() == reflect.Interface { - // can happen if passed from []any - mapVal = mapVal.Elem() - } - - currentColumns := col.columnNames() - //gives us a fast lookup for large maps - columnLookup := make(map[string]struct{}) - numRows := col.rows() - // true if we need nil values - for _, name := range currentColumns { - columnLookup[name] = struct{}{} - } - addedColumns := make([]string, len(mapVal.MapKeys()), len(mapVal.MapKeys())) - newColumn := false - for i, key := range mapVal.MapKeys() { - if newColumn { - // reset as otherwise prefill overflow to other fields. But don't reset if this prefill has come from - // a higher level - preFill = 0 - } - - name := getMapFieldName(key.Interface().(string)) - if _, ok := columnLookup[name]; !ok && len(currentColumns) > 0 { - // new column - need to handle - preFill = numRows - newColumn = true - } - field := mapVal.MapIndex(key) - kind := field.Kind() - fType := field.Type() - - if kind == reflect.Interface { - if field.Interface() == nil { - // ignore nil fields - continue - } - kind = reflect.TypeOf(field.Interface()).Kind() - field = reflect.ValueOf(field.Interface()) - fType = field.Type() - } - if _, ok := typeMappings[fType.String()]; ok { - if err := parseType(name, fType, field.Interface(), false, col, preFill); err != nil { - return err - } - } else { - switch kind { - case reflect.Struct: - if err := parseStruct(name, field, col, preFill); err != nil { - return err - } - case reflect.Slice: - if err := parseSlice(name, field.Interface(), col, preFill); err != nil { - return err - } - case reflect.Map: - if err := parseMap(name, field, col, preFill); err != nil { - return err - } - default: - if err := parsePrimitive(name, kind, field.Interface(), false, col, preFill); err != nil { - return err - } - } - } - addedColumns[i] = name - } - // handle missing - missingColumns := difference(currentColumns, addedColumns) - for _, name := range missingColumns { - if err := col.insertEmptyColumn(name); err != nil { - return err - } - } - return nil -} - -func appendStructOrMap(jCol *JSONObject, data any) error { - vData := reflect.ValueOf(data) - kind := vData.Kind() - if kind == reflect.Struct { - return oldIterateStruct(vData, jCol, 0) - } - if kind == reflect.Map { - if reflect.TypeOf(data).Key().Kind() != reflect.String { - return &Error{ - ColumnType: fmt.Sprint(reflect.TypeOf(data).Key().Kind()), - Err: fmt.Errorf("map keys must be string for column %s", jCol.Name()), - } - } - if jCol.columns == nil && vData.Len() == 0 { - // if map is empty, we need to create an empty Tuple to make sure subcolumns protocol is happy - // _dummy is a ClickHouse internal name for empty Tuple subcolumn - // it has the same effect as `INSERT INTO single_json_type_table VALUES ('{}');` - jCol.upsertValue("_dummy", "Int8") - return jCol.insertEmptyColumn("_dummy") - } - return oldIterateMap(vData, jCol, 0) - } - return &UnsupportedColumnTypeError{ - t: Type(fmt.Sprint(kind)), - } -} - -type JSONValue struct { - Interface - // represents the type e.g. uuid - these may have been mapped to a Column type support by JSON e.g. String - origType reflect.Type -} - -func (jCol *JSONValue) Reset() { - jCol.Interface.Reset() -} - -func (jCol *JSONValue) appendEmptyValue() error { - switch jCol.Interface.(type) { - case *Array: - if jCol.Rows() > 0 { - return jCol.AppendRow(reflect.MakeSlice(reflect.TypeOf(jCol.Row(0, false)), 0, 0).Interface()) - } - return &Error{ - ColumnType: "unknown", - Err: fmt.Errorf("can't add empty value to column %s - no entries to infer type", jCol.Name()), - } - default: - // can't just append nil here as we need a custom nil value for the type - if jCol.origType != nil { - return jCol.AppendRow(fmt.Sprint(reflect.New(jCol.origType).Elem().Interface())) - } - return jCol.AppendRow(nil) - } -} - -func (jCol *JSONValue) Type() Type { - return Type(fmt.Sprintf("%s %s", jCol.Name(), jCol.Interface.Type())) -} - -type JSONList struct { - Array - name string - isNested bool // indicates if this a list of objects i.e. a Nested -} - -func (jCol *JSONList) Name() string { - return jCol.name -} - -func (jCol *JSONList) columnNames() []string { - return jCol.Array.values.(*JSONObject).columnNames() -} - -func (jCol *JSONList) rows() int { - return jCol.values.(*JSONObject).Rows() -} - -func createJSONList(name string, sc *ServerContext) (jCol *JSONList) { - // lists are represented as Nested which are in turn encoded as Array(Tuple()). We thus pass a Array(JSONObject()) - // as this encodes like a tuple - lCol := &JSONList{ - name: name, - } - lCol.values = &JSONObject{sc: sc} - // depth should always be one as nested arrays aren't possible - lCol.depth = 1 - lCol.scanType = scanTypeSlice - offsetScanTypes := []reflect.Type{lCol.scanType} - lCol.offsets = []*offset{{ - scanType: offsetScanTypes[0], - }} - return lCol -} - -func (jCol *JSONList) appendEmptyValue() error { - // only need to bump the offsets - jCol.createNewOffsets(1) - return nil -} - -func (jCol *JSONList) insertEmptyColumn(name string) error { - return jCol.values.(*JSONObject).insertEmptyColumn(name) -} - -func (jCol *JSONList) upsertValue(name string, ct string) (*JSONValue, error) { - // check if column exists and reuse if same type, error if same name and different type - jObj := jCol.values.(*JSONObject) - cols := jObj.columns - for i := range cols { - sCol := cols[i] - if sCol.Name() == name { - vCol, ok := cols[i].(*JSONValue) - if !ok { - sType := cols[i].Type() - return nil, &Error{ - ColumnType: fmt.Sprint(sType), - Err: fmt.Errorf("type mismatch in column %s - expected value, got %s", name, sType), - } - } - tType := vCol.Interface.Type() - if tType != Type(ct) { - return nil, &Error{ - ColumnType: ct, - Err: fmt.Errorf("type mismatch in column %s - expected %s, got %s", name, tType, ct), - } - } - return vCol, nil - } - } - col, err := Type(ct).Column(name, jObj.sc) - if err != nil { - return nil, err - } - vCol := &JSONValue{ - Interface: col, - } - jCol.values.(*JSONObject).columns = append(cols, vCol) // nolint:gocritic - return vCol, nil -} - -func (jCol *JSONList) upsertList(name string) (*JSONList, error) { - // check if column exists and reuse if same type, error if same name and different type - jObj := jCol.values.(*JSONObject) - cols := jCol.values.(*JSONObject).columns - for i := range cols { - sCol := cols[i] - if sCol.Name() == name { - sCol, ok := cols[i].(*JSONList) - if !ok { - return nil, &Error{ - ColumnType: fmt.Sprint(cols[i].Type()), - Err: fmt.Errorf("type mismatch in column %s - expected list, got %s", name, cols[i].Type()), - } - } - return sCol, nil - } - } - lCol := createJSONList(name, jObj.sc) - jCol.values.(*JSONObject).columns = append(cols, lCol) // nolint:gocritic - return lCol, nil - -} - -func (jCol *JSONList) upsertObject(name string) (*JSONObject, error) { - // check if column exists and reuse if same type, error if same name and different type - jObj := jCol.values.(*JSONObject) - cols := jObj.columns - for i := range cols { - sCol := cols[i] - if sCol.Name() == name { - sCol, ok := cols[i].(*JSONObject) - if !ok { - sType := cols[i].Type() - return nil, &Error{ - ColumnType: fmt.Sprint(sType), - Err: fmt.Errorf("type mismatch in column %s, expected object got %s", name, sType), - } - } - return sCol, nil - } - } - // lists are represented as Nested which are in turn encoded as Array(Tuple()). We thus pass a Array(JSONObject()) - // as this encodes like a tuple - oCol := &JSONObject{ - name: name, - sc: jObj.sc, - } - jCol.values.(*JSONObject).columns = append(cols, oCol) // nolint:gocritic - return oCol, nil -} - -func (jCol *JSONList) Type() Type { - cols := jCol.values.(*JSONObject).columns - subTypes := make([]string, len(cols)) - for i, v := range cols { - subTypes[i] = string(v.Type()) - } - // can be a list of lists or a nested - if jCol.isNested { - return Type(fmt.Sprintf("%s Nested(%s)", jCol.name, strings.Join(subTypes, ", "))) - } - return Type(fmt.Sprintf("%s Array(%s)", jCol.name, strings.Join(subTypes, ", "))) -} - -type JSONObject struct { - columns []ObjectJSON - name string - root bool - encoding uint8 - sc *ServerContext -} - -func (jCol *JSONObject) Reset() { - for i := range jCol.columns { - jCol.columns[i].Reset() - } -} - -func (jCol *JSONObject) Name() string { - return jCol.name -} - -func (jCol *JSONObject) columnNames() []string { - columns := make([]string, len(jCol.columns), len(jCol.columns)) - for i := range jCol.columns { - columns[i] = jCol.columns[i].Name() - } - return columns -} - -func (jCol *JSONObject) rows() int { - return jCol.Rows() -} - -func (jCol *JSONObject) appendEmptyValue() error { - for i := range jCol.columns { - if err := jCol.columns[i].appendEmptyValue(); err != nil { - return err - } - } - return nil -} - -func (jCol *JSONObject) insertEmptyColumn(name string) error { - for i := range jCol.columns { - if jCol.columns[i].Name() == name { - if err := jCol.columns[i].appendEmptyValue(); err != nil { - return err - } - return nil - } - } - return &Error{ - ColumnType: "unknown", - Err: fmt.Errorf("column %s is missing - empty value cannot be appended", name), - } -} - -func (jCol *JSONObject) upsertValue(name string, ct string) (*JSONValue, error) { - for i := range jCol.columns { - sCol := jCol.columns[i] - if sCol.Name() == name { - vCol, ok := jCol.columns[i].(*JSONValue) - if !ok { - sType := jCol.columns[i].Type() - return nil, &Error{ - ColumnType: fmt.Sprint(sType), - Err: fmt.Errorf("type mismatch in column %s, expected value got %s", name, sType), - } - } - if vCol.Interface.Type() != Type(ct) { - return nil, &Error{ - ColumnType: ct, - Err: fmt.Errorf("type mismatch in column %s, expected %s got %s", name, vCol.Interface.Type(), ct), - } - } - return vCol, nil - } - } - col, err := Type(ct).Column(name, jCol.sc) - if err != nil { - return nil, err - } - vCol := &JSONValue{ - Interface: col, - } - jCol.columns = append(jCol.columns, vCol) - return vCol, nil -} - -func (jCol *JSONObject) upsertList(name string) (*JSONList, error) { - for i := range jCol.columns { - sCol := jCol.columns[i] - if sCol.Name() == name { - sCol, ok := jCol.columns[i].(*JSONList) - if !ok { - sType := jCol.columns[i].Type() - return nil, &Error{ - ColumnType: fmt.Sprint(sType), - Err: fmt.Errorf("type mismatch in column %s, expected list got %s", name, sType), - } - } - return sCol, nil - } - } - lCol := createJSONList(name, jCol.sc) - jCol.columns = append(jCol.columns, lCol) - return lCol, nil -} - -func (jCol *JSONObject) upsertObject(name string) (*JSONObject, error) { - // check if it exists - for i := range jCol.columns { - sCol := jCol.columns[i] - if sCol.Name() == name { - sCol, ok := jCol.columns[i].(*JSONObject) - if !ok { - sType := jCol.columns[i].Type() - return nil, &Error{ - ColumnType: fmt.Sprint(sType), - Err: fmt.Errorf("type mismatch in column %s, expected object got %s", name, sType), - } - } - return sCol, nil - } - } - // not present so create - oCol := &JSONObject{ - name: name, - sc: jCol.sc, - } - jCol.columns = append(jCol.columns, oCol) - return oCol, nil -} - -func (jCol *JSONObject) Type() Type { - if jCol.root { - return "Object('json')" - } - return jCol.FullType() -} - -func (jCol *JSONObject) FullType() Type { - subTypes := make([]string, len(jCol.columns)) - for i, v := range jCol.columns { - subTypes[i] = string(v.Type()) - } - if jCol.root { - return Type(fmt.Sprintf("Tuple(%s)", strings.Join(subTypes, ", "))) - } - return Type(fmt.Sprintf("%s Tuple(%s)", jCol.name, strings.Join(subTypes, ", "))) -} - -func (jCol *JSONObject) ScanType() reflect.Type { - return scanTypeMap -} - -func (jCol *JSONObject) Rows() int { - if len(jCol.columns) != 0 { - return jCol.columns[0].Rows() - } - return 0 -} - -// ClickHouse returns JSON as a tuple i.e. these will never be invoked - -func (jCol *JSONObject) Row(i int, ptr bool) any { - panic("Not implemented") -} - -func (jCol *JSONObject) ScanRow(dest any, row int) error { - panic("Not implemented") -} - -func (jCol *JSONObject) Append(v any) (nulls []uint8, err error) { - jSlice := reflect.ValueOf(v) - if jSlice.Kind() != reflect.Slice { - return nil, &ColumnConverterError{ - Op: "Append", - To: string(jCol.Type()), - From: fmt.Sprintf("slice of structs/map or strings required - received %T", v), - } - } - for i := 0; i < jSlice.Len(); i++ { - if err := jCol.AppendRow(jSlice.Index(i).Interface()); err != nil { - return nil, err - } - } - return nil, nil -} - -func (jCol *JSONObject) AppendRow(v any) error { - if reflect.ValueOf(v).Kind() == reflect.Struct || reflect.ValueOf(v).Kind() == reflect.Map { - if jCol.columns != nil && jCol.encoding == 1 { - return &Error{ - ColumnType: fmt.Sprint(jCol.Type()), - Err: fmt.Errorf("encoding of JSON columns cannot be mixed in a batch - %s cannot be added as previously String", reflect.ValueOf(v).Kind()), - } - } - err := appendStructOrMap(jCol, v) - return err - } - switch v := v.(type) { - case string: - if jCol.columns != nil && jCol.encoding == 0 { - return &Error{ - ColumnType: fmt.Sprint(jCol.Type()), - Err: fmt.Errorf("encoding of JSON columns cannot be mixed in a batch - %s cannot be added as previously Struct/Map", reflect.ValueOf(v).Kind()), - } - } - jCol.encoding = 1 - if jCol.columns == nil { - jCol.columns = append(jCol.columns, &JSONValue{Interface: &String{}}) - } - jCol.columns[0].AppendRow(v) - default: - return &ColumnConverterError{ - Op: "AppendRow", - To: "String", - From: fmt.Sprintf("json row must be struct, map or string - received %T", v), - } - } - return nil -} - -func (jCol *JSONObject) Decode(reader *proto.Reader, rows int) error { - panic("Not implemented") -} - -func (jCol *JSONObject) Encode(buffer *proto.Buffer) { - if jCol.root && jCol.encoding == 0 { - buffer.PutString(string(jCol.FullType())) - } - for _, c := range jCol.columns { - c.Encode(buffer) - } -} - -func (jCol *JSONObject) ReadStatePrefix(reader *proto.Reader) error { - _, err := reader.UInt8() - return err -} - -func (jCol *JSONObject) WriteStatePrefix(buffer *proto.Buffer) error { - buffer.PutUInt8(jCol.encoding) - return nil -} - -var ( - _ Interface = (*JSONObject)(nil) - _ CustomSerialization = (*JSONObject)(nil) -) +// +// import ( +// "fmt" +// "github.com/ClickHouse/ch-go/proto" +// "reflect" +// "strings" +// ) +// +// // This JSON type implementation was done for an experimental Object('JSON') type: +// // https://clickhouse.com/docs/en/sql-reference/data-types/object-data-type +// // It's already deprecated in ClickHouse and will be removed in the future. +// // Since ClickHouse 24.8, the Object('JSON') type is no longer alias for JSON type. +// // The new JSON type has been introduced: https://clickhouse.com/docs/en/sql-reference/data-types/newjson +// // However, the new JSON type is not supported by the driver yet. +// // +// // This implementation is kept for backward compatibility and will be removed in the future. TODO: remove this +// +// // inverse mapping - go types to clickhouse types +// var kindMappings = map[reflect.Kind]string{ +// reflect.String: "String", +// reflect.Int: "Int64", +// reflect.Int8: "Int8", +// reflect.Int16: "Int16", +// reflect.Int32: "Int32", +// reflect.Int64: "Int64", +// reflect.Uint: "UInt64", +// reflect.Uint8: "UInt8", +// reflect.Uint16: "UInt16", +// reflect.Uint32: "UInt32", +// reflect.Uint64: "UInt64", +// reflect.Float32: "Float32", +// reflect.Float64: "Float64", +// reflect.Bool: "Bool", +// } +// +// // complex types for which a mapping exists - currently we map to String but could enhance in the future for other types +// var typeMappings = map[string]struct{}{ +// // currently JSON doesn't support DateTime, Decimal or IP so mapped to String +// "time.Time": {}, +// "decimal.Decimal": {}, +// "net.IP": {}, +// "uuid.UUID": {}, +// } +// +// type ObjectJSON interface { +// Interface +// appendEmptyValue() error +// } +// +// type JSONParent interface { +// upsertValue(name string, ct string) (*JSONValue, error) +// upsertList(name string) (*JSONList, error) +// upsertObject(name string) (*JSONObject, error) +// insertEmptyColumn(name string) error +// columnNames() []string +// rows() int +// } +// +// func parseType(name string, vType reflect.Type, values any, isArray bool, jCol JSONParent, numEmpty int) error { +// _, ok := typeMappings[vType.String()] +// if !ok { +// return &UnsupportedColumnTypeError{ +// t: Type(vType.String()), +// } +// } +// ct := "String" +// if isArray { +// ct = fmt.Sprintf("Array(%s)", ct) +// } +// col, err := jCol.upsertValue(name, ct) +// if err != nil { +// return err +// } +// col.origType = vType +// +// //pre pad with empty - e.g. for new values in maps +// for i := 0; i < numEmpty; i++ { +// if isArray { +// // empty array for nil of the right type +// err = col.AppendRow([]string{}) +// } else { +// // empty value of the type +// err = col.AppendRow(fmt.Sprint(reflect.New(vType).Elem().Interface())) +// } +// if err != nil { +// return err +// } +// } +// if isArray { +// iValues := reflect.ValueOf(values) +// sValues := make([]string, iValues.Len(), iValues.Len()) +// for i := 0; i < iValues.Len(); i++ { +// sValues[i] = fmt.Sprint(iValues.Index(i).Interface()) +// } +// return col.AppendRow(sValues) +// } +// return col.AppendRow(fmt.Sprint(values)) +// } +// +// func parsePrimitive(name string, kind reflect.Kind, values any, isArray bool, jCol JSONParent, numEmpty int) error { +// ct, ok := kindMappings[kind] +// if !ok { +// return &UnsupportedColumnTypeError{ +// t: Type(fmt.Sprintf("%s - %s", kind, reflect.TypeOf(values).String())), +// } +// } +// var err error +// if isArray { +// ct = fmt.Sprintf("Array(%s)", ct) +// // if we have a []any we will need to cast to the target column type - this will be based on the first +// // values types. Inconsistent slices will fail. +// values, err = convertSlice(values) +// if err != nil { +// return err +// } +// } +// col, err := jCol.upsertValue(name, ct) +// if err != nil { +// return err +// } +// +// //pre pad with empty - e.g. for new values in maps +// for i := 0; i < numEmpty; i++ { +// if isArray { +// // empty array for nil of the right type +// err = col.AppendRow(reflect.MakeSlice(reflect.TypeOf(values), 0, 0).Interface()) +// } else { +// err = col.AppendRow(nil) +// } +// if err != nil { +// return err +// } +// } +// +// return col.AppendRow(values) +// } +// +// // converts a []any of primitives to a typed slice +// // maybe this can be done with reflection but likely slower. investigate. +// // this uses the first value to determine the type - subsequent values must currently be of the same type - we might cast later +// // but wider driver doesn't support e.g. int to int64 +// func convertSlice(values any) (any, error) { +// rValues := reflect.ValueOf(values) +// if rValues.Len() == 0 || rValues.Index(0).Kind() != reflect.Interface { +// return values, nil +// } +// var fType reflect.Type +// for i := 0; i < rValues.Len(); i++ { +// elem := rValues.Index(i).Elem() +// if elem.IsValid() { +// fType = elem.Type() +// break +// } +// } +// if fType == nil { +// return []any{}, nil +// } +// typedSlice := reflect.MakeSlice(reflect.SliceOf(fType), 0, rValues.Len()) +// for i := 0; i < rValues.Len(); i++ { +// value := rValues.Index(i) +// if value.IsNil() { +// typedSlice = reflect.Append(typedSlice, reflect.Zero(fType)) +// continue +// } +// if rValues.Index(i).Elem().Type() != fType { +// return nil, &Error{ +// ColumnType: fmt.Sprint(fType), +// Err: fmt.Errorf("inconsistent slices are not supported - expected %s got %s", fType, rValues.Index(i).Elem().Type()), +// } +// } +// typedSlice = reflect.Append(typedSlice, rValues.Index(i).Elem()) +// } +// return typedSlice.Interface(), nil +// } +// +// func (jCol *JSONList) createNewOffsets(num int) { +// for i := 0; i < num; i++ { +// //single depth so can take 1st +// if jCol.offsets[0].values.col.Rows() == 0 { +// // first entry in the column +// jCol.offsets[0].values.col.Append(0) +// } else { +// // entry for this object to see offset from last - offsets are cumulative +// jCol.offsets[0].values.col.Append(jCol.offsets[0].values.col.Row(jCol.offsets[0].values.col.Rows() - 1)) +// } +// } +// } +// +// func parseSlice(name string, values any, jCol JSONParent, preFill int) error { +// fType := reflect.TypeOf(values).Elem() +// sKind := fType.Kind() +// rValues := reflect.ValueOf(values) +// +// if sKind == reflect.Interface { +// //use the first element to determine if it is a complex or primitive map - after this we need consistent dimensions +// if rValues.Len() == 0 { +// return nil +// } +// var value reflect.Value +// for i := 0; i < rValues.Len(); i++ { +// value = rValues.Index(i).Elem() +// if value.IsValid() { +// break +// } +// } +// if !value.IsValid() { +// return nil +// } +// fType = value.Type() +// sKind = value.Kind() +// } +// +// if _, ok := typeMappings[fType.String()]; ok { +// return parseType(name, fType, values, true, jCol, preFill) +// } else if sKind == reflect.Struct || sKind == reflect.Map || sKind == reflect.Slice { +// if rValues.Len() == 0 { +// return nil +// } +// col, err := jCol.upsertList(name) +// if err != nil { +// return err +// } +// col.createNewOffsets(preFill + 1) +// for i := 0; i < rValues.Len(); i++ { +// // increment offset +// col.offsets[0].values.col[col.offsets[0].values.col.Rows()-1] += 1 +// value := rValues.Index(i) +// sKind = value.Kind() +// if sKind == reflect.Interface { +// sKind = value.Elem().Kind() +// } +// switch sKind { +// case reflect.Struct: +// col.isNested = true +// if err = oldIterateStruct(value, col, 0); err != nil { +// return err +// } +// case reflect.Map: +// col.isNested = true +// if err = oldIterateMap(value, col, 0); err != nil { +// return err +// } +// case reflect.Slice: +// if err = parseSlice("", value.Interface(), col, 0); err != nil { +// return err +// } +// default: +// // only happens if slice has a primitive mixed with complex types in a []any +// return &Error{ +// ColumnType: fmt.Sprint(sKind), +// Err: fmt.Errorf("slices must be same dimension in column %s", col.Name()), +// } +// } +// } +// return nil +// } +// return parsePrimitive(name, sKind, values, true, jCol, preFill) +// } +// +// func parseStruct(name string, structVal reflect.Value, jCol JSONParent, preFill int) error { +// col, err := jCol.upsertObject(name) +// if err != nil { +// return err +// } +// return oldIterateStruct(structVal, col, preFill) +// } +// +// func oldIterateStruct(structVal reflect.Value, col JSONParent, preFill int) error { +// // structs generally have consistent field counts but we ignore nil values that are any as we can't infer from +// // these until they occur - so we might need to either backfill when to do occur or insert empty based on previous +// if structVal.Kind() == reflect.Interface { +// // can happen if passed from []any +// structVal = structVal.Elem() +// } +// +// currentColumns := col.columnNames() +// columnLookup := make(map[string]struct{}) +// numRows := col.rows() +// for _, name := range currentColumns { +// columnLookup[name] = struct{}{} +// } +// addedColumns := make([]string, structVal.NumField(), structVal.NumField()) +// newColumn := false +// +// for i := 0; i < structVal.NumField(); i++ { +// fName, omit := getStructFieldName(structVal.Type().Field(i)) +// if omit { +// continue +// } +// field := structVal.Field(i) +// if !field.CanInterface() { +// // can't interface - likely not exported so ignore the field +// continue +// } +// kind := field.Kind() +// value := field.Interface() +// fType := field.Type() +// //resolve underlying kind +// if kind == reflect.Interface { +// if value == nil { +// // ignore nil fields +// continue +// } +// kind = reflect.TypeOf(value).Kind() +// field = reflect.ValueOf(value) +// fType = field.Type() +// } +// if _, ok := columnLookup[fName]; !ok && len(currentColumns) > 0 { +// // new column - need to handle missing +// preFill = numRows +// newColumn = true +// } +// if _, ok := typeMappings[fType.String()]; ok { +// if err := parseType(fName, fType, value, false, col, preFill); err != nil { +// return err +// } +// } else { +// switch kind { +// case reflect.Slice: +// if reflect.ValueOf(value).Len() == 0 { +// continue +// } +// if err := parseSlice(fName, value, col, preFill); err != nil { +// return err +// } +// case reflect.Struct: +// if err := parseStruct(fName, field, col, preFill); err != nil { +// return err +// } +// case reflect.Map: +// if err := parseMap(fName, field, col, preFill); err != nil { +// return err +// } +// default: +// if err := parsePrimitive(fName, kind, value, false, col, preFill); err != nil { +// return err +// } +// } +// } +// addedColumns[i] = fName +// if newColumn { +// // reset as otherwise prefill overflow to other fields. But don't reset if this prefill has come from +// // a higher level +// preFill = 0 +// } +// } +// // handle missing +// missingColumns := difference(currentColumns, addedColumns) +// for _, name := range missingColumns { +// if err := col.insertEmptyColumn(name); err != nil { +// return err +// } +// } +// return nil +// } +// +// func parseMap(name string, mapVal reflect.Value, jCol JSONParent, preFill int) error { +// if mapVal.Type().Key().Kind() != reflect.String { +// return &Error{ +// ColumnType: fmt.Sprint(mapVal.Type().Key().Kind()), +// Err: fmt.Errorf("map keys must be string for column %s", name), +// } +// } +// col, err := jCol.upsertObject(name) +// if err != nil { +// return err +// } +// return oldIterateMap(mapVal, col, preFill) +// } +// +// func oldIterateMap(mapVal reflect.Value, col JSONParent, preFill int) error { +// // maps can have inconsistent numbers of elements - we must ensure they are consistent in the encoding +// // two inconsistent options - 1. new - map has new columns 2. massing - map has missing columns +// // for (1) we need to update previous, for (2) we need to ensure we add a null entry +// if mapVal.Kind() == reflect.Interface { +// // can happen if passed from []any +// mapVal = mapVal.Elem() +// } +// +// currentColumns := col.columnNames() +// //gives us a fast lookup for large maps +// columnLookup := make(map[string]struct{}) +// numRows := col.rows() +// // true if we need nil values +// for _, name := range currentColumns { +// columnLookup[name] = struct{}{} +// } +// addedColumns := make([]string, len(mapVal.MapKeys()), len(mapVal.MapKeys())) +// newColumn := false +// for i, key := range mapVal.MapKeys() { +// if newColumn { +// // reset as otherwise prefill overflow to other fields. But don't reset if this prefill has come from +// // a higher level +// preFill = 0 +// } +// +// name := getMapFieldName(key.Interface().(string)) +// if _, ok := columnLookup[name]; !ok && len(currentColumns) > 0 { +// // new column - need to handle +// preFill = numRows +// newColumn = true +// } +// field := mapVal.MapIndex(key) +// kind := field.Kind() +// fType := field.Type() +// +// if kind == reflect.Interface { +// if field.Interface() == nil { +// // ignore nil fields +// continue +// } +// kind = reflect.TypeOf(field.Interface()).Kind() +// field = reflect.ValueOf(field.Interface()) +// fType = field.Type() +// } +// if _, ok := typeMappings[fType.String()]; ok { +// if err := parseType(name, fType, field.Interface(), false, col, preFill); err != nil { +// return err +// } +// } else { +// switch kind { +// case reflect.Struct: +// if err := parseStruct(name, field, col, preFill); err != nil { +// return err +// } +// case reflect.Slice: +// if err := parseSlice(name, field.Interface(), col, preFill); err != nil { +// return err +// } +// case reflect.Map: +// if err := parseMap(name, field, col, preFill); err != nil { +// return err +// } +// default: +// if err := parsePrimitive(name, kind, field.Interface(), false, col, preFill); err != nil { +// return err +// } +// } +// } +// addedColumns[i] = name +// } +// // handle missing +// missingColumns := difference(currentColumns, addedColumns) +// for _, name := range missingColumns { +// if err := col.insertEmptyColumn(name); err != nil { +// return err +// } +// } +// return nil +// } +// +// func appendStructOrMap(jCol *JSONObject, data any) error { +// vData := reflect.ValueOf(data) +// kind := vData.Kind() +// if kind == reflect.Struct { +// return oldIterateStruct(vData, jCol, 0) +// } +// if kind == reflect.Map { +// if reflect.TypeOf(data).Key().Kind() != reflect.String { +// return &Error{ +// ColumnType: fmt.Sprint(reflect.TypeOf(data).Key().Kind()), +// Err: fmt.Errorf("map keys must be string for column %s", jCol.Name()), +// } +// } +// if jCol.columns == nil && vData.Len() == 0 { +// // if map is empty, we need to create an empty Tuple to make sure subcolumns protocol is happy +// // _dummy is a ClickHouse internal name for empty Tuple subcolumn +// // it has the same effect as `INSERT INTO single_json_type_table VALUES ('{}');` +// jCol.upsertValue("_dummy", "Int8") +// return jCol.insertEmptyColumn("_dummy") +// } +// return oldIterateMap(vData, jCol, 0) +// } +// return &UnsupportedColumnTypeError{ +// t: Type(fmt.Sprint(kind)), +// } +// } +// +// type JSONValue struct { +// Interface +// // represents the type e.g. uuid - these may have been mapped to a Column type support by JSON e.g. String +// origType reflect.Type +// } +// +// func (jCol *JSONValue) Reset() { +// jCol.Interface.Reset() +// } +// +// func (jCol *JSONValue) appendEmptyValue() error { +// switch jCol.Interface.(type) { +// case *Array: +// if jCol.Rows() > 0 { +// return jCol.AppendRow(reflect.MakeSlice(reflect.TypeOf(jCol.Row(0, false)), 0, 0).Interface()) +// } +// return &Error{ +// ColumnType: "unknown", +// Err: fmt.Errorf("can't add empty value to column %s - no entries to infer type", jCol.Name()), +// } +// default: +// // can't just append nil here as we need a custom nil value for the type +// if jCol.origType != nil { +// return jCol.AppendRow(fmt.Sprint(reflect.New(jCol.origType).Elem().Interface())) +// } +// return jCol.AppendRow(nil) +// } +// } +// +// func (jCol *JSONValue) Type() Type { +// return Type(fmt.Sprintf("%s %s", jCol.Name(), jCol.Interface.Type())) +// } +// +// type JSONList struct { +// Array +// name string +// isNested bool // indicates if this a list of objects i.e. a Nested +// } +// +// func (jCol *JSONList) Name() string { +// return jCol.name +// } +// +// func (jCol *JSONList) columnNames() []string { +// return jCol.Array.values.(*JSONObject).columnNames() +// } +// +// func (jCol *JSONList) rows() int { +// return jCol.values.(*JSONObject).Rows() +// } +// +// func createJSONList(name string, sc *ServerContext) (jCol *JSONList) { +// // lists are represented as Nested which are in turn encoded as Array(Tuple()). We thus pass a Array(JSONObject()) +// // as this encodes like a tuple +// lCol := &JSONList{ +// name: name, +// } +// lCol.values = &JSONObject{sc: sc} +// // depth should always be one as nested arrays aren't possible +// lCol.depth = 1 +// lCol.scanType = scanTypeSlice +// offsetScanTypes := []reflect.Type{lCol.scanType} +// lCol.offsets = []*offset{{ +// scanType: offsetScanTypes[0], +// }} +// return lCol +// } +// +// func (jCol *JSONList) appendEmptyValue() error { +// // only need to bump the offsets +// jCol.createNewOffsets(1) +// return nil +// } +// +// func (jCol *JSONList) insertEmptyColumn(name string) error { +// return jCol.values.(*JSONObject).insertEmptyColumn(name) +// } +// +// func (jCol *JSONList) upsertValue(name string, ct string) (*JSONValue, error) { +// // check if column exists and reuse if same type, error if same name and different type +// jObj := jCol.values.(*JSONObject) +// cols := jObj.columns +// for i := range cols { +// sCol := cols[i] +// if sCol.Name() == name { +// vCol, ok := cols[i].(*JSONValue) +// if !ok { +// sType := cols[i].Type() +// return nil, &Error{ +// ColumnType: fmt.Sprint(sType), +// Err: fmt.Errorf("type mismatch in column %s - expected value, got %s", name, sType), +// } +// } +// tType := vCol.Interface.Type() +// if tType != Type(ct) { +// return nil, &Error{ +// ColumnType: ct, +// Err: fmt.Errorf("type mismatch in column %s - expected %s, got %s", name, tType, ct), +// } +// } +// return vCol, nil +// } +// } +// col, err := Type(ct).Column(name, jObj.sc) +// if err != nil { +// return nil, err +// } +// vCol := &JSONValue{ +// Interface: col, +// } +// jCol.values.(*JSONObject).columns = append(cols, vCol) // nolint:gocritic +// return vCol, nil +// } +// +// func (jCol *JSONList) upsertList(name string) (*JSONList, error) { +// // check if column exists and reuse if same type, error if same name and different type +// jObj := jCol.values.(*JSONObject) +// cols := jCol.values.(*JSONObject).columns +// for i := range cols { +// sCol := cols[i] +// if sCol.Name() == name { +// sCol, ok := cols[i].(*JSONList) +// if !ok { +// return nil, &Error{ +// ColumnType: fmt.Sprint(cols[i].Type()), +// Err: fmt.Errorf("type mismatch in column %s - expected list, got %s", name, cols[i].Type()), +// } +// } +// return sCol, nil +// } +// } +// lCol := createJSONList(name, jObj.sc) +// jCol.values.(*JSONObject).columns = append(cols, lCol) // nolint:gocritic +// return lCol, nil +// +// } +// +// func (jCol *JSONList) upsertObject(name string) (*JSONObject, error) { +// // check if column exists and reuse if same type, error if same name and different type +// jObj := jCol.values.(*JSONObject) +// cols := jObj.columns +// for i := range cols { +// sCol := cols[i] +// if sCol.Name() == name { +// sCol, ok := cols[i].(*JSONObject) +// if !ok { +// sType := cols[i].Type() +// return nil, &Error{ +// ColumnType: fmt.Sprint(sType), +// Err: fmt.Errorf("type mismatch in column %s, expected object got %s", name, sType), +// } +// } +// return sCol, nil +// } +// } +// // lists are represented as Nested which are in turn encoded as Array(Tuple()). We thus pass a Array(JSONObject()) +// // as this encodes like a tuple +// oCol := &JSONObject{ +// name: name, +// sc: jObj.sc, +// } +// jCol.values.(*JSONObject).columns = append(cols, oCol) // nolint:gocritic +// return oCol, nil +// } +// +// func (jCol *JSONList) Type() Type { +// cols := jCol.values.(*JSONObject).columns +// subTypes := make([]string, len(cols)) +// for i, v := range cols { +// subTypes[i] = string(v.Type()) +// } +// // can be a list of lists or a nested +// if jCol.isNested { +// return Type(fmt.Sprintf("%s Nested(%s)", jCol.name, strings.Join(subTypes, ", "))) +// } +// return Type(fmt.Sprintf("%s Array(%s)", jCol.name, strings.Join(subTypes, ", "))) +// } +// +// type JSONObject struct { +// columns []ObjectJSON +// name string +// root bool +// encoding uint8 +// sc *ServerContext +// } +// +// func (jCol *JSONObject) Reset() { +// for i := range jCol.columns { +// jCol.columns[i].Reset() +// } +// } +// +// func (jCol *JSONObject) Name() string { +// return jCol.name +// } +// +// func (jCol *JSONObject) columnNames() []string { +// columns := make([]string, len(jCol.columns), len(jCol.columns)) +// for i := range jCol.columns { +// columns[i] = jCol.columns[i].Name() +// } +// return columns +// } +// +// func (jCol *JSONObject) rows() int { +// return jCol.Rows() +// } +// +// func (jCol *JSONObject) appendEmptyValue() error { +// for i := range jCol.columns { +// if err := jCol.columns[i].appendEmptyValue(); err != nil { +// return err +// } +// } +// return nil +// } +// +// func (jCol *JSONObject) insertEmptyColumn(name string) error { +// for i := range jCol.columns { +// if jCol.columns[i].Name() == name { +// if err := jCol.columns[i].appendEmptyValue(); err != nil { +// return err +// } +// return nil +// } +// } +// return &Error{ +// ColumnType: "unknown", +// Err: fmt.Errorf("column %s is missing - empty value cannot be appended", name), +// } +// } +// +// func (jCol *JSONObject) upsertValue(name string, ct string) (*JSONValue, error) { +// for i := range jCol.columns { +// sCol := jCol.columns[i] +// if sCol.Name() == name { +// vCol, ok := jCol.columns[i].(*JSONValue) +// if !ok { +// sType := jCol.columns[i].Type() +// return nil, &Error{ +// ColumnType: fmt.Sprint(sType), +// Err: fmt.Errorf("type mismatch in column %s, expected value got %s", name, sType), +// } +// } +// if vCol.Interface.Type() != Type(ct) { +// return nil, &Error{ +// ColumnType: ct, +// Err: fmt.Errorf("type mismatch in column %s, expected %s got %s", name, vCol.Interface.Type(), ct), +// } +// } +// return vCol, nil +// } +// } +// col, err := Type(ct).Column(name, jCol.sc) +// if err != nil { +// return nil, err +// } +// vCol := &JSONValue{ +// Interface: col, +// } +// jCol.columns = append(jCol.columns, vCol) +// return vCol, nil +// } +// +// func (jCol *JSONObject) upsertList(name string) (*JSONList, error) { +// for i := range jCol.columns { +// sCol := jCol.columns[i] +// if sCol.Name() == name { +// sCol, ok := jCol.columns[i].(*JSONList) +// if !ok { +// sType := jCol.columns[i].Type() +// return nil, &Error{ +// ColumnType: fmt.Sprint(sType), +// Err: fmt.Errorf("type mismatch in column %s, expected list got %s", name, sType), +// } +// } +// return sCol, nil +// } +// } +// lCol := createJSONList(name, jCol.sc) +// jCol.columns = append(jCol.columns, lCol) +// return lCol, nil +// } +// +// func (jCol *JSONObject) upsertObject(name string) (*JSONObject, error) { +// // check if it exists +// for i := range jCol.columns { +// sCol := jCol.columns[i] +// if sCol.Name() == name { +// sCol, ok := jCol.columns[i].(*JSONObject) +// if !ok { +// sType := jCol.columns[i].Type() +// return nil, &Error{ +// ColumnType: fmt.Sprint(sType), +// Err: fmt.Errorf("type mismatch in column %s, expected object got %s", name, sType), +// } +// } +// return sCol, nil +// } +// } +// // not present so create +// oCol := &JSONObject{ +// name: name, +// sc: jCol.sc, +// } +// jCol.columns = append(jCol.columns, oCol) +// return oCol, nil +// } +// +// func (jCol *JSONObject) Type() Type { +// if jCol.root { +// return "Object('json')" +// } +// return jCol.FullType() +// } +// +// func (jCol *JSONObject) FullType() Type { +// subTypes := make([]string, len(jCol.columns)) +// for i, v := range jCol.columns { +// subTypes[i] = string(v.Type()) +// } +// if jCol.root { +// return Type(fmt.Sprintf("Tuple(%s)", strings.Join(subTypes, ", "))) +// } +// return Type(fmt.Sprintf("%s Tuple(%s)", jCol.name, strings.Join(subTypes, ", "))) +// } +// +// func (jCol *JSONObject) ScanType() reflect.Type { +// return scanTypeMap +// } +// +// func (jCol *JSONObject) Rows() int { +// if len(jCol.columns) != 0 { +// return jCol.columns[0].Rows() +// } +// return 0 +// } +// +// // ClickHouse returns JSON as a tuple i.e. these will never be invoked +// +// func (jCol *JSONObject) Row(i int, ptr bool) any { +// panic("Not implemented") +// } +// +// func (jCol *JSONObject) ScanRow(dest any, row int) error { +// panic("Not implemented") +// } +// +// func (jCol *JSONObject) Append(v any) (nulls []uint8, err error) { +// jSlice := reflect.ValueOf(v) +// if jSlice.Kind() != reflect.Slice { +// return nil, &ColumnConverterError{ +// Op: "Append", +// To: string(jCol.Type()), +// From: fmt.Sprintf("slice of structs/map or strings required - received %T", v), +// } +// } +// for i := 0; i < jSlice.Len(); i++ { +// if err := jCol.AppendRow(jSlice.Index(i).Interface()); err != nil { +// return nil, err +// } +// } +// return nil, nil +// } +// +// func (jCol *JSONObject) AppendRow(v any) error { +// if reflect.ValueOf(v).Kind() == reflect.Struct || reflect.ValueOf(v).Kind() == reflect.Map { +// if jCol.columns != nil && jCol.encoding == 1 { +// return &Error{ +// ColumnType: fmt.Sprint(jCol.Type()), +// Err: fmt.Errorf("encoding of JSON columns cannot be mixed in a batch - %s cannot be added as previously String", reflect.ValueOf(v).Kind()), +// } +// } +// err := appendStructOrMap(jCol, v) +// return err +// } +// switch v := v.(type) { +// case string: +// if jCol.columns != nil && jCol.encoding == 0 { +// return &Error{ +// ColumnType: fmt.Sprint(jCol.Type()), +// Err: fmt.Errorf("encoding of JSON columns cannot be mixed in a batch - %s cannot be added as previously Struct/Map", reflect.ValueOf(v).Kind()), +// } +// } +// jCol.encoding = 1 +// if jCol.columns == nil { +// jCol.columns = append(jCol.columns, &JSONValue{Interface: &String{}}) +// } +// jCol.columns[0].AppendRow(v) +// default: +// return &ColumnConverterError{ +// Op: "AppendRow", +// To: "String", +// From: fmt.Sprintf("json row must be struct, map or string - received %T", v), +// } +// } +// return nil +// } +// +// func (jCol *JSONObject) Decode(reader *proto.Reader, rows int) error { +// panic("Not implemented") +// } +// +// func (jCol *JSONObject) Encode(buffer *proto.Buffer) { +// if jCol.root && jCol.encoding == 0 { +// buffer.PutString(string(jCol.FullType())) +// } +// for _, c := range jCol.columns { +// c.Encode(buffer) +// } +// } +// +// func (jCol *JSONObject) ReadStatePrefix(reader *proto.Reader) error { +// _, err := reader.UInt8() +// return err +// } +// +// func (jCol *JSONObject) WriteStatePrefix(buffer *proto.Buffer) error { +// buffer.PutUInt8(jCol.encoding) +// return nil +// } +// +// var ( +// _ Interface = (*JSONObject)(nil) +// _ CustomSerialization = (*JSONObject)(nil) +// ) diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/sharedvariant.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/sharedvariant.go index f2426e57eeece..4d05f34b62599 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/sharedvariant.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/sharedvariant.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/simple_aggregate_function.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/simple_aggregate_function.go index 96b1c4001aa93..3b8220cdd24d2 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/simple_aggregate_function.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/simple_aggregate_function.go @@ -1,26 +1,11 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( - "github.com/ClickHouse/ch-go/proto" + "fmt" "reflect" "strings" + + "github.com/ClickHouse/ch-go/proto" ) type SimpleAggregateFunction struct { @@ -76,4 +61,25 @@ func (col *SimpleAggregateFunction) Encode(buffer *proto.Buffer) { col.base.Encode(buffer) } +func (col *SimpleAggregateFunction) ReadStatePrefix(reader *proto.Reader) error { + if serialize, ok := col.base.(CustomSerialization); ok { + if err := serialize.ReadStatePrefix(reader); err != nil { + return fmt.Errorf("failed to read prefix for SimpleAggregateFunction base type %s: %w", col.base.Type(), err) + } + } + + return nil +} + +func (col *SimpleAggregateFunction) WriteStatePrefix(buffer *proto.Buffer) error { + if serialize, ok := col.base.(CustomSerialization); ok { + if err := serialize.WriteStatePrefix(buffer); err != nil { + return fmt.Errorf("failed to write prefix for SimpleAggregateFunction base type %s: %w", col.base.Type(), err) + } + } + + return nil +} + var _ Interface = (*SimpleAggregateFunction)(nil) +var _ CustomSerialization = (*SimpleAggregateFunction)(nil) diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/slice_helper.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/slice_helper.go index ae7a3c99c0b3b..b187a6249e89f 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/slice_helper.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/slice_helper.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column // difference returns the elements in `a` that aren't in `b`. diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/string.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/string.go index d5f246eee9d79..838138675d4fb 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/string.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/string.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/time.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/time.go new file mode 100644 index 0000000000000..1019342e48582 --- /dev/null +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/time.go @@ -0,0 +1,175 @@ +package column + +import ( + "database/sql" + "database/sql/driver" + "fmt" + "reflect" + "strings" + "time" + + "github.com/ClickHouse/ch-go/proto" +) + +type Time struct { + chType Type + name string + col proto.ColTime +} + +func (col *Time) Reset() { + col.col.Reset() +} + +func (col *Time) Name() string { + return col.name +} + +func (col *Time) Type() Type { + return col.chType +} + +func (col *Time) ScanType() reflect.Type { + return scanTypeTime +} + +func (col *Time) Rows() int { + return col.col.Rows() +} + +func (col *Time) Row(i int, ptr bool) any { + value := col.row(i) + if ptr { + return &value + } + return value +} + +// ScanRow implements column.Interface. +// It is used to read a single column value of the row and store in +// `dest` Go variable. +func (col *Time) ScanRow(dest any, row int) error { + switch d := dest.(type) { + case *time.Duration: + *d = col.row(row) + case **time.Duration: + *d = new(time.Duration) + **d = col.row(row) + default: + if scan, ok := dest.(sql.Scanner); ok { + return scan.Scan(col.row(row)) + } + return &ColumnConverterError{ + Op: "ScanRow", + To: fmt.Sprintf("%T", dest), + From: "Time", + } + } + return nil +} + +// Append implements column.Interface. +// It is used for columnar inserts. Insert multiple Go value for +// single ClickHouse Time type. +func (col *Time) Append(v any) (nulls []uint8, err error) { + switch v := v.(type) { + case []time.Duration: + nulls = make([]uint8, len(v)) // default all zeros, meaning no null values + for i := range v { + col.col.Append(proto.IntoTime32(v[i])) + } + case []*time.Duration: + nulls = make([]uint8, len(v)) + for i := range v { + switch { + case v[i] != nil: + col.col.Append(proto.IntoTime32(*v[i])) + default: + col.col.Append(proto.IntoTime32(time.Duration(0))) + nulls[i] = 1 + } + } + default: + if valuer, ok := v.(driver.Valuer); ok { + val, err := valuer.Value() + if err != nil { + return nil, &ColumnConverterError{ + Op: "Append", + To: "Time", + From: fmt.Sprintf("%T", v), + Hint: "could not get driver.Valuer value", + } + } + return col.Append(val) + } + return nil, &ColumnConverterError{ + Op: "Append", + To: "Time", + From: fmt.Sprintf("%T", v), + } + } + return +} + +// AppendRow implements column.Interface. +// It is used to insert column value in a row. +// Converts Go type into ClickHouse type to be inserted. +func (col *Time) AppendRow(v any) error { + switch v := v.(type) { + case time.Duration: + col.col.Append(proto.IntoTime32(v)) + case *time.Duration: + switch { + case v != nil: + col.col.Append(proto.IntoTime32(*v)) + default: + col.col.Append(proto.IntoTime32(time.Duration(0))) + } + default: + if valuer, ok := v.(driver.Valuer); ok { + val, err := valuer.Value() + if err != nil { + return &ColumnConverterError{ + Op: "AppendRow", + To: "Time", + From: fmt.Sprintf("%T", v), + Hint: "could not get driver.Valuer value", + } + } + return col.AppendRow(val) + } + return &ColumnConverterError{ + Op: "AppendRow", + To: "Time", + From: fmt.Sprintf("%T", v), + } + } + return nil +} + +func (col *Time) Decode(reader *proto.Reader, rows int) error { + return col.col.DecodeColumn(reader, rows) +} + +func (col *Time) Encode(buffer *proto.Buffer) { + col.col.EncodeColumn(buffer) +} + +func (col *Time) row(i int) time.Duration { + return col.col.Row(i).Duration() +} + +func (col *Time) parseTime(value string) (time.Duration, error) { + return parseDuration(value) +} + +// helpers + +func parseDuration(value string) (time.Duration, error) { + value = strings.TrimSpace(value) + if value == "" { + return time.Duration(0), nil + } + + return time.ParseDuration(value) +} diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/time64.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/time64.go new file mode 100644 index 0000000000000..d5fa238928445 --- /dev/null +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/time64.go @@ -0,0 +1,188 @@ +package column + +import ( + "database/sql" + "database/sql/driver" + "fmt" + "reflect" + "strconv" + "strings" + "time" + + "github.com/ClickHouse/ch-go/proto" +) + +type Time64 struct { + chType Type + name string + col proto.ColTime64 +} + +func (col *Time64) Reset() { + col.col.Reset() +} + +func (col *Time64) Name() string { + return col.name +} + +func (col *Time64) parse(t Type) (_ Interface, err error) { + col.chType = t + // if no precision is given say just Time64 (instead of Time64(3|6|9)) + // it is treated as 3 (milliseconds) + precision := int64(3) + + if strings.HasPrefix(string(t), "Time64(") { + params := strings.TrimSuffix(strings.TrimPrefix(string(t), "Time64("), ")") + precision, err = strconv.ParseInt(params, 10, 8) + if err != nil { + return nil, err + } + } + p := byte(precision) + col.col.WithPrecision(proto.Precision(p)) + return col, nil + +} + +func (col *Time64) Type() Type { + return col.chType +} + +func (col *Time64) ScanType() reflect.Type { + return scanTypeTime +} + +func (col *Time64) Precision() (int64, bool) { + return int64(col.col.Precision), col.col.PrecisionSet +} + +func (col *Time64) Rows() int { + return col.col.Rows() +} + +func (col *Time64) Row(i int, ptr bool) any { + value := col.row(i) + if ptr { + return &value + } + return value +} + +// ScanRow implements column.Interface. +// It is used to read a single column value of the row and store in +// `dest` Go variable. +func (col *Time64) ScanRow(dest any, row int) error { + switch d := dest.(type) { + case *time.Duration: + *d = col.row(row) + case **time.Duration: + *d = new(time.Duration) + **d = col.row(row) + default: + if scan, ok := dest.(sql.Scanner); ok { + return scan.Scan(col.row(row)) + } + return &ColumnConverterError{ + Op: "ScanRow", + To: fmt.Sprintf("%T", dest), + From: "Time64", + } + } + return nil +} + +// Append implements column.Interface. +// It is used for columnar inserts. Insert multiple Go value for +// single ClickHouse Time64 type. +func (col *Time64) Append(v any) (nulls []uint8, err error) { + switch v := v.(type) { + case []time.Duration: + nulls = make([]uint8, len(v)) // default all zeros, meaning no null values + for i := range v { + col.col.Append(proto.IntoTime64(v[i])) + } + case []*time.Duration: + nulls = make([]uint8, len(v)) + for i := range v { + switch { + case v[i] != nil: + col.col.Append(proto.IntoTime64(*v[i])) + default: + col.col.Append(proto.IntoTime64(time.Duration(0))) + nulls[i] = 1 + } + } + default: + if valuer, ok := v.(driver.Valuer); ok { + val, err := valuer.Value() + if err != nil { + return nil, &ColumnConverterError{ + Op: "Append", + To: "Time64", + From: fmt.Sprintf("%T", v), + Hint: "could not get driver.Valuer value", + } + } + return col.Append(val) + } + return nil, &ColumnConverterError{ + Op: "Append", + To: "Time64", + From: fmt.Sprintf("%T", v), + } + } + return +} + +// AppendRow implements column.Interface. +// It is used to insert column value in a row. +// Converts Go type into ClickHouse type to be inserted. +func (col *Time64) AppendRow(v any) error { + switch v := v.(type) { + case time.Duration: + col.col.Append(proto.IntoTime64(v)) + case *time.Duration: + switch { + case v != nil: + col.col.Append(proto.IntoTime64(*v)) + default: + col.col.Append(proto.IntoTime64(time.Duration(0))) + } + default: + if valuer, ok := v.(driver.Valuer); ok { + val, err := valuer.Value() + if err != nil { + return &ColumnConverterError{ + Op: "AppendRow", + To: "Time64", + From: fmt.Sprintf("%T", v), + Hint: "could not get driver.Valuer value", + } + } + return col.AppendRow(val) + } + return &ColumnConverterError{ + Op: "AppendRow", + To: "Time64", + From: fmt.Sprintf("%T", v), + } + } + return nil +} + +func (col *Time64) Decode(reader *proto.Reader, rows int) error { + return col.col.DecodeColumn(reader, rows) +} + +func (col *Time64) Encode(buffer *proto.Buffer) { + col.col.EncodeColumn(buffer) +} + +func (col *Time64) row(i int) time.Duration { + return col.col.Row(i).ToDurationWithPrecision(col.col.Precision) +} + +func (col *Time64) parseTime(value string) (time.Duration, error) { + return parseDuration(value) +} diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/time_helper.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/time_helper.go index f71b8f92e5df7..378828256e493 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/time_helper.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/time_helper.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import "time" diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/tuple.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/tuple.go index 951031cad6256..7f01d532a45a3 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/tuple.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/tuple.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( @@ -688,3 +671,33 @@ var ( _ Interface = (*Tuple)(nil) _ CustomSerialization = (*Tuple)(nil) ) + +func getStructFieldName(field reflect.StructField) (string, bool) { + name := field.Name + tag := field.Tag.Get("json") + // not a standard but we allow - to omit fields + if tag == "-" { + return name, true + } + if tag != "" { + // Some JSON tags contain omitempty after a comma but we don't want those in our field name. + return strings.Split(tag, ",")[0], false + } + // support ch tag as well as this is used elsewhere + tag = field.Tag.Get("ch") + if tag == "-" { + return name, true + } + if tag != "" { + return tag, false + } + return name, false +} + +// ensures numeric keys and ` are escaped properly +func getMapFieldName(name string) string { + if !escapeColRegex.MatchString(name) { + return fmt.Sprintf("`%s`", colEscape.Replace(name)) + } + return colEscape.Replace(name) +} diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/uuid.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/uuid.go index bf2a1c4897581..8dd8f23c3d99c 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/uuid.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/uuid.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/variant.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/variant.go index 253775395980c..e59d664dc1204 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/variant.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/column/variant.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package column import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/driver/driver.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/driver/driver.go index 354295f75e451..8ebf639fc7386 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/driver/driver.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/driver/driver.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package driver import ( @@ -57,6 +40,8 @@ type ( QueryRow(ctx context.Context, query string, args ...any) Row PrepareBatch(ctx context.Context, query string, opts ...PrepareBatchOption) (Batch, error) Exec(ctx context.Context, query string, args ...any) error + + // Deprecated: use context aware `WithAsync()` for any async operations AsyncInsert(ctx context.Context, query string, wait bool, args ...any) error Ping(context.Context) error Stats() Stats diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/block.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/block.go index fed30fc1811d5..da67468ef6bf2 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/block.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/block.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package proto import ( @@ -231,7 +214,7 @@ func (b *Block) Decode(reader *proto.Reader, revision uint64) (err error) { if hasCustom { return &BlockError{ Op: "Decode", - Err: errors.New(fmt.Sprintf("custom serialization for column %s. not supported by clickhouse-go driver", columnName)), + Err: fmt.Errorf("custom serialization for column %s. not supported by clickhouse-go driver", columnName), } } } diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/const.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/const.go index cae29e9a591da..f1f59189af037 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/const.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/const.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package proto // see https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Protocol.h diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/exception.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/exception.go index 2bcc99b4aec0c..90eb6550568de 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/exception.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/exception.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package proto import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/handshake.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/handshake.go index c91e9b304fdae..fd5c555254a0c 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/handshake.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/handshake.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package proto import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/profile_info.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/profile_info.go index 3f46d3dcbec21..22f7e3d81e88e 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/profile_info.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/profile_info.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package proto import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/progress.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/progress.go index 4bff94e628fd2..2cee0d8409fdd 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/progress.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/progress.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package proto import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/query.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/query.go index 330bd8a93234e..b6f0c44a2b067 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/query.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/query.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package proto import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/table_columns.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/table_columns.go index c39e660495657..2a8181203582f 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/table_columns.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/proto/table_columns.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package proto import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/timezone/timezone.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/timezone/timezone.go index 09eeffd0f45a1..11a84af410377 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/timezone/timezone.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/lib/timezone/timezone.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package timezone import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/query_parameters.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/query_parameters.go index 46857a3d491de..bb11b77d7ade2 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/query_parameters.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/query_parameters.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( @@ -26,9 +9,8 @@ import ( ) var ( - ErrExpectedStringValueInNamedValueForQueryParameter = errors.New("expected string value in NamedValue for query parameter") - ErrInvalidValueInNamedDateValue = errors.New("invalid value in NamedDateValue for query parameter") - ErrUnsupportedQueryParameter = errors.New("unsupported query parameter type") + ErrInvalidValueInNamedDateValue = errors.New("invalid value in NamedDateValue for query parameter") + ErrUnsupportedQueryParameter = errors.New("unsupported query parameter type") hasQueryParamsRe = regexp.MustCompile("{.+:.+}") ) @@ -52,7 +34,12 @@ func bindQueryOrAppendParameters(paramsProtocolSupport bool, options *QueryOptio options.parameters[p.Name] = str continue } - return "", ErrExpectedStringValueInNamedValueForQueryParameter + // using the same format logic for NamedValue typed value in function bindNamed + strVal, err := format(timezone, Seconds, p.Value) + if err != nil { + return "", err + } + options.parameters[p.Name] = strVal case driver.NamedDateValue: if !p.Value.IsZero() && p.Name != "" { diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/resources/meta.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/resources/meta.go index 98b188229a892..74d2454b8bf30 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/resources/meta.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/resources/meta.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package resources import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/scan.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/scan.go index 9808276483863..a4503ac5f7950 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/scan.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/scan.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/ClickHouse/clickhouse-go/v2/struct_map.go b/vendor/github.com/ClickHouse/clickhouse-go/v2/struct_map.go index c9ff567a6546b..298b29b94d1c1 100644 --- a/vendor/github.com/ClickHouse/clickhouse-go/v2/struct_map.go +++ b/vendor/github.com/ClickHouse/clickhouse-go/v2/struct_map.go @@ -1,20 +1,3 @@ -// Licensed to ClickHouse, Inc. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. ClickHouse, Inc. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - package clickhouse import ( diff --git a/vendor/github.com/awnumar/memguard/logo.svg b/vendor/github.com/awnumar/memguard/logo.svg index 03cdc2e5067cb..346bba3affa5a 100644 --- a/vendor/github.com/awnumar/memguard/logo.svg +++ b/vendor/github.com/awnumar/memguard/logo.svg @@ -1,2 +1,2 @@ - \ No newline at end of file diff --git a/vendor/github.com/dimchansky/utfbom/.travis.yml b/vendor/github.com/dimchansky/utfbom/.travis.yml index 77be8b3459c5b..19312ee35fc06 100644 --- a/vendor/github.com/dimchansky/utfbom/.travis.yml +++ b/vendor/github.com/dimchansky/utfbom/.travis.yml @@ -1,29 +1,29 @@ -language: go -sudo: false - -go: - - 1.10.x - - 1.11.x - - 1.12.x - - 1.13.x - - 1.14.x - - 1.15.x - -cache: - directories: - - $HOME/.cache/go-build - - $HOME/gopath/pkg/mod - -env: - global: - - GO111MODULE=on - -before_install: - - go get github.com/mattn/goveralls - - go get golang.org/x/tools/cmd/cover - - go get golang.org/x/tools/cmd/goimports - - go get golang.org/x/lint/golint -script: - - gofiles=$(find ./ -name '*.go') && [ -z "$gofiles" ] || unformatted=$(goimports -l $gofiles) && [ -z "$unformatted" ] || (echo >&2 "Go files must be formatted with gofmt. Following files has problem:\n $unformatted" && false) - - golint ./... # This won't break the build, just show warnings - - $HOME/gopath/bin/goveralls -service=travis-ci +language: go +sudo: false + +go: + - 1.10.x + - 1.11.x + - 1.12.x + - 1.13.x + - 1.14.x + - 1.15.x + +cache: + directories: + - $HOME/.cache/go-build + - $HOME/gopath/pkg/mod + +env: + global: + - GO111MODULE=on + +before_install: + - go get github.com/mattn/goveralls + - go get golang.org/x/tools/cmd/cover + - go get golang.org/x/tools/cmd/goimports + - go get golang.org/x/lint/golint +script: + - gofiles=$(find ./ -name '*.go') && [ -z "$gofiles" ] || unformatted=$(goimports -l $gofiles) && [ -z "$unformatted" ] || (echo >&2 "Go files must be formatted with gofmt. Following files has problem:\n $unformatted" && false) + - golint ./... # This won't break the build, just show warnings + - $HOME/gopath/bin/goveralls -service=travis-ci diff --git a/vendor/github.com/docker/docker/api/swagger.yaml b/vendor/github.com/docker/docker/api/swagger.yaml index 6ca2c2b0863f8..feb42e808adb9 100644 --- a/vendor/github.com/docker/docker/api/swagger.yaml +++ b/vendor/github.com/docker/docker/api/swagger.yaml @@ -2653,14 +2653,6 @@ definitions: description: | Unique ID of the build cache record. example: "ndlpt0hhvkqcdfkputsk4cq9c" - Parent: - description: | - ID of the parent build cache record. - - > **Deprecated**: This field is deprecated, and omitted if empty. - type: "string" - x-nullable: true - example: "" Parents: description: | List of parent build cache record IDs. diff --git a/vendor/github.com/go-logfmt/logfmt/README.md b/vendor/github.com/go-logfmt/logfmt/README.md index 9794502f58be7..71c57944e23f8 100644 --- a/vendor/github.com/go-logfmt/logfmt/README.md +++ b/vendor/github.com/go-logfmt/logfmt/README.md @@ -1,41 +1,41 @@ -# logfmt - -[![Go Reference](https://pkg.go.dev/badge/github.com/go-logfmt/logfmt.svg)](https://pkg.go.dev/github.com/go-logfmt/logfmt) -[![Go Report Card](https://goreportcard.com/badge/go-logfmt/logfmt)](https://goreportcard.com/report/go-logfmt/logfmt) -[![Github Actions](https://github.com/go-logfmt/logfmt/actions/workflows/test.yml/badge.svg)](https://github.com/go-logfmt/logfmt/actions/workflows/test.yml) -[![Coverage Status](https://coveralls.io/repos/github/go-logfmt/logfmt/badge.svg?branch=master)](https://coveralls.io/github/go-logfmt/logfmt?branch=main) - -Package logfmt implements utilities to marshal and unmarshal data in the [logfmt -format][fmt]. It provides an API similar to [encoding/json][json] and -[encoding/xml][xml]. - -[fmt]: https://brandur.org/logfmt -[json]: https://pkg.go.dev/encoding/json -[xml]: https://pkg.go.dev/encoding/xml - -The logfmt format was first documented by Brandur Leach in [this -article][origin]. The format has not been formally standardized. The most -authoritative public specification to date has been the documentation of a Go -Language [package][parser] written by Blake Mizerany and Keith Rarick. - -[origin]: https://brandur.org/logfmt -[parser]: https://pkg.go.dev/github.com/kr/logfmt - -## Goals - -This project attempts to conform as closely as possible to the prior art, while -also removing ambiguity where necessary to provide well behaved encoder and -decoder implementations. - -## Non-goals - -This project does not attempt to formally standardize the logfmt format. In the -event that logfmt is standardized this project would take conforming to the -standard as a goal. - -## Versioning - -This project publishes releases according to the Go language guidelines for -[developing and publishing modules][pub]. - -[pub]: https://go.dev/doc/modules/developing +# logfmt + +[![Go Reference](https://pkg.go.dev/badge/github.com/go-logfmt/logfmt.svg)](https://pkg.go.dev/github.com/go-logfmt/logfmt) +[![Go Report Card](https://goreportcard.com/badge/go-logfmt/logfmt)](https://goreportcard.com/report/go-logfmt/logfmt) +[![Github Actions](https://github.com/go-logfmt/logfmt/actions/workflows/test.yml/badge.svg)](https://github.com/go-logfmt/logfmt/actions/workflows/test.yml) +[![Coverage Status](https://coveralls.io/repos/github/go-logfmt/logfmt/badge.svg?branch=master)](https://coveralls.io/github/go-logfmt/logfmt?branch=main) + +Package logfmt implements utilities to marshal and unmarshal data in the [logfmt +format][fmt]. It provides an API similar to [encoding/json][json] and +[encoding/xml][xml]. + +[fmt]: https://brandur.org/logfmt +[json]: https://pkg.go.dev/encoding/json +[xml]: https://pkg.go.dev/encoding/xml + +The logfmt format was first documented by Brandur Leach in [this +article][origin]. The format has not been formally standardized. The most +authoritative public specification to date has been the documentation of a Go +Language [package][parser] written by Blake Mizerany and Keith Rarick. + +[origin]: https://brandur.org/logfmt +[parser]: https://pkg.go.dev/github.com/kr/logfmt + +## Goals + +This project attempts to conform as closely as possible to the prior art, while +also removing ambiguity where necessary to provide well behaved encoder and +decoder implementations. + +## Non-goals + +This project does not attempt to formally standardize the logfmt format. In the +event that logfmt is standardized this project would take conforming to the +standard as a goal. + +## Versioning + +This project publishes releases according to the Go language guidelines for +[developing and publishing modules][pub]. + +[pub]: https://go.dev/doc/modules/developing diff --git a/vendor/github.com/intel/iaevents/LICENSE b/vendor/github.com/intel/iaevents/LICENSE index 6f756351aae24..462333dfbfbb2 100644 --- a/vendor/github.com/intel/iaevents/LICENSE +++ b/vendor/github.com/intel/iaevents/LICENSE @@ -1,201 +1,201 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/intel/iaevents/LICENSE_OF_DEPENDENCIES.md b/vendor/github.com/intel/iaevents/LICENSE_OF_DEPENDENCIES.md index 313103b21f80f..5cd8b76b3c2af 100644 --- a/vendor/github.com/intel/iaevents/LICENSE_OF_DEPENDENCIES.md +++ b/vendor/github.com/intel/iaevents/LICENSE_OF_DEPENDENCIES.md @@ -1,11 +1,11 @@ -# Licenses of dependencies - -iaevents may contain portions of the following works: - -- github.com/davecgh/go-spew [ISC License](https://github.com/davecgh/go-spew/blob/master/LICENSE) -- github.com/kr/text [MIT License](https://github.com/kr/text/blob/main/License) -- github.com/niemeyer/pretty [MIT License](https://github.com/niemeyer/pretty/blob/master/License) -- github.com/stretchr/objx [MIT License](https://github.com/stretchr/objx/blob/master/LICENSE) -- github.com/stretchr/testify [MIT License](https://github.com/stretchr/testify/blob/master/LICENSE) -- golang.org/x/sys [BSD-3 License](https://pkg.go.dev/golang.org/x/sys?tab=licenses) -- gopkg.in/check.v1 [Simplified BSD License](https://github.com/go-check/check/blob/v1/LICENSE) +# Licenses of dependencies + +iaevents may contain portions of the following works: + +- github.com/davecgh/go-spew [ISC License](https://github.com/davecgh/go-spew/blob/master/LICENSE) +- github.com/kr/text [MIT License](https://github.com/kr/text/blob/main/License) +- github.com/niemeyer/pretty [MIT License](https://github.com/niemeyer/pretty/blob/master/License) +- github.com/stretchr/objx [MIT License](https://github.com/stretchr/objx/blob/master/LICENSE) +- github.com/stretchr/testify [MIT License](https://github.com/stretchr/testify/blob/master/LICENSE) +- golang.org/x/sys [BSD-3 License](https://pkg.go.dev/golang.org/x/sys?tab=licenses) +- gopkg.in/check.v1 [Simplified BSD License](https://github.com/go-check/check/blob/v1/LICENSE) diff --git a/vendor/github.com/klauspost/cpuid/v2/CONTRIBUTING.txt b/vendor/github.com/klauspost/cpuid/v2/CONTRIBUTING.txt index 452d28eda8eb8..2ef4714f7165b 100644 --- a/vendor/github.com/klauspost/cpuid/v2/CONTRIBUTING.txt +++ b/vendor/github.com/klauspost/cpuid/v2/CONTRIBUTING.txt @@ -1,35 +1,35 @@ -Developer Certificate of Origin -Version 1.1 - -Copyright (C) 2015- Klaus Post & Contributors. -Email: klauspost@gmail.com - -Everyone is permitted to copy and distribute verbatim copies of this -license document, but changing it is not allowed. - - -Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -(a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -(b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -(c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -(d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. +Developer Certificate of Origin +Version 1.1 + +Copyright (C) 2015- Klaus Post & Contributors. +Email: klauspost@gmail.com + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + + +Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +(a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +(b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + +(c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +(d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/LICENSE b/vendor/github.com/microsoft/ApplicationInsights-Go/LICENSE similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/LICENSE rename to vendor/github.com/microsoft/ApplicationInsights-Go/LICENSE diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/client.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/client.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/client.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/client.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/clock.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/clock.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/clock.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/clock.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/configuration.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/configuration.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/configuration.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/configuration.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/constants.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/constants.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/constants.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/constants.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/availabilitydata.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/availabilitydata.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/availabilitydata.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/availabilitydata.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/base.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/base.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/base.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/base.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/contexttagkeys.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/contexttagkeys.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/contexttagkeys.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/contexttagkeys.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/contexttags.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/contexttags.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/contexttags.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/contexttags.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/data.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/data.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/data.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/data.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/datapoint.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/datapoint.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/datapoint.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/datapoint.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/datapointtype.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/datapointtype.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/datapointtype.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/datapointtype.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/domain.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/domain.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/domain.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/domain.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/envelope.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/envelope.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/envelope.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/envelope.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/eventdata.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/eventdata.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/eventdata.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/eventdata.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/exceptiondata.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/exceptiondata.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/exceptiondata.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/exceptiondata.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/exceptiondetails.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/exceptiondetails.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/exceptiondetails.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/exceptiondetails.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/messagedata.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/messagedata.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/messagedata.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/messagedata.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/metricdata.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/metricdata.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/metricdata.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/metricdata.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/package.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/package.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/package.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/package.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/pageviewdata.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/pageviewdata.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/pageviewdata.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/pageviewdata.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/remotedependencydata.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/remotedependencydata.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/remotedependencydata.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/remotedependencydata.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/requestdata.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/requestdata.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/requestdata.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/requestdata.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/severitylevel.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/severitylevel.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/severitylevel.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/severitylevel.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/stackframe.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/stackframe.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/contracts/stackframe.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/contracts/stackframe.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/diagnostics.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/diagnostics.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/diagnostics.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/diagnostics.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/exception.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/exception.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/exception.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/exception.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/inmemorychannel.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/inmemorychannel.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/inmemorychannel.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/inmemorychannel.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/jsonserializer.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/jsonserializer.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/jsonserializer.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/jsonserializer.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/package.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/package.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/package.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/package.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/telemetry.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/telemetry.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/telemetry.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/telemetry.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/telemetrychannel.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/telemetrychannel.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/telemetrychannel.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/telemetrychannel.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/telemetrycontext.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/telemetrycontext.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/telemetrycontext.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/telemetrycontext.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/throttle.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/throttle.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/throttle.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/throttle.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/transmitter.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/transmitter.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/transmitter.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/transmitter.go diff --git a/vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/uuid.go b/vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/uuid.go similarity index 100% rename from vendor/github.com/Microsoft/ApplicationInsights-Go/appinsights/uuid.go rename to vendor/github.com/microsoft/ApplicationInsights-Go/appinsights/uuid.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/.gitignore b/vendor/github.com/microsoft/go-mssqldb/.gitignore similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/.gitignore rename to vendor/github.com/microsoft/go-mssqldb/.gitignore diff --git a/vendor/github.com/Microsoft/go-mssqldb/.golangci.yml b/vendor/github.com/microsoft/go-mssqldb/.golangci.yml similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/.golangci.yml rename to vendor/github.com/microsoft/go-mssqldb/.golangci.yml diff --git a/vendor/github.com/Microsoft/go-mssqldb/CHANGELOG.md b/vendor/github.com/microsoft/go-mssqldb/CHANGELOG.md similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/CHANGELOG.md rename to vendor/github.com/microsoft/go-mssqldb/CHANGELOG.md diff --git a/vendor/github.com/Microsoft/go-mssqldb/CONTRIBUTING.md b/vendor/github.com/microsoft/go-mssqldb/CONTRIBUTING.md similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/CONTRIBUTING.md rename to vendor/github.com/microsoft/go-mssqldb/CONTRIBUTING.md diff --git a/vendor/github.com/Microsoft/go-mssqldb/LICENSE.txt b/vendor/github.com/microsoft/go-mssqldb/LICENSE.txt similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/LICENSE.txt rename to vendor/github.com/microsoft/go-mssqldb/LICENSE.txt diff --git a/vendor/github.com/Microsoft/go-mssqldb/README.md b/vendor/github.com/microsoft/go-mssqldb/README.md similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/README.md rename to vendor/github.com/microsoft/go-mssqldb/README.md diff --git a/vendor/github.com/Microsoft/go-mssqldb/SECURITY.md b/vendor/github.com/microsoft/go-mssqldb/SECURITY.md similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/SECURITY.md rename to vendor/github.com/microsoft/go-mssqldb/SECURITY.md diff --git a/vendor/github.com/Microsoft/go-mssqldb/accesstokenconnector.go b/vendor/github.com/microsoft/go-mssqldb/accesstokenconnector.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/accesstokenconnector.go rename to vendor/github.com/microsoft/go-mssqldb/accesstokenconnector.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/aecmk/error.go b/vendor/github.com/microsoft/go-mssqldb/aecmk/error.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/aecmk/error.go rename to vendor/github.com/microsoft/go-mssqldb/aecmk/error.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/aecmk/keyprovider.go b/vendor/github.com/microsoft/go-mssqldb/aecmk/keyprovider.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/aecmk/keyprovider.go rename to vendor/github.com/microsoft/go-mssqldb/aecmk/keyprovider.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/appveyor.yml b/vendor/github.com/microsoft/go-mssqldb/appveyor.yml similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/appveyor.yml rename to vendor/github.com/microsoft/go-mssqldb/appveyor.yml diff --git a/vendor/github.com/Microsoft/go-mssqldb/auth_unix.go b/vendor/github.com/microsoft/go-mssqldb/auth_unix.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/auth_unix.go rename to vendor/github.com/microsoft/go-mssqldb/auth_unix.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/auth_windows.go b/vendor/github.com/microsoft/go-mssqldb/auth_windows.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/auth_windows.go rename to vendor/github.com/microsoft/go-mssqldb/auth_windows.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/buf.go b/vendor/github.com/microsoft/go-mssqldb/buf.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/buf.go rename to vendor/github.com/microsoft/go-mssqldb/buf.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/bulkcopy.go b/vendor/github.com/microsoft/go-mssqldb/bulkcopy.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/bulkcopy.go rename to vendor/github.com/microsoft/go-mssqldb/bulkcopy.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/bulkcopy_sql.go b/vendor/github.com/microsoft/go-mssqldb/bulkcopy_sql.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/bulkcopy_sql.go rename to vendor/github.com/microsoft/go-mssqldb/bulkcopy_sql.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/columnencryptionkey.go b/vendor/github.com/microsoft/go-mssqldb/columnencryptionkey.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/columnencryptionkey.go rename to vendor/github.com/microsoft/go-mssqldb/columnencryptionkey.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/convert.go b/vendor/github.com/microsoft/go-mssqldb/convert.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/convert.go rename to vendor/github.com/microsoft/go-mssqldb/convert.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/doc.go b/vendor/github.com/microsoft/go-mssqldb/doc.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/doc.go rename to vendor/github.com/microsoft/go-mssqldb/doc.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/encrypt.go b/vendor/github.com/microsoft/go-mssqldb/encrypt.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/encrypt.go rename to vendor/github.com/microsoft/go-mssqldb/encrypt.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/error.go b/vendor/github.com/microsoft/go-mssqldb/error.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/error.go rename to vendor/github.com/microsoft/go-mssqldb/error.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/fedauth.go b/vendor/github.com/microsoft/go-mssqldb/fedauth.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/fedauth.go rename to vendor/github.com/microsoft/go-mssqldb/fedauth.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/integratedauth/auth.go b/vendor/github.com/microsoft/go-mssqldb/integratedauth/auth.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/integratedauth/auth.go rename to vendor/github.com/microsoft/go-mssqldb/integratedauth/auth.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/integratedauth/integratedauthenticator.go b/vendor/github.com/microsoft/go-mssqldb/integratedauth/integratedauthenticator.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/integratedauth/integratedauthenticator.go rename to vendor/github.com/microsoft/go-mssqldb/integratedauth/integratedauthenticator.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/integratedauth/krb5/krb5.go b/vendor/github.com/microsoft/go-mssqldb/integratedauth/krb5/krb5.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/integratedauth/krb5/krb5.go rename to vendor/github.com/microsoft/go-mssqldb/integratedauth/krb5/krb5.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/integratedauth/ntlm/ntlm.go b/vendor/github.com/microsoft/go-mssqldb/integratedauth/ntlm/ntlm.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/integratedauth/ntlm/ntlm.go rename to vendor/github.com/microsoft/go-mssqldb/integratedauth/ntlm/ntlm.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/integratedauth/ntlm/provider.go b/vendor/github.com/microsoft/go-mssqldb/integratedauth/ntlm/provider.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/integratedauth/ntlm/provider.go rename to vendor/github.com/microsoft/go-mssqldb/integratedauth/ntlm/provider.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/integratedauth/winsspi/provider.go b/vendor/github.com/microsoft/go-mssqldb/integratedauth/winsspi/provider.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/integratedauth/winsspi/provider.go rename to vendor/github.com/microsoft/go-mssqldb/integratedauth/winsspi/provider.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/integratedauth/winsspi/winsspi.go b/vendor/github.com/microsoft/go-mssqldb/integratedauth/winsspi/winsspi.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/integratedauth/winsspi/winsspi.go rename to vendor/github.com/microsoft/go-mssqldb/integratedauth/winsspi/winsspi.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/charset.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/charset.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/charset.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/charset.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/collation.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/collation.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/collation.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/collation.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1250.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1250.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1250.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1250.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1251.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1251.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1251.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1251.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1252.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1252.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1252.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1252.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1253.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1253.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1253.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1253.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1254.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1254.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1254.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1254.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1255.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1255.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1255.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1255.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1256.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1256.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1256.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1256.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1257.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1257.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1257.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1257.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1258.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1258.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp1258.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp1258.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp437.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp437.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp437.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp437.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp850.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp850.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp850.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp850.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp874.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp874.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp874.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp874.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp932.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp932.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp932.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp932.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp936.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp936.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp936.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp936.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp949.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp949.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp949.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp949.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp950.go b/vendor/github.com/microsoft/go-mssqldb/internal/cp/cp950.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/cp/cp950.go rename to vendor/github.com/microsoft/go-mssqldb/internal/cp/cp950.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/decimal/decimal.go b/vendor/github.com/microsoft/go-mssqldb/internal/decimal/decimal.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/decimal/decimal.go rename to vendor/github.com/microsoft/go-mssqldb/internal/decimal/decimal.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/LICENSE.txt b/vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/LICENSE.txt similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/LICENSE.txt rename to vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/LICENSE.txt diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/algorithms/aead_aes_256_cbc_hmac_sha256.go b/vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/algorithms/aead_aes_256_cbc_hmac_sha256.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/algorithms/aead_aes_256_cbc_hmac_sha256.go rename to vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/algorithms/aead_aes_256_cbc_hmac_sha256.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/algorithms/algorithm.go b/vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/algorithms/algorithm.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/algorithms/algorithm.go rename to vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/algorithms/algorithm.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/crypto/aes_cbc_pkcs5.go b/vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/crypto/aes_cbc_pkcs5.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/crypto/aes_cbc_pkcs5.go rename to vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/crypto/aes_cbc_pkcs5.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/crypto/utils.go b/vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/crypto/utils.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/crypto/utils.go rename to vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/crypto/utils.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/encryption/type.go b/vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/encryption/type.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/encryption/type.go rename to vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/encryption/type.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/keys/aead_aes_256_cbc_hmac_256.go b/vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/keys/aead_aes_256_cbc_hmac_256.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/keys/aead_aes_256_cbc_hmac_256.go rename to vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/keys/aead_aes_256_cbc_hmac_256.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/keys/key.go b/vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/keys/key.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/keys/key.go rename to vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/keys/key.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/utils/utf16.go b/vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/utils/utf16.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/utils/utf16.go rename to vendor/github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/utils/utf16.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/internal/querytext/parser.go b/vendor/github.com/microsoft/go-mssqldb/internal/querytext/parser.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/internal/querytext/parser.go rename to vendor/github.com/microsoft/go-mssqldb/internal/querytext/parser.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/log.go b/vendor/github.com/microsoft/go-mssqldb/log.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/log.go rename to vendor/github.com/microsoft/go-mssqldb/log.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/msdsn/conn_str.go b/vendor/github.com/microsoft/go-mssqldb/msdsn/conn_str.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/msdsn/conn_str.go rename to vendor/github.com/microsoft/go-mssqldb/msdsn/conn_str.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/msdsn/conn_str_go112.go b/vendor/github.com/microsoft/go-mssqldb/msdsn/conn_str_go112.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/msdsn/conn_str_go112.go rename to vendor/github.com/microsoft/go-mssqldb/msdsn/conn_str_go112.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/msdsn/conn_str_go112pre.go b/vendor/github.com/microsoft/go-mssqldb/msdsn/conn_str_go112pre.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/msdsn/conn_str_go112pre.go rename to vendor/github.com/microsoft/go-mssqldb/msdsn/conn_str_go112pre.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/msdsn/conn_str_go115.go b/vendor/github.com/microsoft/go-mssqldb/msdsn/conn_str_go115.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/msdsn/conn_str_go115.go rename to vendor/github.com/microsoft/go-mssqldb/msdsn/conn_str_go115.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/msdsn/conn_str_go115pre.go b/vendor/github.com/microsoft/go-mssqldb/msdsn/conn_str_go115pre.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/msdsn/conn_str_go115pre.go rename to vendor/github.com/microsoft/go-mssqldb/msdsn/conn_str_go115pre.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/msdsn/conn_str_go118.go b/vendor/github.com/microsoft/go-mssqldb/msdsn/conn_str_go118.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/msdsn/conn_str_go118.go rename to vendor/github.com/microsoft/go-mssqldb/msdsn/conn_str_go118.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/msdsn/conn_str_go118pre.go b/vendor/github.com/microsoft/go-mssqldb/msdsn/conn_str_go118pre.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/msdsn/conn_str_go118pre.go rename to vendor/github.com/microsoft/go-mssqldb/msdsn/conn_str_go118pre.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/msdsn/extensions.go b/vendor/github.com/microsoft/go-mssqldb/msdsn/extensions.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/msdsn/extensions.go rename to vendor/github.com/microsoft/go-mssqldb/msdsn/extensions.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/mssql.go b/vendor/github.com/microsoft/go-mssqldb/mssql.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/mssql.go rename to vendor/github.com/microsoft/go-mssqldb/mssql.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/mssql_go110.go b/vendor/github.com/microsoft/go-mssqldb/mssql_go110.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/mssql_go110.go rename to vendor/github.com/microsoft/go-mssqldb/mssql_go110.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/mssql_go110pre.go b/vendor/github.com/microsoft/go-mssqldb/mssql_go110pre.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/mssql_go110pre.go rename to vendor/github.com/microsoft/go-mssqldb/mssql_go110pre.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/mssql_go118.go b/vendor/github.com/microsoft/go-mssqldb/mssql_go118.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/mssql_go118.go rename to vendor/github.com/microsoft/go-mssqldb/mssql_go118.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/mssql_go118pre.go b/vendor/github.com/microsoft/go-mssqldb/mssql_go118pre.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/mssql_go118pre.go rename to vendor/github.com/microsoft/go-mssqldb/mssql_go118pre.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/mssql_go19.go b/vendor/github.com/microsoft/go-mssqldb/mssql_go19.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/mssql_go19.go rename to vendor/github.com/microsoft/go-mssqldb/mssql_go19.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/mssql_go19pre.go b/vendor/github.com/microsoft/go-mssqldb/mssql_go19pre.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/mssql_go19pre.go rename to vendor/github.com/microsoft/go-mssqldb/mssql_go19pre.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/net.go b/vendor/github.com/microsoft/go-mssqldb/net.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/net.go rename to vendor/github.com/microsoft/go-mssqldb/net.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/protocol.go b/vendor/github.com/microsoft/go-mssqldb/protocol.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/protocol.go rename to vendor/github.com/microsoft/go-mssqldb/protocol.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/protocol_go113.go b/vendor/github.com/microsoft/go-mssqldb/protocol_go113.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/protocol_go113.go rename to vendor/github.com/microsoft/go-mssqldb/protocol_go113.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/protocol_go113pre.go b/vendor/github.com/microsoft/go-mssqldb/protocol_go113pre.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/protocol_go113pre.go rename to vendor/github.com/microsoft/go-mssqldb/protocol_go113pre.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/quoter.go b/vendor/github.com/microsoft/go-mssqldb/quoter.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/quoter.go rename to vendor/github.com/microsoft/go-mssqldb/quoter.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/rpc.go b/vendor/github.com/microsoft/go-mssqldb/rpc.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/rpc.go rename to vendor/github.com/microsoft/go-mssqldb/rpc.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/session.go b/vendor/github.com/microsoft/go-mssqldb/session.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/session.go rename to vendor/github.com/microsoft/go-mssqldb/session.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/tds.go b/vendor/github.com/microsoft/go-mssqldb/tds.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/tds.go rename to vendor/github.com/microsoft/go-mssqldb/tds.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/timezone.go b/vendor/github.com/microsoft/go-mssqldb/timezone.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/timezone.go rename to vendor/github.com/microsoft/go-mssqldb/timezone.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/token.go b/vendor/github.com/microsoft/go-mssqldb/token.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/token.go rename to vendor/github.com/microsoft/go-mssqldb/token.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/token_string.go b/vendor/github.com/microsoft/go-mssqldb/token_string.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/token_string.go rename to vendor/github.com/microsoft/go-mssqldb/token_string.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/tran.go b/vendor/github.com/microsoft/go-mssqldb/tran.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/tran.go rename to vendor/github.com/microsoft/go-mssqldb/tran.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/tvp_go19.go b/vendor/github.com/microsoft/go-mssqldb/tvp_go19.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/tvp_go19.go rename to vendor/github.com/microsoft/go-mssqldb/tvp_go19.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/types.go b/vendor/github.com/microsoft/go-mssqldb/types.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/types.go rename to vendor/github.com/microsoft/go-mssqldb/types.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/ucs22str.go b/vendor/github.com/microsoft/go-mssqldb/ucs22str.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/ucs22str.go rename to vendor/github.com/microsoft/go-mssqldb/ucs22str.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/ucs22str_32bit.go b/vendor/github.com/microsoft/go-mssqldb/ucs22str_32bit.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/ucs22str_32bit.go rename to vendor/github.com/microsoft/go-mssqldb/ucs22str_32bit.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/uniqueidentifier.go b/vendor/github.com/microsoft/go-mssqldb/uniqueidentifier.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/uniqueidentifier.go rename to vendor/github.com/microsoft/go-mssqldb/uniqueidentifier.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/uniqueidentifier_null.go b/vendor/github.com/microsoft/go-mssqldb/uniqueidentifier_null.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/uniqueidentifier_null.go rename to vendor/github.com/microsoft/go-mssqldb/uniqueidentifier_null.go diff --git a/vendor/github.com/Microsoft/go-mssqldb/version.go b/vendor/github.com/microsoft/go-mssqldb/version.go similarity index 100% rename from vendor/github.com/Microsoft/go-mssqldb/version.go rename to vendor/github.com/microsoft/go-mssqldb/version.go diff --git a/vendor/github.com/paulmach/orb/CHANGELOG.md b/vendor/github.com/paulmach/orb/CHANGELOG.md index 1783940b18e9f..84295417f435c 100644 --- a/vendor/github.com/paulmach/orb/CHANGELOG.md +++ b/vendor/github.com/paulmach/orb/CHANGELOG.md @@ -2,11 +2,24 @@ All notable changes to this project will be documented in this file. +## [v0.12.0](https://github.com/paulmach/orb/compare/v0.11.1...v0.12.0) - 2025-09-17 + +### Fixed + +- Fix typos by [@NathanBaulch](https://github.com/NathanBaulch) in https://github.com/paulmach/orb/pull/157 +- Fix panic on reverse of empty linestrings by [@jo-me](https://github.com/jo-me) in https://github.com/paulmach/orb/pull/163 +- fix: return precisely 0.0 from mercator.ToGeo on arm64 by [@davidjb](https://github.com/davidjb) in https://github.com/paulmach/orb/pull/165 + +### Added + +- geojson: handle extra/foreign members in feature by [@paulmach](https://github.com/paulmach) in https://github.com/paulmach/orb/pull/164 +- encoding/mvt: Support for Marshalling to Proto Objects by [@kevinkreiser](https://github.com/kevinkreiser) in https://github.com/paulmach/orb/pull/154 + ## [v0.11.1](https://github.com/paulmach/orb/compare/v0.11.0...v0.11.1) - 2024-01-29 ### Fixed -- geojson: `null` json into non-pointer Feature/FeatureCollection will set them to empty by [@paulmach](https://github.com/paulmach)in https://github.com/paulmach/orb/pull/145 +- geojson: `null` json into non-pointer Feature/FeatureCollection will set them to empty by [@paulmach](https://github.com/paulmach) in https://github.com/paulmach/orb/pull/145 ## [v0.11.0](https://github.com/paulmach/orb/compare/v0.10.0...v0.11.0) - 2024-01-11 @@ -73,7 +86,7 @@ This tag is broken, please use v0.7.1 instead. ### Breaking Changes -- tilecover now returns an error (vs. panicing) on non-closed 2d geometry by [@paulmach](https://github.com/paulmach) in https://github.com/paulmach/orb/pull/87 +- tilecover now returns an error (vs. panicking) on non-closed 2d geometry by [@paulmach](https://github.com/paulmach) in https://github.com/paulmach/orb/pull/87 This changes the signature of many of the methods in the [maptile/tilecover](https://github.com/paulmach/orb/tree/master/maptile/tilecover) package. To emulate the old behavior replace: diff --git a/vendor/github.com/paulmach/orb/README.md b/vendor/github.com/paulmach/orb/README.md index 03fe46339fb9f..5c2e89e4e1c26 100644 --- a/vendor/github.com/paulmach/orb/README.md +++ b/vendor/github.com/paulmach/orb/README.md @@ -10,7 +10,7 @@ They each provide their own README with extra info. - **GeoJSON** - support as part of the [`geojson`](geojson) sub-package. - **Mapbox Vector Tile** - encoding and decoding as part of the [`encoding/mvt`](encoding/mvt) sub-package. - **Direct to type from DB query results** - by scanning WKB data directly into types. -- **Rich set of sub-packages** - including [`clipping`](clip), [`simplifing`](simplify), [`quadtree`](quadtree) and more. +- **Rich set of sub-packages** - including [`clipping`](clip), [`simplifying`](simplify), [`quadtree`](quadtree) and more. ## Type definitions @@ -142,7 +142,7 @@ layers.RemoveEmpty(1.0, 2.0) // encoding using the Mapbox Vector Tile protobuf encoding. data, err := mvt.Marshal(layers) // this data is NOT gzipped. -// Sometimes MVT data is stored and transfered gzip compressed. In that case: +// Sometimes MVT data is stored and transferred gzip compressed. In that case: data, err := mvt.MarshalGzipped(layers) ``` diff --git a/vendor/github.com/paulmach/orb/bound.go b/vendor/github.com/paulmach/orb/bound.go index a0726d64e84b2..9c545ae5b5b15 100644 --- a/vendor/github.com/paulmach/orb/bound.go +++ b/vendor/github.com/paulmach/orb/bound.go @@ -156,12 +156,12 @@ func (b Bound) IsEmpty() bool { return b.Min[0] > b.Max[0] || b.Min[1] > b.Max[1] } -// IsZero return true if the bound just includes just null island. +// IsZero return true if the bound includes just null island. func (b Bound) IsZero() bool { return b.Max == Point{} && b.Min == Point{} } -// Bound returns the the same bound. +// Bound returns the same bound. func (b Bound) Bound() Bound { return b } diff --git a/vendor/github.com/paulmach/orb/equal.go b/vendor/github.com/paulmach/orb/equal.go index 7cc87dd5ebb3c..39269b47697bc 100644 --- a/vendor/github.com/paulmach/orb/equal.go +++ b/vendor/github.com/paulmach/orb/equal.go @@ -4,7 +4,7 @@ import ( "fmt" ) -// Equal returns if the two geometrires are equal. +// Equal returns if the two geometries are equal. func Equal(g1, g2 Geometry) bool { if g1 == nil || g2 == nil { return g1 == g2 diff --git a/vendor/github.com/paulmach/orb/line_string.go b/vendor/github.com/paulmach/orb/line_string.go index 6f4893928a580..bebe27113f3ed 100644 --- a/vendor/github.com/paulmach/orb/line_string.go +++ b/vendor/github.com/paulmach/orb/line_string.go @@ -17,6 +17,11 @@ func (ls LineString) Dimensions() int { // This is done inplace, ie. it modifies the original data. func (ls LineString) Reverse() { l := len(ls) - 1 + + if l < 1 { + return + } + for i := 0; i <= l/2; i++ { ls[i], ls[l-i] = ls[l-i], ls[i] } diff --git a/vendor/github.com/paulmach/orb/multi_point.go b/vendor/github.com/paulmach/orb/multi_point.go index cee955c1a21a3..620dbb48248a0 100644 --- a/vendor/github.com/paulmach/orb/multi_point.go +++ b/vendor/github.com/paulmach/orb/multi_point.go @@ -1,6 +1,6 @@ package orb -// A MultiPoint represents a set of points in the 2D Eucledian or Cartesian plane. +// A MultiPoint represents a set of points in the 2D Euclidean or Cartesian plane. type MultiPoint []Point // GeoJSONType returns the GeoJSON type for the object. diff --git a/vendor/github.com/paulmach/orb/ring.go b/vendor/github.com/paulmach/orb/ring.go index 5fe88aca26759..76c4425a2b79a 100644 --- a/vendor/github.com/paulmach/orb/ring.go +++ b/vendor/github.com/paulmach/orb/ring.go @@ -31,7 +31,7 @@ func (r Ring) Bound() Bound { return MultiPoint(r).Bound() } -// Orientation returns 1 if the the ring is in couter-clockwise order, +// Orientation returns 1 if the ring is in counter-clockwise order, // return -1 if the ring is the clockwise order and 0 if the ring is // degenerate and had no area. func (r Ring) Orientation() Orientation { diff --git a/vendor/github.com/segmentio/asm/LICENSE b/vendor/github.com/segmentio/asm/LICENSE index 29e1ab6b05fce..5e93dab621202 100644 --- a/vendor/github.com/segmentio/asm/LICENSE +++ b/vendor/github.com/segmentio/asm/LICENSE @@ -1,21 +1,16 @@ -MIT License +MIT No Attribution -Copyright (c) 2021 Segment +Copyright 2023 Segment -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/testcontainers/testcontainers-go/.golangci.yml b/vendor/github.com/testcontainers/testcontainers-go/.golangci.yml index 8d668831def80..05ecd658ebd48 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/.golangci.yml +++ b/vendor/github.com/testcontainers/testcontainers-go/.golangci.yml @@ -12,10 +12,12 @@ linters: enable: - errorlint - gocritic + - govet - misspell - nakedret - nolintlint - perfsprint + - prealloc - revive - testifylint - thelper @@ -32,6 +34,11 @@ linters: comparison: true errorf: true errorf-multi: true + govet: + disable: + - fieldalignment + - shadow + enable-all: true revive: rules: - name: blank-imports @@ -85,5 +92,6 @@ output: formats: text: path: stdout - path-prefix: . +run: + relative-path-mode: gitroot version: "2" diff --git a/vendor/github.com/testcontainers/testcontainers-go/AI.md b/vendor/github.com/testcontainers/testcontainers-go/AI.md new file mode 100644 index 0000000000000..9d1e91d3213f3 --- /dev/null +++ b/vendor/github.com/testcontainers/testcontainers-go/AI.md @@ -0,0 +1,229 @@ +# AI Coding Agent Guidelines + +This document provides guidelines for AI coding agents working on the Testcontainers for Go repository. + +## Repository Overview + +This is a **Go monorepo** containing: +- **Core library**: Root directory contains the main testcontainers-go library +- **Modules**: `./modules/` directory with 50+ technology-specific modules (postgres, redis, kafka, etc.) +- **Examples**: `./examples/` directory with example implementations +- **Module generator**: `./modulegen/` directory with tools to generate new modules +- **Documentation**: `./docs/` directory with MkDocs-based documentation + +## Environment Setup + +### Go Version +- **Required**: Go 1.24.7 +- **Tool**: Use [gvm](https://github.com/andrewkroh/gvm) for version management +- **CRITICAL**: Always run this before ANY Go command: + ```bash + # For Apple Silicon (M1/M2/M3) + eval "$(gvm 1.24.7 --arch=arm64)" + + # For Intel/AMD (x86_64) + eval "$(gvm 1.24.7 --arch=amd64)" + ``` + +### Project Structure +Each module in `./modules/` is a separate Go module with: +- `go.mod` / `go.sum` - Module dependencies +- `{module}.go` - Main module implementation +- `{module}_test.go` - Unit tests +- `examples_test.go` - Testable examples for documentation +- `Makefile` - Standard targets: `pre-commit`, `test-unit` + +## Development Workflow + +### Before Making Changes +1. **Read existing code** in similar modules for patterns +2. **Check documentation** in `docs/modules/index.md` for best practices +3. **Run tests** to ensure baseline passes + +### Working with Modules +1. **Change to module directory**: `cd modules/{module-name}` +2. **Run pre-commit checks**: `make pre-commit` (linting, formatting, tidy) +3. **Run tests**: `make test-unit` +4. **Both together**: `make pre-commit test-unit` + +### Git Workflow +- **Branch naming**: Use descriptive names like `chore-module-use-run`, `feat-add-xyz`, `fix-module-issue` + - **NEVER** use `main` branch for PRs (they will be auto-closed) +- **Commit format**: Conventional commits (enforced by CI) + ```text + type(scope): description + + Longer explanation if needed. + + 🤖 Generated with [Claude Code](https://claude.com/claude-code) + + Co-Authored-By: Claude + ``` +- **Commit types** (enforced): `security`, `fix`, `feat`, `docs`, `chore`, `deps` +- **Scope rules**: + - Optional (can be omitted for repo-level changes) + - Must be lowercase (uppercase scopes are rejected) + - Examples: `feat(redis)`, `chore(kafka)`, `docs`, `fix(postgres)` +- **Subject rules**: + - Must NOT start with uppercase letter + - ✅ Good: `feat(redis): add support for clustering` + - ❌ Bad: `feat(redis): Add support for clustering` +- **Breaking changes**: Add `!` after type: `feat(redis)!: remove deprecated API` +- **Always include co-author footer** when AI assists with changes + +### Pull Requests +- **Title format**: Same as commit format (validated by CI) + - `type(scope): description` + - Examples: `feat(redis): add clustering support`, `docs: improve module guide`, `chore(kafka): update tests` +- **Title validation** enforced by `.github/workflows/conventions.yml` +- **Labels**: Use appropriate labels (`chore`, `breaking change`, `documentation`, etc.) +- **Body template**: + ```markdown + ## What does this PR do? + + Brief description of changes. + + ## Why is it important? + + Context and rationale. + + ## Related issues + + - Relates to #issue-number + ``` + +## Module Development Best Practices + +**📖 Detailed guide**: See [`docs/modules/index.md`](docs/modules/index.md) for comprehensive module development documentation. + +### Quick Reference + +#### Container Struct +- **Name**: Use `Container`, not module-specific names like `PostgresContainer` +- **Fields**: Use private fields for state management +- **Embedding**: Always embed `testcontainers.Container` + +```go +type Container struct { + testcontainers.Container + dbName string // private + user string // private +} +``` + +#### Run Function Pattern +Five-step implementation: +1. Process custom options (if using intermediate settings) +2. Build `moduleOpts` with defaults +3. Add conditional options based on settings +4. Append user options (allows overrides) +5. Call `testcontainers.Run` and return with proper error wrapping + +```go +func Run(ctx context.Context, img string, opts ...testcontainers.ContainerCustomizer) (*Container, error) { + // See docs/modules/index.md for complete implementation + moduleOpts := []testcontainers.ContainerCustomizer{ + testcontainers.WithExposedPorts("5432/tcp"), + // ... defaults + } + moduleOpts = append(moduleOpts, opts...) + + ctr, err := testcontainers.Run(ctx, img, moduleOpts...) + if err != nil { + return nil, fmt.Errorf("run modulename: %w", err) + } + return &Container{Container: ctr}, nil +} +``` + +#### Container Options +- **Simple config**: Use built-in `testcontainers.With*` options +- **Complex logic**: Use `testcontainers.CustomizeRequestOption` +- **State transfer**: Create custom `Option` type + +**Critical rules:** +- ✅ Return struct types (not interfaces) +- ✅ Call built-in options directly: `testcontainers.WithFiles(f)(req)` +- ❌ Don't use `.Customize()` method +- ❌ Don't pass slices to variadic functions + +#### Common Patterns +- **Env inspection**: Use `strings.CutPrefix` with early exit +- **Variadic args**: Pass directly, not as slices +- **Option order**: defaults → user options → post-processing +- **Error format**: `fmt.Errorf("run modulename: %w", err)` + +**For complete examples and detailed explanations**, see [`docs/modules/index.md`](docs/modules/index.md). + +## Testing Guidelines + +### Running Tests +- **From module directory**: `cd modules/{module} && make test-unit` +- **Pre-commit checks**: `make pre-commit` (run this first to catch lint issues) +- **Full check**: `make pre-commit test-unit` + +### Test Patterns +- Use testable examples in `examples_test.go` +- Follow existing test patterns in similar modules +- Test both success and error cases +- Use `t.Parallel()` when tests are independent + +### When Tests Fail +1. **Read the error message carefully** - it usually tells you exactly what's wrong +2. **Check if it's a lint issue** - run `make pre-commit` first +3. **Verify Go version** - ensure using Go 1.24.7 +4. **Check Docker** - some tests require Docker daemon running + +## Common Pitfalls to Avoid + +### Code Issues +- ❌ Using interface types as return values +- ❌ Forgetting to run `eval "$(gvm 1.24.7 --arch=arm64)"` +- ❌ Not handling errors from built-in options +- ❌ Using module-specific container names (`PostgresContainer`) +- ❌ Calling `.Customize()` method instead of direct function call + +### Git Issues +- ❌ Forgetting co-author footer in commits +- ❌ Not running tests before committing +- ❌ Committing files outside module scope (use `git add modules/{module}/`) +- ❌ Using uppercase in scope: `feat(Redis)` → use `feat(redis)` +- ❌ Starting subject with uppercase: `fix: Add feature` → use `fix: add feature` +- ❌ Using wrong commit type (only: `security`, `fix`, `feat`, `docs`, `chore`, `deps`) +- ❌ Creating PR from `main` branch (will be auto-closed) + +### Testing Issues +- ❌ Running tests without pre-commit checks first +- ❌ Not changing to module directory before running make +- ❌ Forgetting to set Go version before testing + +## Reference Documentation + +For detailed information, see: +- **Module development**: `docs/modules/index.md` - Comprehensive best practices +- **Contributing**: `docs/contributing.md` - General contribution guidelines +- **Modules catalog**: [testcontainers.com/modules](https://testcontainers.com/modules/?language=go) +- **API docs**: [pkg.go.dev/github.com/testcontainers/testcontainers-go](https://pkg.go.dev/github.com/testcontainers/testcontainers-go) + +## Module Generator + +To create a new module: + +```bash +cd modulegen +go run . new module --name mymodule --image "docker.io/myimage:tag" +``` + +This generates: +- Module scaffolding with proper structure +- Documentation template +- Test files with examples +- Makefile with standard targets + +The generator uses templates in `modulegen/_template/` that follow current best practices. + +## Need Help? + +- **Slack**: [testcontainers.slack.com](https://slack.testcontainers.org/) +- **GitHub Discussions**: [github.com/testcontainers/testcontainers-go/discussions](https://github.com/testcontainers/testcontainers-go/discussions) +- **Issues**: Check existing issues or create a new one with detailed context diff --git a/vendor/github.com/testcontainers/testcontainers-go/Pipfile b/vendor/github.com/testcontainers/testcontainers-go/Pipfile index 1360edfe0d338..a19469138983c 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/Pipfile +++ b/vendor/github.com/testcontainers/testcontainers-go/Pipfile @@ -8,7 +8,7 @@ verify_ssl = true [packages] mkdocs = "==1.5.3" mkdocs-codeinclude-plugin = "==0.2.1" -mkdocs-include-markdown-plugin = "==7.1.7" +mkdocs-include-markdown-plugin = "==7.2.0" mkdocs-material = "==9.5.18" mkdocs-markdownextradata-plugin = "==0.2.6" diff --git a/vendor/github.com/testcontainers/testcontainers-go/Pipfile.lock b/vendor/github.com/testcontainers/testcontainers-go/Pipfile.lock index 8c17f7a29e2a9..9c8839c944a74 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/Pipfile.lock +++ b/vendor/github.com/testcontainers/testcontainers-go/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "85cf0b145b1bf3625db055f19d76b73094afa3aa1e7283b348a814c0a294d1ed" + "sha256": "361ac26693514418dce9f92cca60528d549bd0b3f4710374cf77dafd399ae232" }, "pipfile-spec": 6, "requires": { @@ -140,11 +140,11 @@ }, "click": { "hashes": [ - "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", - "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b" + "sha256:9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc", + "sha256:e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4" ], "markers": "python_version >= '3.10'", - "version": "==8.2.1" + "version": "==8.3.0" }, "colorama": { "hashes": [ @@ -195,70 +195,98 @@ }, "markupsafe": { "hashes": [ - "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", - "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", - "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", - "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", - "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", - "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", - "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", - "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", - "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", - "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", - "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", - "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", - "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", - "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", - "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", - "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", - "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", - "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", - "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", - "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", - "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", - "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", - "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", - "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", - "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", - "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", - "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", - "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", - "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", - "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", - "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", - "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", - "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", - "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", - "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", - "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", - "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", - "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", - "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", - "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", - "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", - "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", - "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", - "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", - "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", - "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", - "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", - "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", - "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", - "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", - "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", - "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", - "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", - "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", - "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", - "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", - "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", - "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", - "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", - "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", - "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50" + "sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f", + "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", + "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", + "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", + "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", + "sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c", + "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", + "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", + "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", + "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", + "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", + "sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26", + "sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1", + "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", + "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", + "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", + "sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695", + "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", + "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", + "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", + "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", + "sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa", + "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559", + "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", + "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", + "sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758", + "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", + "sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8", + "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", + "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", + "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", + "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", + "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", + "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", + "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", + "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", + "sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2", + "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", + "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", + "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", + "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", + "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", + "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", + "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", + "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", + "sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e", + "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", + "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", + "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", + "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", + "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", + "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", + "sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b", + "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", + "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", + "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", + "sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d", + "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", + "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", + "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", + "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", + "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", + "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", + "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", + "sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c", + "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", + "sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8", + "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", + "sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6", + "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", + "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", + "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", + "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", + "sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7", + "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419", + "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", + "sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1", + "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", + "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", + "sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42", + "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", + "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", + "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", + "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", + "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", + "sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591", + "sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc", + "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", + "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50" ], "markers": "python_version >= '3.9'", - "version": "==3.0.2" + "version": "==3.0.3" }, "mergedeep": { "hashes": [ @@ -288,12 +316,12 @@ }, "mkdocs-include-markdown-plugin": { "hashes": [ - "sha256:677637e04c2d3497c50340be522e2a7f614124f592c7982d88b859f88d527a4c", - "sha256:a0c13efe4f6b05a419c022e201055bf43145eed90de65f2353c33fb4005b6aa5" + "sha256:4a67a91ade680dc0e15f608e5b6343bec03372ffa112c40a4254c1bfb10f42f3", + "sha256:d56cdaeb2d113fb66ed0fe4fb7af1da889926b0b9872032be24e19bbb09c9f5b" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==7.1.7" + "version": "==7.2.0" }, "mkdocs-markdownextradata-plugin": { "hashes": [ @@ -345,11 +373,11 @@ }, "platformdirs": { "hashes": [ - "sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85", - "sha256:ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf" + "sha256:70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312", + "sha256:e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3" ], - "markers": "python_version >= '3.9'", - "version": "==4.4.0" + "markers": "python_version >= '3.10'", + "version": "==4.5.0" }, "pygments": { "hashes": [ @@ -385,62 +413,82 @@ }, "pyyaml": { "hashes": [ - "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", - "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", - "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", - "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", - "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", - "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", - "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", - "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", - "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", - "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", - "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", - "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", - "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", - "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", - "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", - "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", - "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", - "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", - "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", - "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", - "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", - "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", - "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", - "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", - "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", - "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", - "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", - "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", - "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", - "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", - "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", - "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", - "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", - "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", - "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", - "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", - "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", - "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", - "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", - "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", - "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", - "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", - "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", - "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", - "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", - "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", - "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", - "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", - "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", - "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", - "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", - "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", - "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4" + "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", + "sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a", + "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", + "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956", + "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", + "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", + "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", + "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", + "sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0", + "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b", + "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", + "sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6", + "sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7", + "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e", + "sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007", + "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", + "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", + "sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9", + "sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295", + "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", + "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0", + "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", + "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", + "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", + "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", + "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", + "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", + "sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b", + "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69", + "sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5", + "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", + "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", + "sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369", + "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", + "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", + "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198", + "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", + "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", + "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", + "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", + "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", + "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", + "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", + "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", + "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", + "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", + "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", + "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", + "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", + "sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4", + "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b", + "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", + "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", + "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", + "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8", + "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", + "sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da", + "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", + "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", + "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c", + "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", + "sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f", + "sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917", + "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", + "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", + "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", + "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", + "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", + "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", + "sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3", + "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", + "sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926", + "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0" ], "markers": "python_version >= '3.8'", - "version": "==6.0.2" + "version": "==6.0.3" }, "pyyaml-env-tag": { "hashes": [ diff --git a/vendor/github.com/testcontainers/testcontainers-go/docker.go b/vendor/github.com/testcontainers/testcontainers-go/docker.go index fbb7298f74c16..9a2421485bc68 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/docker.go +++ b/vendor/github.com/testcontainers/testcontainers-go/docker.go @@ -311,6 +311,10 @@ func (c *DockerContainer) Stop(ctx context.Context, timeout *time.Duration) erro // // Default: timeout is 10 seconds. func (c *DockerContainer) Terminate(ctx context.Context, opts ...TerminateOption) error { + if c == nil { + return nil + } + options := NewTerminateOptions(ctx, opts...) err := c.Stop(options.Context(), options.StopTimeout()) if err != nil && !isCleanupSafe(err) { @@ -493,6 +497,7 @@ func (c *DockerContainer) ContainerIP(ctx context.Context) (string, error) { return "", err } + //nolint:staticcheck // SA1019: IPAddress is deprecated, but we need it for compatibility until v29 ip := inspect.NetworkSettings.IPAddress if ip == "" { // use IP from "Networks" if only single network defined @@ -509,14 +514,13 @@ func (c *DockerContainer) ContainerIP(ctx context.Context) (string, error) { // ContainerIPs gets the IP addresses of all the networks within the container. func (c *DockerContainer) ContainerIPs(ctx context.Context) ([]string, error) { - ips := make([]string, 0) - inspect, err := c.Inspect(ctx) if err != nil { return nil, err } networks := inspect.NetworkSettings.Networks + ips := make([]string, 0, len(networks)) for _, nw := range networks { ips = append(ips, nw.IPAddress) } diff --git a/vendor/github.com/testcontainers/testcontainers-go/internal/core/images.go b/vendor/github.com/testcontainers/testcontainers-go/internal/core/images.go index f073a907f283a..e00160262f946 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/internal/core/images.go +++ b/vendor/github.com/testcontainers/testcontainers-go/internal/core/images.go @@ -39,7 +39,6 @@ func ExtractImagesFromDockerfile(dockerfile string, buildArgs map[string]*string // ExtractImagesFromReader extracts images from the Dockerfile sourced from r. func ExtractImagesFromReader(r io.Reader, buildArgs map[string]*string) ([]string, error) { - var images []string var lines []string scanner := bufio.NewScanner(r) for scanner.Scan() { @@ -49,6 +48,8 @@ func ExtractImagesFromReader(r io.Reader, buildArgs map[string]*string) ([]strin return nil, scanner.Err() } + images := make([]string, 0, len(lines)) + // extract images from dockerfile for _, line := range lines { line = strings.TrimSpace(line) diff --git a/vendor/github.com/testcontainers/testcontainers-go/internal/version.go b/vendor/github.com/testcontainers/testcontainers-go/internal/version.go index 5f51f3d0a6781..4251b85b902e2 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/internal/version.go +++ b/vendor/github.com/testcontainers/testcontainers-go/internal/version.go @@ -1,4 +1,4 @@ package internal // Version is the next development version of the application -const Version = "0.39.0" +const Version = "0.40.0" diff --git a/vendor/github.com/testcontainers/testcontainers-go/lifecycle.go b/vendor/github.com/testcontainers/testcontainers-go/lifecycle.go index 7887ebedc4e2d..7aedd54f568fc 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/lifecycle.go +++ b/vendor/github.com/testcontainers/testcontainers-go/lifecycle.go @@ -219,11 +219,16 @@ var defaultReadinessHook = func() ContainerLifecycleHooks { // if a Wait Strategy has been specified, wait before returning if dockerContainer.WaitingFor != nil { + strategy := dockerContainer.WaitingFor + strategyDesc := "unknown strategy" + if s, ok := strategy.(fmt.Stringer); ok { + strategyDesc = s.String() + } dockerContainer.logger.Printf( "⏳ Waiting for container id %s image: %s. Waiting for: %+v", - dockerContainer.ID[:12], dockerContainer.Image, dockerContainer.WaitingFor, + dockerContainer.ID[:12], dockerContainer.Image, strategyDesc, ) - if err := dockerContainer.WaitingFor.WaitUntilReady(ctx, c); err != nil { + if err := strategy.WaitUntilReady(ctx, dockerContainer); err != nil { return fmt.Errorf("wait until ready: %w", err) } } @@ -608,6 +613,18 @@ func mergePortBindings(configPortMap, exposedPortMap nat.PortMap, exposedPorts [ exposedPortMap[k] = v } } + + // Fix: Ensure that ports with empty HostPort get "0" for automatic allocation + // This fixes the UDP port binding issue where ports were getting HostPort:0 instead of being allocated + for k, v := range exposedPortMap { + for i := range v { + if v[i].HostPort == "" { + v[i].HostPort = "0" // Tell Docker to allocate a random port + } + } + exposedPortMap[k] = v + } + return exposedPortMap } diff --git a/vendor/github.com/testcontainers/testcontainers-go/mkdocs.yml b/vendor/github.com/testcontainers/testcontainers-go/mkdocs.yml index 8d6ee9f469a06..ac77b5b3bcf29 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/mkdocs.yml +++ b/vendor/github.com/testcontainers/testcontainers-go/mkdocs.yml @@ -153,4 +153,4 @@ nav: - Getting help: getting_help.md edit_uri: edit/main/docs/ extra: - latest_version: v0.39.0 + latest_version: v0.40.0 diff --git a/vendor/github.com/testcontainers/testcontainers-go/options.go b/vendor/github.com/testcontainers/testcontainers-go/options.go index a930c54104dc3..007eaa774e86a 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/options.go +++ b/vendor/github.com/testcontainers/testcontainers-go/options.go @@ -5,7 +5,7 @@ import ( "errors" "fmt" "maps" - "net/url" + "path" "time" "dario.cat/mergo" @@ -196,12 +196,7 @@ func (c CustomHubSubstitutor) Substitute(image string) (string, error) { } } - result, err := url.JoinPath(c.hub, image) - if err != nil { - return "", err - } - - return result, nil + return path.Join(c.hub, image), nil } // prependHubRegistry represents a way to prepend a custom Hub registry to the image name, @@ -244,12 +239,7 @@ func (p prependHubRegistry) Substitute(image string) (string, error) { } } - result, err := url.JoinPath(p.prefix, image) - if err != nil { - return "", err - } - - return result, nil + return path.Join(p.prefix, image), nil } // WithImageSubstitutors sets the image substitutors for a container diff --git a/vendor/github.com/testcontainers/testcontainers-go/port_forwarding.go b/vendor/github.com/testcontainers/testcontainers-go/port_forwarding.go index 107bd42d1b968..9d4ec10f9a6bb 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/port_forwarding.go +++ b/vendor/github.com/testcontainers/testcontainers-go/port_forwarding.go @@ -108,6 +108,7 @@ func exposeHostPorts(ctx context.Context, req *ContainerRequest, ports ...int) ( } // TODO: remove once we have docker context support via #2810 + //nolint:staticcheck // SA1019: IPAddress is deprecated, but we need it for compatibility until v29 sshdIP := inspect.NetworkSettings.IPAddress if sshdIP == "" { single := len(inspect.NetworkSettings.Networks) == 1 @@ -176,30 +177,22 @@ func exposeHostPorts(ctx context.Context, req *ContainerRequest, ports ...int) ( // newSshdContainer creates a new SSHD container with the provided options. func newSshdContainer(ctx context.Context, opts ...ContainerCustomizer) (*sshdContainer, error) { - req := GenericContainerRequest{ - ContainerRequest: ContainerRequest{ - Image: sshdImage, - ExposedPorts: []string{sshPort}, - Env: map[string]string{"PASSWORD": sshPassword}, - WaitingFor: wait.ForListeningPort(sshPort), - }, - Started: true, + moduleOpts := []ContainerCustomizer{ + WithExposedPorts(sshPort), + WithEnv(map[string]string{"PASSWORD": sshPassword}), + WithWaitStrategy(wait.ForListeningPort(sshPort)), } - for _, opt := range opts { - if err := opt.Customize(&req); err != nil { - return nil, err - } - } + moduleOpts = append(moduleOpts, opts...) - c, err := GenericContainer(ctx, req) + c, err := Run(ctx, sshdImage, moduleOpts...) var sshd *sshdContainer if c != nil { sshd = &sshdContainer{Container: c} } if err != nil { - return sshd, fmt.Errorf("generic container: %w", err) + return sshd, fmt.Errorf("run sshd container: %w", err) } if err = sshd.clientConfig(ctx); err != nil { diff --git a/vendor/github.com/testcontainers/testcontainers-go/requirements.txt b/vendor/github.com/testcontainers/testcontainers-go/requirements.txt index 19aa2e5b73490..861bf7492c839 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/requirements.txt +++ b/vendor/github.com/testcontainers/testcontainers-go/requirements.txt @@ -1,5 +1,5 @@ mkdocs==1.5.3 mkdocs-codeinclude-plugin==0.2.1 -mkdocs-include-markdown-plugin==7.1.6 +mkdocs-include-markdown-plugin==7.2.0 mkdocs-material==9.5.18 mkdocs-markdownextradata-plugin==0.2.6 diff --git a/vendor/github.com/testcontainers/testcontainers-go/wait/all.go b/vendor/github.com/testcontainers/testcontainers-go/wait/all.go index 9bf4cbe8b28c1..e65033073f530 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/wait/all.go +++ b/vendor/github.com/testcontainers/testcontainers-go/wait/all.go @@ -3,7 +3,9 @@ package wait import ( "context" "errors" + "fmt" "reflect" + "strings" "time" ) @@ -51,6 +53,29 @@ func (ms *MultiStrategy) Timeout() *time.Duration { return ms.timeout } +// String returns a human-readable description of the wait strategy. +func (ms *MultiStrategy) String() string { + if len(ms.Strategies) == 0 { + return "all of: (none)" + } + + var strategies []string + for _, strategy := range ms.Strategies { + if strategy == nil || reflect.ValueOf(strategy).IsNil() { + continue + } + if s, ok := strategy.(fmt.Stringer); ok { + strategies = append(strategies, s.String()) + } else { + strategies = append(strategies, fmt.Sprintf("%T", strategy)) + } + } + + // Always include "all of:" prefix to make it clear this is a MultiStrategy + // even when there's only one strategy after filtering out nils + return "all of: [" + strings.Join(strategies, ", ") + "]" +} + func (ms *MultiStrategy) WaitUntilReady(ctx context.Context, target StrategyTarget) error { var cancel context.CancelFunc if ms.deadline != nil { diff --git a/vendor/github.com/testcontainers/testcontainers-go/wait/exec.go b/vendor/github.com/testcontainers/testcontainers-go/wait/exec.go index 72987c31a426f..5338eb8a7d8dd 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/wait/exec.go +++ b/vendor/github.com/testcontainers/testcontainers-go/wait/exec.go @@ -2,6 +2,7 @@ package wait import ( "context" + "fmt" "io" "time" @@ -76,6 +77,22 @@ func (ws *ExecStrategy) Timeout() *time.Duration { return ws.timeout } +// String returns a human-readable description of the wait strategy. +func (ws *ExecStrategy) String() string { + if len(ws.cmd) == 0 { + return "exec command" + } + // Only show the command name and argument count to avoid exposing sensitive data + argCount := len(ws.cmd) - 1 + if argCount == 0 { + return fmt.Sprintf("exec command %q", ws.cmd[0]) + } + if argCount == 1 { + return fmt.Sprintf("exec command %q with 1 argument", ws.cmd[0]) + } + return fmt.Sprintf("exec command %q with %d arguments", ws.cmd[0], argCount) +} + func (ws *ExecStrategy) WaitUntilReady(ctx context.Context, target StrategyTarget) error { timeout := defaultStartupTimeout() if ws.timeout != nil { diff --git a/vendor/github.com/testcontainers/testcontainers-go/wait/exit.go b/vendor/github.com/testcontainers/testcontainers-go/wait/exit.go index 670c8e2ce1ca2..6daf4c3fafa06 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/wait/exit.go +++ b/vendor/github.com/testcontainers/testcontainers-go/wait/exit.go @@ -59,6 +59,11 @@ func (ws *ExitStrategy) Timeout() *time.Duration { return ws.timeout } +// String returns a human-readable description of the wait strategy. +func (ws *ExitStrategy) String() string { + return "container to exit" +} + // WaitUntilReady implements Strategy.WaitUntilReady func (ws *ExitStrategy) WaitUntilReady(ctx context.Context, target StrategyTarget) error { if ws.timeout != nil { diff --git a/vendor/github.com/testcontainers/testcontainers-go/wait/file.go b/vendor/github.com/testcontainers/testcontainers-go/wait/file.go index 4f6d38c7c126d..5926b66a95703 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/wait/file.go +++ b/vendor/github.com/testcontainers/testcontainers-go/wait/file.go @@ -61,6 +61,14 @@ func (ws *FileStrategy) Timeout() *time.Duration { return ws.timeout } +// String returns a human-readable description of the wait strategy. +func (ws *FileStrategy) String() string { + if ws.matcher != nil { + return fmt.Sprintf("file %q to exist and match condition", ws.file) + } + return fmt.Sprintf("file %q to exist", ws.file) +} + // WaitUntilReady waits until the file exists in the container and copies it to the target. func (ws *FileStrategy) WaitUntilReady(ctx context.Context, target StrategyTarget) error { timeout := defaultStartupTimeout() diff --git a/vendor/github.com/testcontainers/testcontainers-go/wait/health.go b/vendor/github.com/testcontainers/testcontainers-go/wait/health.go index 06a9ad1e48286..c2a273830ca45 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/wait/health.go +++ b/vendor/github.com/testcontainers/testcontainers-go/wait/health.go @@ -60,6 +60,11 @@ func (ws *HealthStrategy) Timeout() *time.Duration { return ws.timeout } +// String returns a human-readable description of the wait strategy. +func (ws *HealthStrategy) String() string { + return "container to become healthy" +} + // WaitUntilReady implements Strategy.WaitUntilReady func (ws *HealthStrategy) WaitUntilReady(ctx context.Context, target StrategyTarget) error { timeout := defaultStartupTimeout() diff --git a/vendor/github.com/testcontainers/testcontainers-go/wait/host_port.go b/vendor/github.com/testcontainers/testcontainers-go/wait/host_port.go index 8d97ccbb17b2e..706e348967d3e 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/wait/host_port.go +++ b/vendor/github.com/testcontainers/testcontainers-go/wait/host_port.go @@ -114,6 +114,28 @@ func (hp *HostPortStrategy) Timeout() *time.Duration { return hp.timeout } +// String returns a human-readable description of the wait strategy. +func (hp *HostPortStrategy) String() string { + port := "first exposed port" + if hp.Port != "" { + port = fmt.Sprintf("port %s", hp.Port) + } + + var checks string + switch { + case hp.skipInternalCheck && hp.skipExternalCheck: + checks = " to be mapped" + case hp.skipInternalCheck: + checks = " to be accessible externally" + case hp.skipExternalCheck: + checks = " to be listening internally" + default: + checks = " to be listening" + } + + return fmt.Sprintf("%s%s", port, checks) +} + // detectInternalPort returns the lowest internal port that is currently bound. // If no internal port is found, it returns the zero nat.Port value which // can be checked against an empty string. diff --git a/vendor/github.com/testcontainers/testcontainers-go/wait/http.go b/vendor/github.com/testcontainers/testcontainers-go/wait/http.go index 32dc8778b7292..81f4c34bbee9c 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/wait/http.go +++ b/vendor/github.com/testcontainers/testcontainers-go/wait/http.go @@ -154,6 +154,21 @@ func (ws *HTTPStrategy) Timeout() *time.Duration { return ws.timeout } +// String returns a human-readable description of the wait strategy. +func (ws *HTTPStrategy) String() string { + proto := "HTTP" + if ws.UseTLS { + proto = "HTTPS" + } + + port := "default" + if ws.Port != "" { + port = ws.Port.Port() + } + + return fmt.Sprintf("%s %s request on port %s path %q", proto, ws.Method, port, ws.Path) +} + // WaitUntilReady implements Strategy.WaitUntilReady func (ws *HTTPStrategy) WaitUntilReady(ctx context.Context, target StrategyTarget) error { timeout := defaultStartupTimeout() diff --git a/vendor/github.com/testcontainers/testcontainers-go/wait/log.go b/vendor/github.com/testcontainers/testcontainers-go/wait/log.go index 41c96e3eb9adf..11113dc92c81c 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/wait/log.go +++ b/vendor/github.com/testcontainers/testcontainers-go/wait/log.go @@ -123,6 +123,21 @@ func (ws *LogStrategy) Timeout() *time.Duration { return ws.timeout } +// String returns a human-readable description of the wait strategy. +func (ws *LogStrategy) String() string { + logType := "log message" + if ws.IsRegexp { + logType = "log pattern" + } + + occurrence := "" + if ws.Occurrence > 1 { + occurrence = fmt.Sprintf(" (occurrence: %d)", ws.Occurrence) + } + + return fmt.Sprintf("%s %q%s", logType, ws.Log, occurrence) +} + // WaitUntilReady implements Strategy.WaitUntilReady func (ws *LogStrategy) WaitUntilReady(ctx context.Context, target StrategyTarget) error { timeout := defaultStartupTimeout() diff --git a/vendor/github.com/testcontainers/testcontainers-go/wait/nop.go b/vendor/github.com/testcontainers/testcontainers-go/wait/nop.go index c47d83d18b0ea..633a97cc5ea39 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/wait/nop.go +++ b/vendor/github.com/testcontainers/testcontainers-go/wait/nop.go @@ -33,6 +33,11 @@ func (ws *NopStrategy) Timeout() *time.Duration { return ws.timeout } +// String returns a human-readable description of the wait strategy. +func (ws *NopStrategy) String() string { + return "custom wait condition" +} + func (ws *NopStrategy) WithStartupTimeout(timeout time.Duration) *NopStrategy { ws.timeout = &timeout return ws diff --git a/vendor/github.com/testcontainers/testcontainers-go/wait/sql.go b/vendor/github.com/testcontainers/testcontainers-go/wait/sql.go index 1d09edafe9903..c9a9dbad3a9ff 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/wait/sql.go +++ b/vendor/github.com/testcontainers/testcontainers-go/wait/sql.go @@ -61,6 +61,21 @@ func (w *waitForSQL) Timeout() *time.Duration { return w.timeout } +// String returns a human-readable description of the wait strategy. +func (w *waitForSQL) String() string { + port := "default" + if w.Port != "" { + port = w.Port.Port() + } + + query := "" + if w.query != defaultForSQLQuery { + query = fmt.Sprintf(" with query %q", w.query) + } + + return fmt.Sprintf("SQL database on port %s using driver %q%s", port, w.Driver, query) +} + // WaitUntilReady repeatedly tries to run "SELECT 1" or user defined query on the given port using sql and driver. // // If it doesn't succeed until the timeout value which defaults to 60 seconds, it will return an error. diff --git a/vendor/github.com/testcontainers/testcontainers-go/wait/tls.go b/vendor/github.com/testcontainers/testcontainers-go/wait/tls.go index ab904b271e579..617f559400a59 100644 --- a/vendor/github.com/testcontainers/testcontainers-go/wait/tls.go +++ b/vendor/github.com/testcontainers/testcontainers-go/wait/tls.go @@ -6,6 +6,7 @@ import ( "crypto/x509" "fmt" "io" + "strings" "time" ) @@ -99,6 +100,25 @@ func (ws *TLSStrategy) TLSConfig() *tls.Config { return ws.tlsConfig } +// String returns a human-readable description of the wait strategy. +func (ws *TLSStrategy) String() string { + var parts []string + + if len(ws.rootFiles) > 0 { + parts = append(parts, fmt.Sprintf("root CAs %v", ws.rootFiles)) + } + + if ws.certFiles != nil { + parts = append(parts, fmt.Sprintf("cert %q and key %q", ws.certFiles.certPEMFile, ws.certFiles.keyPEMFile)) + } + + if len(parts) == 0 { + return "TLS certificates" + } + + return strings.Join(parts, " and ") +} + // WaitUntilReady implements the [Strategy] interface. // It waits for the CA, client cert and key files to be available in the container and // uses them to setup the TLS config. diff --git a/vendor/golang.org/x/crypto/chacha20/chacha_arm64.s b/vendor/golang.org/x/crypto/chacha20/chacha_arm64.s index 7dd2638e88ada..769af387e2e5f 100644 --- a/vendor/golang.org/x/crypto/chacha20/chacha_arm64.s +++ b/vendor/golang.org/x/crypto/chacha20/chacha_arm64.s @@ -29,7 +29,7 @@ loop: MOVD $NUM_ROUNDS, R21 VLD1 (R11), [V30.S4, V31.S4] - // load contants + // load constants // VLD4R (R10), [V0.S4, V1.S4, V2.S4, V3.S4] WORD $0x4D60E940 diff --git a/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go index 50695a14f62d8..b850e772e1656 100644 --- a/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go +++ b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go @@ -56,7 +56,10 @@ func (c *chacha20poly1305) seal(dst, nonce, plaintext, additionalData []byte) [] ret, out := sliceForAppend(dst, len(plaintext)+16) if alias.InexactOverlap(out, plaintext) { - panic("chacha20poly1305: invalid buffer overlap") + panic("chacha20poly1305: invalid buffer overlap of output and input") + } + if alias.AnyOverlap(out, additionalData) { + panic("chacha20poly1305: invalid buffer overlap of output and additional data") } chacha20Poly1305Seal(out[:], state[:], plaintext, additionalData) return ret @@ -73,7 +76,10 @@ func (c *chacha20poly1305) open(dst, nonce, ciphertext, additionalData []byte) ( ciphertext = ciphertext[:len(ciphertext)-16] ret, out := sliceForAppend(dst, len(ciphertext)) if alias.InexactOverlap(out, ciphertext) { - panic("chacha20poly1305: invalid buffer overlap") + panic("chacha20poly1305: invalid buffer overlap of output and input") + } + if alias.AnyOverlap(out, additionalData) { + panic("chacha20poly1305: invalid buffer overlap of output and additional data") } if !chacha20Poly1305Open(out, state[:], ciphertext, additionalData) { for i := range out { diff --git a/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_generic.go b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_generic.go index 6313898f0a75d..2ecc840fca2c7 100644 --- a/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_generic.go +++ b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_generic.go @@ -31,7 +31,10 @@ func (c *chacha20poly1305) sealGeneric(dst, nonce, plaintext, additionalData []b ret, out := sliceForAppend(dst, len(plaintext)+poly1305.TagSize) ciphertext, tag := out[:len(plaintext)], out[len(plaintext):] if alias.InexactOverlap(out, plaintext) { - panic("chacha20poly1305: invalid buffer overlap") + panic("chacha20poly1305: invalid buffer overlap of output and input") + } + if alias.AnyOverlap(out, additionalData) { + panic("chacha20poly1305: invalid buffer overlap of output and additional data") } var polyKey [32]byte @@ -67,7 +70,10 @@ func (c *chacha20poly1305) openGeneric(dst, nonce, ciphertext, additionalData [] ret, out := sliceForAppend(dst, len(ciphertext)) if alias.InexactOverlap(out, ciphertext) { - panic("chacha20poly1305: invalid buffer overlap") + panic("chacha20poly1305: invalid buffer overlap of output and input") + } + if alias.AnyOverlap(out, additionalData) { + panic("chacha20poly1305: invalid buffer overlap of output and additional data") } if !p.Verify(tag) { for i := range out { diff --git a/vendor/golang.org/x/crypto/openpgp/s2k/s2k.go b/vendor/golang.org/x/crypto/openpgp/s2k/s2k.go index fa1a919079573..490cb633ce943 100644 --- a/vendor/golang.org/x/crypto/openpgp/s2k/s2k.go +++ b/vendor/golang.org/x/crypto/openpgp/s2k/s2k.go @@ -53,7 +53,7 @@ func (c *Config) hash() crypto.Hash { func (c *Config) encodedCount() uint8 { if c == nil || c.S2KCount == 0 { - return 96 // The common case. Correspoding to 65536 + return 96 // The common case. Corresponding to 65536 } i := c.S2KCount diff --git a/vendor/golang.org/x/crypto/ssh/agent/keyring.go b/vendor/golang.org/x/crypto/ssh/agent/keyring.go index c1b43610873f4..d12987551007d 100644 --- a/vendor/golang.org/x/crypto/ssh/agent/keyring.go +++ b/vendor/golang.org/x/crypto/ssh/agent/keyring.go @@ -112,7 +112,7 @@ func (r *keyring) Unlock(passphrase []byte) error { } // expireKeysLocked removes expired keys from the keyring. If a key was added -// with a lifetimesecs contraint and seconds >= lifetimesecs seconds have +// with a lifetimesecs constraint and seconds >= lifetimesecs seconds have // elapsed, it is removed. The caller *must* be holding the keyring mutex. func (r *keyring) expireKeysLocked() { for _, k := range r.keys { diff --git a/vendor/golang.org/x/crypto/ssh/messages.go b/vendor/golang.org/x/crypto/ssh/messages.go index 251b9d06a3242..ab22c3d38db84 100644 --- a/vendor/golang.org/x/crypto/ssh/messages.go +++ b/vendor/golang.org/x/crypto/ssh/messages.go @@ -792,7 +792,7 @@ func marshalString(to []byte, s []byte) []byte { return to[len(s):] } -var bigIntType = reflect.TypeOf((*big.Int)(nil)) +var bigIntType = reflect.TypeFor[*big.Int]() // Decode a packet into its corresponding message. func decode(packet []byte) (interface{}, error) { diff --git a/vendor/golang.org/x/net/context/context.go b/vendor/golang.org/x/net/context/context.go index d3cb951752038..24cea68820499 100644 --- a/vendor/golang.org/x/net/context/context.go +++ b/vendor/golang.org/x/net/context/context.go @@ -2,42 +2,9 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// Package context defines the Context type, which carries deadlines, -// cancellation signals, and other request-scoped values across API boundaries -// and between processes. -// As of Go 1.7 this package is available in the standard library under the -// name [context]. -// -// Incoming requests to a server should create a [Context], and outgoing -// calls to servers should accept a Context. The chain of function -// calls between them must propagate the Context, optionally replacing -// it with a derived Context created using [WithCancel], [WithDeadline], -// [WithTimeout], or [WithValue]. -// -// Programs that use Contexts should follow these rules to keep interfaces -// consistent across packages and enable static analysis tools to check context -// propagation: -// -// Do not store Contexts inside a struct type; instead, pass a Context -// explicitly to each function that needs it. This is discussed further in -// https://go.dev/blog/context-and-structs. The Context should be the first -// parameter, typically named ctx: -// -// func DoSomething(ctx context.Context, arg Arg) error { -// // ... use ctx ... -// } -// -// Do not pass a nil [Context], even if a function permits it. Pass [context.TODO] -// if you are unsure about which Context to use. -// -// Use context Values only for request-scoped data that transits processes and -// APIs, not for passing optional parameters to functions. -// -// The same Context may be passed to functions running in different goroutines; -// Contexts are safe for simultaneous use by multiple goroutines. +// Package context has been superseded by the standard library [context] package. // -// See https://go.dev/blog/context for example code for a server that uses -// Contexts. +// Deprecated: Use the standard library context package instead. package context import ( diff --git a/vendor/golang.org/x/net/http2/frame.go b/vendor/golang.org/x/net/http2/frame.go index 93bcaab03a4b3..9a4bd123c95e9 100644 --- a/vendor/golang.org/x/net/http2/frame.go +++ b/vendor/golang.org/x/net/http2/frame.go @@ -280,6 +280,8 @@ type Framer struct { // lastHeaderStream is non-zero if the last frame was an // unfinished HEADERS/CONTINUATION. lastHeaderStream uint32 + // lastFrameType holds the type of the last frame for verifying frame order. + lastFrameType FrameType maxReadSize uint32 headerBuf [frameHeaderLen]byte @@ -488,30 +490,41 @@ func terminalReadFrameError(err error) bool { return err != nil } -// ReadFrame reads a single frame. The returned Frame is only valid -// until the next call to ReadFrame. +// ReadFrameHeader reads the header of the next frame. +// It reads the 9-byte fixed frame header, and does not read any portion of the +// frame payload. The caller is responsible for consuming the payload, either +// with ReadFrameForHeader or directly from the Framer's io.Reader. // -// If the frame is larger than previously set with SetMaxReadFrameSize, the -// returned error is ErrFrameTooLarge. Other errors may be of type -// ConnectionError, StreamError, or anything else from the underlying -// reader. +// If the frame is larger than previously set with SetMaxReadFrameSize, it +// returns the frame header and ErrFrameTooLarge. // -// If ReadFrame returns an error and a non-nil Frame, the Frame's StreamID -// indicates the stream responsible for the error. -func (fr *Framer) ReadFrame() (Frame, error) { +// If the returned FrameHeader.StreamID is non-zero, it indicates the stream +// responsible for the error. +func (fr *Framer) ReadFrameHeader() (FrameHeader, error) { fr.errDetail = nil - if fr.lastFrame != nil { - fr.lastFrame.invalidate() - } fh, err := readFrameHeader(fr.headerBuf[:], fr.r) if err != nil { - return nil, err + return fh, err } if fh.Length > fr.maxReadSize { if fh == invalidHTTP1LookingFrameHeader() { - return nil, fmt.Errorf("http2: failed reading the frame payload: %w, note that the frame header looked like an HTTP/1.1 header", ErrFrameTooLarge) + return fh, fmt.Errorf("http2: failed reading the frame payload: %w, note that the frame header looked like an HTTP/1.1 header", ErrFrameTooLarge) } - return nil, ErrFrameTooLarge + return fh, ErrFrameTooLarge + } + if err := fr.checkFrameOrder(fh); err != nil { + return fh, err + } + return fh, nil +} + +// ReadFrameForHeader reads the payload for the frame with the given FrameHeader. +// +// It behaves identically to ReadFrame, other than not checking the maximum +// frame size. +func (fr *Framer) ReadFrameForHeader(fh FrameHeader) (Frame, error) { + if fr.lastFrame != nil { + fr.lastFrame.invalidate() } payload := fr.getReadBuf(fh.Length) if _, err := io.ReadFull(fr.r, payload); err != nil { @@ -527,9 +540,7 @@ func (fr *Framer) ReadFrame() (Frame, error) { } return nil, err } - if err := fr.checkFrameOrder(f); err != nil { - return nil, err - } + fr.lastFrame = f if fr.logReads { fr.debugReadLoggerf("http2: Framer %p: read %v", fr, summarizeFrame(f)) } @@ -539,6 +550,24 @@ func (fr *Framer) ReadFrame() (Frame, error) { return f, nil } +// ReadFrame reads a single frame. The returned Frame is only valid +// until the next call to ReadFrame or ReadFrameBodyForHeader. +// +// If the frame is larger than previously set with SetMaxReadFrameSize, the +// returned error is ErrFrameTooLarge. Other errors may be of type +// ConnectionError, StreamError, or anything else from the underlying +// reader. +// +// If ReadFrame returns an error and a non-nil Frame, the Frame's StreamID +// indicates the stream responsible for the error. +func (fr *Framer) ReadFrame() (Frame, error) { + fh, err := fr.ReadFrameHeader() + if err != nil { + return nil, err + } + return fr.ReadFrameForHeader(fh) +} + // connError returns ConnectionError(code) but first // stashes away a public reason to the caller can optionally relay it // to the peer before hanging up on them. This might help others debug @@ -551,20 +580,19 @@ func (fr *Framer) connError(code ErrCode, reason string) error { // checkFrameOrder reports an error if f is an invalid frame to return // next from ReadFrame. Mostly it checks whether HEADERS and // CONTINUATION frames are contiguous. -func (fr *Framer) checkFrameOrder(f Frame) error { - last := fr.lastFrame - fr.lastFrame = f +func (fr *Framer) checkFrameOrder(fh FrameHeader) error { + lastType := fr.lastFrameType + fr.lastFrameType = fh.Type if fr.AllowIllegalReads { return nil } - fh := f.Header() if fr.lastHeaderStream != 0 { if fh.Type != FrameContinuation { return fr.connError(ErrCodeProtocol, fmt.Sprintf("got %s for stream %d; expected CONTINUATION following %s for stream %d", fh.Type, fh.StreamID, - last.Header().Type, fr.lastHeaderStream)) + lastType, fr.lastHeaderStream)) } if fh.StreamID != fr.lastHeaderStream { return fr.connError(ErrCodeProtocol, @@ -1161,7 +1189,7 @@ var defaultRFC9218Priority = PriorityParam{ // PriorityParam struct below is a superset of both schemes. The exported // symbols are from RFC 7540 and the non-exported ones are from RFC 9218. -// PriorityParam are the stream prioritzation parameters. +// PriorityParam are the stream prioritization parameters. type PriorityParam struct { // StreamDep is a 31-bit stream identifier for the // stream that this stream depends on. Zero means no diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go index be759b60655c2..1965913e543b4 100644 --- a/vendor/golang.org/x/net/http2/transport.go +++ b/vendor/golang.org/x/net/http2/transport.go @@ -9,6 +9,7 @@ package http2 import ( "bufio" "bytes" + "compress/flate" "compress/gzip" "context" "crypto/rand" @@ -3076,35 +3077,102 @@ type erringRoundTripper struct{ err error } func (rt erringRoundTripper) RoundTripErr() error { return rt.err } func (rt erringRoundTripper) RoundTrip(*http.Request) (*http.Response, error) { return nil, rt.err } +var errConcurrentReadOnResBody = errors.New("http2: concurrent read on response body") + // gzipReader wraps a response body so it can lazily -// call gzip.NewReader on the first call to Read +// get gzip.Reader from the pool on the first call to Read. +// After Close is called it puts gzip.Reader to the pool immediately +// if there is no Read in progress or later when Read completes. type gzipReader struct { _ incomparable body io.ReadCloser // underlying Response.Body - zr *gzip.Reader // lazily-initialized gzip reader - zerr error // sticky error + mu sync.Mutex // guards zr and zerr + zr *gzip.Reader // stores gzip reader from the pool between reads + zerr error // sticky gzip reader init error or sentinel value to detect concurrent read and read after close } -func (gz *gzipReader) Read(p []byte) (n int, err error) { +type eofReader struct{} + +func (eofReader) Read([]byte) (int, error) { return 0, io.EOF } +func (eofReader) ReadByte() (byte, error) { return 0, io.EOF } + +var gzipPool = sync.Pool{New: func() any { return new(gzip.Reader) }} + +// gzipPoolGet gets a gzip.Reader from the pool and resets it to read from r. +func gzipPoolGet(r io.Reader) (*gzip.Reader, error) { + zr := gzipPool.Get().(*gzip.Reader) + if err := zr.Reset(r); err != nil { + gzipPoolPut(zr) + return nil, err + } + return zr, nil +} + +// gzipPoolPut puts a gzip.Reader back into the pool. +func gzipPoolPut(zr *gzip.Reader) { + // Reset will allocate bufio.Reader if we pass it anything + // other than a flate.Reader, so ensure that it's getting one. + var r flate.Reader = eofReader{} + zr.Reset(r) + gzipPool.Put(zr) +} + +// acquire returns a gzip.Reader for reading response body. +// The reader must be released after use. +func (gz *gzipReader) acquire() (*gzip.Reader, error) { + gz.mu.Lock() + defer gz.mu.Unlock() if gz.zerr != nil { - return 0, gz.zerr + return nil, gz.zerr } if gz.zr == nil { - gz.zr, err = gzip.NewReader(gz.body) - if err != nil { - gz.zerr = err - return 0, err + gz.zr, gz.zerr = gzipPoolGet(gz.body) + if gz.zerr != nil { + return nil, gz.zerr } } - return gz.zr.Read(p) + ret := gz.zr + gz.zr, gz.zerr = nil, errConcurrentReadOnResBody + return ret, nil } -func (gz *gzipReader) Close() error { - if err := gz.body.Close(); err != nil { - return err +// release returns the gzip.Reader to the pool if Close was called during Read. +func (gz *gzipReader) release(zr *gzip.Reader) { + gz.mu.Lock() + defer gz.mu.Unlock() + if gz.zerr == errConcurrentReadOnResBody { + gz.zr, gz.zerr = zr, nil + } else { // fs.ErrClosed + gzipPoolPut(zr) + } +} + +// close returns the gzip.Reader to the pool immediately or +// signals release to do so after Read completes. +func (gz *gzipReader) close() { + gz.mu.Lock() + defer gz.mu.Unlock() + if gz.zerr == nil && gz.zr != nil { + gzipPoolPut(gz.zr) + gz.zr = nil } gz.zerr = fs.ErrClosed - return nil +} + +func (gz *gzipReader) Read(p []byte) (n int, err error) { + zr, err := gz.acquire() + if err != nil { + return 0, err + } + defer gz.release(zr) + + return zr.Read(p) +} + +func (gz *gzipReader) Close() error { + gz.close() + + return gz.body.Close() } type errorReader struct{ err error } diff --git a/vendor/golang.org/x/net/http2/writesched.go b/vendor/golang.org/x/net/http2/writesched.go index 4d3890f99ae17..7de27be525094 100644 --- a/vendor/golang.org/x/net/http2/writesched.go +++ b/vendor/golang.org/x/net/http2/writesched.go @@ -185,45 +185,75 @@ func (wr *FrameWriteRequest) replyToWriter(err error) { } // writeQueue is used by implementations of WriteScheduler. +// +// Each writeQueue contains a queue of FrameWriteRequests, meant to store all +// FrameWriteRequests associated with a given stream. This is implemented as a +// two-stage queue: currQueue[currPos:] and nextQueue. Removing an item is done +// by incrementing currPos of currQueue. Adding an item is done by appending it +// to the nextQueue. If currQueue is empty when trying to remove an item, we +// can swap currQueue and nextQueue to remedy the situation. +// This two-stage queue is analogous to the use of two lists in Okasaki's +// purely functional queue but without the overhead of reversing the list when +// swapping stages. +// +// writeQueue also contains prev and next, this can be used by implementations +// of WriteScheduler to construct data structures that represent the order of +// writing between different streams (e.g. circular linked list). type writeQueue struct { - s []FrameWriteRequest + currQueue []FrameWriteRequest + nextQueue []FrameWriteRequest + currPos int + prev, next *writeQueue } -func (q *writeQueue) empty() bool { return len(q.s) == 0 } +func (q *writeQueue) empty() bool { + return (len(q.currQueue) - q.currPos + len(q.nextQueue)) == 0 +} func (q *writeQueue) push(wr FrameWriteRequest) { - q.s = append(q.s, wr) + q.nextQueue = append(q.nextQueue, wr) } func (q *writeQueue) shift() FrameWriteRequest { - if len(q.s) == 0 { + if q.empty() { panic("invalid use of queue") } - wr := q.s[0] - // TODO: less copy-happy queue. - copy(q.s, q.s[1:]) - q.s[len(q.s)-1] = FrameWriteRequest{} - q.s = q.s[:len(q.s)-1] + if q.currPos >= len(q.currQueue) { + q.currQueue, q.currPos, q.nextQueue = q.nextQueue, 0, q.currQueue[:0] + } + wr := q.currQueue[q.currPos] + q.currQueue[q.currPos] = FrameWriteRequest{} + q.currPos++ return wr } +func (q *writeQueue) peek() *FrameWriteRequest { + if q.currPos < len(q.currQueue) { + return &q.currQueue[q.currPos] + } + if len(q.nextQueue) > 0 { + return &q.nextQueue[0] + } + return nil +} + // consume consumes up to n bytes from q.s[0]. If the frame is // entirely consumed, it is removed from the queue. If the frame // is partially consumed, the frame is kept with the consumed // bytes removed. Returns true iff any bytes were consumed. func (q *writeQueue) consume(n int32) (FrameWriteRequest, bool) { - if len(q.s) == 0 { + if q.empty() { return FrameWriteRequest{}, false } - consumed, rest, numresult := q.s[0].Consume(n) + consumed, rest, numresult := q.peek().Consume(n) switch numresult { case 0: return FrameWriteRequest{}, false case 1: q.shift() case 2: - q.s[0] = rest + *q.peek() = rest } return consumed, true } @@ -232,10 +262,15 @@ type writeQueuePool []*writeQueue // put inserts an unused writeQueue into the pool. func (p *writeQueuePool) put(q *writeQueue) { - for i := range q.s { - q.s[i] = FrameWriteRequest{} + for i := range q.currQueue { + q.currQueue[i] = FrameWriteRequest{} + } + for i := range q.nextQueue { + q.nextQueue[i] = FrameWriteRequest{} } - q.s = q.s[:0] + q.currQueue = q.currQueue[:0] + q.nextQueue = q.nextQueue[:0] + q.currPos = 0 *p = append(*p, q) } diff --git a/vendor/golang.org/x/net/http2/writesched_priority_rfc7540.go b/vendor/golang.org/x/net/http2/writesched_priority_rfc7540.go index 6d24d6a1b9647..4e33c29a2445a 100644 --- a/vendor/golang.org/x/net/http2/writesched_priority_rfc7540.go +++ b/vendor/golang.org/x/net/http2/writesched_priority_rfc7540.go @@ -214,8 +214,8 @@ func (z sortPriorityNodeSiblingsRFC7540) Swap(i, k int) { z[i], z[k] = z[k], z[i func (z sortPriorityNodeSiblingsRFC7540) Less(i, k int) bool { // Prefer the subtree that has sent fewer bytes relative to its weight. // See sections 5.3.2 and 5.3.4. - wi, bi := float64(z[i].weight+1), float64(z[i].subtreeBytes) - wk, bk := float64(z[k].weight+1), float64(z[k].subtreeBytes) + wi, bi := float64(z[i].weight)+1, float64(z[i].subtreeBytes) + wk, bk := float64(z[k].weight)+1, float64(z[k].subtreeBytes) if bi == 0 && bk == 0 { return wi >= wk } @@ -302,7 +302,6 @@ func (ws *priorityWriteSchedulerRFC7540) CloseStream(streamID uint32) { q := n.q ws.queuePool.put(&q) - n.q.s = nil if ws.maxClosedNodesInTree > 0 { ws.addClosedOrIdleNode(&ws.closedNodes, ws.maxClosedNodesInTree, n) } else { diff --git a/vendor/golang.org/x/net/http2/writesched_priority_rfc9128.go b/vendor/golang.org/x/net/http2/writesched_priority_rfc9218.go similarity index 99% rename from vendor/golang.org/x/net/http2/writesched_priority_rfc9128.go rename to vendor/golang.org/x/net/http2/writesched_priority_rfc9218.go index 9b5b8808eb018..cb4cadc32d795 100644 --- a/vendor/golang.org/x/net/http2/writesched_priority_rfc9128.go +++ b/vendor/golang.org/x/net/http2/writesched_priority_rfc9218.go @@ -39,7 +39,7 @@ type priorityWriteSchedulerRFC9218 struct { prioritizeIncremental bool } -func newPriorityWriteSchedulerRFC9128() WriteScheduler { +func newPriorityWriteSchedulerRFC9218() WriteScheduler { ws := &priorityWriteSchedulerRFC9218{ streams: make(map[uint32]streamMetadata), } diff --git a/vendor/golang.org/x/net/publicsuffix/list.go b/vendor/golang.org/x/net/publicsuffix/list.go index 047cb30eb151d..7ab8b3cf13b72 100644 --- a/vendor/golang.org/x/net/publicsuffix/list.go +++ b/vendor/golang.org/x/net/publicsuffix/list.go @@ -51,6 +51,7 @@ package publicsuffix // import "golang.org/x/net/publicsuffix" import ( "fmt" "net/http/cookiejar" + "net/netip" "strings" ) @@ -84,6 +85,10 @@ func (list) String() string { // domains like "foo.appspot.com" can be found at // https://wiki.mozilla.org/Public_Suffix_List/Use_Cases func PublicSuffix(domain string) (publicSuffix string, icann bool) { + if _, err := netip.ParseAddr(domain); err == nil { + return domain, false + } + lo, hi := uint32(0), uint32(numTLD) s, suffix, icannNode, wildcard := domain, len(domain), false, false loop: diff --git a/vendor/golang.org/x/sync/errgroup/errgroup.go b/vendor/golang.org/x/sync/errgroup/errgroup.go index 1d8cffae8cfc8..2f45dbc86e538 100644 --- a/vendor/golang.org/x/sync/errgroup/errgroup.go +++ b/vendor/golang.org/x/sync/errgroup/errgroup.go @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. // Package errgroup provides synchronization, error propagation, and Context -// cancelation for groups of goroutines working on subtasks of a common task. +// cancellation for groups of goroutines working on subtasks of a common task. // // [errgroup.Group] is related to [sync.WaitGroup] but adds handling of tasks // returning errors. diff --git a/vendor/golang.org/x/sys/cpu/cpu.go b/vendor/golang.org/x/sys/cpu/cpu.go index 63541994ef030..34c9ae76efd48 100644 --- a/vendor/golang.org/x/sys/cpu/cpu.go +++ b/vendor/golang.org/x/sys/cpu/cpu.go @@ -92,6 +92,9 @@ var ARM64 struct { HasSHA2 bool // SHA2 hardware implementation HasCRC32 bool // CRC32 hardware implementation HasATOMICS bool // Atomic memory operation instruction set + HasHPDS bool // Hierarchical permission disables in translations tables + HasLOR bool // Limited ordering regions + HasPAN bool // Privileged access never HasFPHP bool // Half precision floating-point instruction set HasASIMDHP bool // Advanced SIMD half precision instruction set HasCPUID bool // CPUID identification scheme registers diff --git a/vendor/golang.org/x/sys/cpu/cpu_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_arm64.go index af2aa99f9f06c..f449c679fe462 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_arm64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_arm64.go @@ -65,10 +65,10 @@ func setMinimalFeatures() { func readARM64Registers() { Initialized = true - parseARM64SystemRegisters(getisar0(), getisar1(), getpfr0()) + parseARM64SystemRegisters(getisar0(), getisar1(), getmmfr1(), getpfr0()) } -func parseARM64SystemRegisters(isar0, isar1, pfr0 uint64) { +func parseARM64SystemRegisters(isar0, isar1, mmfr1, pfr0 uint64) { // ID_AA64ISAR0_EL1 switch extractBits(isar0, 4, 7) { case 1: @@ -152,6 +152,22 @@ func parseARM64SystemRegisters(isar0, isar1, pfr0 uint64) { ARM64.HasI8MM = true } + // ID_AA64MMFR1_EL1 + switch extractBits(mmfr1, 12, 15) { + case 1, 2: + ARM64.HasHPDS = true + } + + switch extractBits(mmfr1, 16, 19) { + case 1: + ARM64.HasLOR = true + } + + switch extractBits(mmfr1, 20, 23) { + case 1, 2, 3: + ARM64.HasPAN = true + } + // ID_AA64PFR0_EL1 switch extractBits(pfr0, 16, 19) { case 0: diff --git a/vendor/golang.org/x/sys/cpu/cpu_arm64.s b/vendor/golang.org/x/sys/cpu/cpu_arm64.s index 22cc99844a756..a4f24b3b0c8fd 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_arm64.s +++ b/vendor/golang.org/x/sys/cpu/cpu_arm64.s @@ -9,31 +9,34 @@ // func getisar0() uint64 TEXT ·getisar0(SB),NOSPLIT,$0-8 // get Instruction Set Attributes 0 into x0 - // mrs x0, ID_AA64ISAR0_EL1 = d5380600 - WORD $0xd5380600 + MRS ID_AA64ISAR0_EL1, R0 MOVD R0, ret+0(FP) RET // func getisar1() uint64 TEXT ·getisar1(SB),NOSPLIT,$0-8 // get Instruction Set Attributes 1 into x0 - // mrs x0, ID_AA64ISAR1_EL1 = d5380620 - WORD $0xd5380620 + MRS ID_AA64ISAR1_EL1, R0 + MOVD R0, ret+0(FP) + RET + +// func getmmfr1() uint64 +TEXT ·getmmfr1(SB),NOSPLIT,$0-8 + // get Memory Model Feature Register 1 into x0 + MRS ID_AA64MMFR1_EL1, R0 MOVD R0, ret+0(FP) RET // func getpfr0() uint64 TEXT ·getpfr0(SB),NOSPLIT,$0-8 // get Processor Feature Register 0 into x0 - // mrs x0, ID_AA64PFR0_EL1 = d5380400 - WORD $0xd5380400 + MRS ID_AA64PFR0_EL1, R0 MOVD R0, ret+0(FP) RET // func getzfr0() uint64 TEXT ·getzfr0(SB),NOSPLIT,$0-8 // get SVE Feature Register 0 into x0 - // mrs x0, ID_AA64ZFR0_EL1 = d5380480 - WORD $0xd5380480 + MRS ID_AA64ZFR0_EL1, R0 MOVD R0, ret+0(FP) RET diff --git a/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go index 6ac6e1efb2087..e3fc5a8d31ca6 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go @@ -8,5 +8,6 @@ package cpu func getisar0() uint64 func getisar1() uint64 +func getmmfr1() uint64 func getpfr0() uint64 func getzfr0() uint64 diff --git a/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go index 7f1946780bd30..8df2079e15f95 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go @@ -8,4 +8,5 @@ package cpu func getisar0() uint64 { return 0 } func getisar1() uint64 { return 0 } +func getmmfr1() uint64 { return 0 } func getpfr0() uint64 { return 0 } diff --git a/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go index ebfb3fc8e76d2..19aea0633e8e9 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go @@ -167,7 +167,7 @@ func doinit() { setMinimalFeatures() return } - parseARM64SystemRegisters(cpuid.aa64isar0, cpuid.aa64isar1, cpuid.aa64pfr0) + parseARM64SystemRegisters(cpuid.aa64isar0, cpuid.aa64isar1, cpuid.aa64mmfr1, cpuid.aa64pfr0) Initialized = true } diff --git a/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go index 85b64d5ccb735..87fd3a7780767 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go @@ -59,7 +59,7 @@ func doinit() { if !ok { return } - parseARM64SystemRegisters(isar0, isar1, 0) + parseARM64SystemRegisters(isar0, isar1, 0, 0) Initialized = true } diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh index d1c8b2640ebd4..42517077c4374 100644 --- a/vendor/golang.org/x/sys/unix/mkerrors.sh +++ b/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -226,6 +226,7 @@ struct ltchars { #include #include #include +#include #include #include #include @@ -529,6 +530,7 @@ ccflags="$@" $2 ~ /^O[CNPFPL][A-Z]+[^_][A-Z]+$/ || $2 ~ /^(NL|CR|TAB|BS|VT|FF)DLY$/ || $2 ~ /^(NL|CR|TAB|BS|VT|FF)[0-9]$/ || + $2 ~ /^(DT|EI|ELF|EV|NN|NT|PF|SHF|SHN|SHT|STB|STT|VER)_/ || $2 ~ /^O?XTABS$/ || $2 ~ /^TC[IO](ON|OFF)$/ || $2 ~ /^IN_/ || diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go index 9439af961d98b..06c0eea6fb6a0 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -2643,3 +2643,9 @@ func SchedGetAttr(pid int, flags uint) (*SchedAttr, error) { //sys Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) (err error) //sys Mseal(b []byte, flags uint) (err error) + +//sys setMemPolicy(mode int, mask *CPUSet, size int) (err error) = SYS_SET_MEMPOLICY + +func SetMemPolicy(mode int, mask *CPUSet) error { + return setMemPolicy(mode, mask, _CPU_SETSIZE) +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux.go b/vendor/golang.org/x/sys/unix/zerrors_linux.go index b6db27d937c8f..d0a75da572c96 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux.go @@ -853,20 +853,86 @@ const ( DM_VERSION_MAJOR = 0x4 DM_VERSION_MINOR = 0x32 DM_VERSION_PATCHLEVEL = 0x0 + DT_ADDRRNGHI = 0x6ffffeff + DT_ADDRRNGLO = 0x6ffffe00 DT_BLK = 0x6 DT_CHR = 0x2 + DT_DEBUG = 0x15 DT_DIR = 0x4 + DT_ENCODING = 0x20 DT_FIFO = 0x1 + DT_FINI = 0xd + DT_FLAGS_1 = 0x6ffffffb + DT_GNU_HASH = 0x6ffffef5 + DT_HASH = 0x4 + DT_HIOS = 0x6ffff000 + DT_HIPROC = 0x7fffffff + DT_INIT = 0xc + DT_JMPREL = 0x17 DT_LNK = 0xa + DT_LOOS = 0x6000000d + DT_LOPROC = 0x70000000 + DT_NEEDED = 0x1 + DT_NULL = 0x0 + DT_PLTGOT = 0x3 + DT_PLTREL = 0x14 + DT_PLTRELSZ = 0x2 DT_REG = 0x8 + DT_REL = 0x11 + DT_RELA = 0x7 + DT_RELACOUNT = 0x6ffffff9 + DT_RELAENT = 0x9 + DT_RELASZ = 0x8 + DT_RELCOUNT = 0x6ffffffa + DT_RELENT = 0x13 + DT_RELSZ = 0x12 + DT_RPATH = 0xf DT_SOCK = 0xc + DT_SONAME = 0xe + DT_STRSZ = 0xa + DT_STRTAB = 0x5 + DT_SYMBOLIC = 0x10 + DT_SYMENT = 0xb + DT_SYMTAB = 0x6 + DT_TEXTREL = 0x16 DT_UNKNOWN = 0x0 + DT_VALRNGHI = 0x6ffffdff + DT_VALRNGLO = 0x6ffffd00 + DT_VERDEF = 0x6ffffffc + DT_VERDEFNUM = 0x6ffffffd + DT_VERNEED = 0x6ffffffe + DT_VERNEEDNUM = 0x6fffffff + DT_VERSYM = 0x6ffffff0 DT_WHT = 0xe ECHO = 0x8 ECRYPTFS_SUPER_MAGIC = 0xf15f EFD_SEMAPHORE = 0x1 EFIVARFS_MAGIC = 0xde5e81e4 EFS_SUPER_MAGIC = 0x414a53 + EI_CLASS = 0x4 + EI_DATA = 0x5 + EI_MAG0 = 0x0 + EI_MAG1 = 0x1 + EI_MAG2 = 0x2 + EI_MAG3 = 0x3 + EI_NIDENT = 0x10 + EI_OSABI = 0x7 + EI_PAD = 0x8 + EI_VERSION = 0x6 + ELFCLASS32 = 0x1 + ELFCLASS64 = 0x2 + ELFCLASSNONE = 0x0 + ELFCLASSNUM = 0x3 + ELFDATA2LSB = 0x1 + ELFDATA2MSB = 0x2 + ELFDATANONE = 0x0 + ELFMAG = "\177ELF" + ELFMAG0 = 0x7f + ELFMAG1 = 'E' + ELFMAG2 = 'L' + ELFMAG3 = 'F' + ELFOSABI_LINUX = 0x3 + ELFOSABI_NONE = 0x0 EM_386 = 0x3 EM_486 = 0x6 EM_68K = 0x4 @@ -1152,14 +1218,24 @@ const ( ETH_P_WCCP = 0x883e ETH_P_X25 = 0x805 ETH_P_XDSA = 0xf8 + ET_CORE = 0x4 + ET_DYN = 0x3 + ET_EXEC = 0x2 + ET_HIPROC = 0xffff + ET_LOPROC = 0xff00 + ET_NONE = 0x0 + ET_REL = 0x1 EV_ABS = 0x3 EV_CNT = 0x20 + EV_CURRENT = 0x1 EV_FF = 0x15 EV_FF_STATUS = 0x17 EV_KEY = 0x1 EV_LED = 0x11 EV_MAX = 0x1f EV_MSC = 0x4 + EV_NONE = 0x0 + EV_NUM = 0x2 EV_PWR = 0x16 EV_REL = 0x2 EV_REP = 0x14 @@ -2276,7 +2352,167 @@ const ( NLM_F_REPLACE = 0x100 NLM_F_REQUEST = 0x1 NLM_F_ROOT = 0x100 + NN_386_IOPERM = "LINUX" + NN_386_TLS = "LINUX" + NN_ARC_V2 = "LINUX" + NN_ARM_FPMR = "LINUX" + NN_ARM_GCS = "LINUX" + NN_ARM_HW_BREAK = "LINUX" + NN_ARM_HW_WATCH = "LINUX" + NN_ARM_PACA_KEYS = "LINUX" + NN_ARM_PACG_KEYS = "LINUX" + NN_ARM_PAC_ENABLED_KEYS = "LINUX" + NN_ARM_PAC_MASK = "LINUX" + NN_ARM_POE = "LINUX" + NN_ARM_SSVE = "LINUX" + NN_ARM_SVE = "LINUX" + NN_ARM_SYSTEM_CALL = "LINUX" + NN_ARM_TAGGED_ADDR_CTRL = "LINUX" + NN_ARM_TLS = "LINUX" + NN_ARM_VFP = "LINUX" + NN_ARM_ZA = "LINUX" + NN_ARM_ZT = "LINUX" + NN_AUXV = "CORE" + NN_FILE = "CORE" + NN_GNU_PROPERTY_TYPE_0 = "GNU" + NN_LOONGARCH_CPUCFG = "LINUX" + NN_LOONGARCH_CSR = "LINUX" + NN_LOONGARCH_HW_BREAK = "LINUX" + NN_LOONGARCH_HW_WATCH = "LINUX" + NN_LOONGARCH_LASX = "LINUX" + NN_LOONGARCH_LBT = "LINUX" + NN_LOONGARCH_LSX = "LINUX" + NN_MIPS_DSP = "LINUX" + NN_MIPS_FP_MODE = "LINUX" + NN_MIPS_MSA = "LINUX" + NN_PPC_DEXCR = "LINUX" + NN_PPC_DSCR = "LINUX" + NN_PPC_EBB = "LINUX" + NN_PPC_HASHKEYR = "LINUX" + NN_PPC_PKEY = "LINUX" + NN_PPC_PMU = "LINUX" + NN_PPC_PPR = "LINUX" + NN_PPC_SPE = "LINUX" + NN_PPC_TAR = "LINUX" + NN_PPC_TM_CDSCR = "LINUX" + NN_PPC_TM_CFPR = "LINUX" + NN_PPC_TM_CGPR = "LINUX" + NN_PPC_TM_CPPR = "LINUX" + NN_PPC_TM_CTAR = "LINUX" + NN_PPC_TM_CVMX = "LINUX" + NN_PPC_TM_CVSX = "LINUX" + NN_PPC_TM_SPR = "LINUX" + NN_PPC_VMX = "LINUX" + NN_PPC_VSX = "LINUX" + NN_PRFPREG = "CORE" + NN_PRPSINFO = "CORE" + NN_PRSTATUS = "CORE" + NN_PRXFPREG = "LINUX" + NN_RISCV_CSR = "LINUX" + NN_RISCV_TAGGED_ADDR_CTRL = "LINUX" + NN_RISCV_VECTOR = "LINUX" + NN_S390_CTRS = "LINUX" + NN_S390_GS_BC = "LINUX" + NN_S390_GS_CB = "LINUX" + NN_S390_HIGH_GPRS = "LINUX" + NN_S390_LAST_BREAK = "LINUX" + NN_S390_PREFIX = "LINUX" + NN_S390_PV_CPU_DATA = "LINUX" + NN_S390_RI_CB = "LINUX" + NN_S390_SYSTEM_CALL = "LINUX" + NN_S390_TDB = "LINUX" + NN_S390_TIMER = "LINUX" + NN_S390_TODCMP = "LINUX" + NN_S390_TODPREG = "LINUX" + NN_S390_VXRS_HIGH = "LINUX" + NN_S390_VXRS_LOW = "LINUX" + NN_SIGINFO = "CORE" + NN_TASKSTRUCT = "CORE" + NN_VMCOREDD = "LINUX" + NN_X86_SHSTK = "LINUX" + NN_X86_XSAVE_LAYOUT = "LINUX" + NN_X86_XSTATE = "LINUX" NSFS_MAGIC = 0x6e736673 + NT_386_IOPERM = 0x201 + NT_386_TLS = 0x200 + NT_ARC_V2 = 0x600 + NT_ARM_FPMR = 0x40e + NT_ARM_GCS = 0x410 + NT_ARM_HW_BREAK = 0x402 + NT_ARM_HW_WATCH = 0x403 + NT_ARM_PACA_KEYS = 0x407 + NT_ARM_PACG_KEYS = 0x408 + NT_ARM_PAC_ENABLED_KEYS = 0x40a + NT_ARM_PAC_MASK = 0x406 + NT_ARM_POE = 0x40f + NT_ARM_SSVE = 0x40b + NT_ARM_SVE = 0x405 + NT_ARM_SYSTEM_CALL = 0x404 + NT_ARM_TAGGED_ADDR_CTRL = 0x409 + NT_ARM_TLS = 0x401 + NT_ARM_VFP = 0x400 + NT_ARM_ZA = 0x40c + NT_ARM_ZT = 0x40d + NT_AUXV = 0x6 + NT_FILE = 0x46494c45 + NT_GNU_PROPERTY_TYPE_0 = 0x5 + NT_LOONGARCH_CPUCFG = 0xa00 + NT_LOONGARCH_CSR = 0xa01 + NT_LOONGARCH_HW_BREAK = 0xa05 + NT_LOONGARCH_HW_WATCH = 0xa06 + NT_LOONGARCH_LASX = 0xa03 + NT_LOONGARCH_LBT = 0xa04 + NT_LOONGARCH_LSX = 0xa02 + NT_MIPS_DSP = 0x800 + NT_MIPS_FP_MODE = 0x801 + NT_MIPS_MSA = 0x802 + NT_PPC_DEXCR = 0x111 + NT_PPC_DSCR = 0x105 + NT_PPC_EBB = 0x106 + NT_PPC_HASHKEYR = 0x112 + NT_PPC_PKEY = 0x110 + NT_PPC_PMU = 0x107 + NT_PPC_PPR = 0x104 + NT_PPC_SPE = 0x101 + NT_PPC_TAR = 0x103 + NT_PPC_TM_CDSCR = 0x10f + NT_PPC_TM_CFPR = 0x109 + NT_PPC_TM_CGPR = 0x108 + NT_PPC_TM_CPPR = 0x10e + NT_PPC_TM_CTAR = 0x10d + NT_PPC_TM_CVMX = 0x10a + NT_PPC_TM_CVSX = 0x10b + NT_PPC_TM_SPR = 0x10c + NT_PPC_VMX = 0x100 + NT_PPC_VSX = 0x102 + NT_PRFPREG = 0x2 + NT_PRPSINFO = 0x3 + NT_PRSTATUS = 0x1 + NT_PRXFPREG = 0x46e62b7f + NT_RISCV_CSR = 0x900 + NT_RISCV_TAGGED_ADDR_CTRL = 0x902 + NT_RISCV_VECTOR = 0x901 + NT_S390_CTRS = 0x304 + NT_S390_GS_BC = 0x30c + NT_S390_GS_CB = 0x30b + NT_S390_HIGH_GPRS = 0x300 + NT_S390_LAST_BREAK = 0x306 + NT_S390_PREFIX = 0x305 + NT_S390_PV_CPU_DATA = 0x30e + NT_S390_RI_CB = 0x30d + NT_S390_SYSTEM_CALL = 0x307 + NT_S390_TDB = 0x308 + NT_S390_TIMER = 0x301 + NT_S390_TODCMP = 0x302 + NT_S390_TODPREG = 0x303 + NT_S390_VXRS_HIGH = 0x30a + NT_S390_VXRS_LOW = 0x309 + NT_SIGINFO = 0x53494749 + NT_TASKSTRUCT = 0x4 + NT_VMCOREDD = 0x700 + NT_X86_SHSTK = 0x204 + NT_X86_XSAVE_LAYOUT = 0x205 + NT_X86_XSTATE = 0x202 OCFS2_SUPER_MAGIC = 0x7461636f OCRNL = 0x8 OFDEL = 0x80 @@ -2463,6 +2699,59 @@ const ( PERF_RECORD_MISC_USER = 0x2 PERF_SAMPLE_BRANCH_PLM_ALL = 0x7 PERF_SAMPLE_WEIGHT_TYPE = 0x1004000 + PF_ALG = 0x26 + PF_APPLETALK = 0x5 + PF_ASH = 0x12 + PF_ATMPVC = 0x8 + PF_ATMSVC = 0x14 + PF_AX25 = 0x3 + PF_BLUETOOTH = 0x1f + PF_BRIDGE = 0x7 + PF_CAIF = 0x25 + PF_CAN = 0x1d + PF_DECnet = 0xc + PF_ECONET = 0x13 + PF_FILE = 0x1 + PF_IB = 0x1b + PF_IEEE802154 = 0x24 + PF_INET = 0x2 + PF_INET6 = 0xa + PF_IPX = 0x4 + PF_IRDA = 0x17 + PF_ISDN = 0x22 + PF_IUCV = 0x20 + PF_KCM = 0x29 + PF_KEY = 0xf + PF_LLC = 0x1a + PF_LOCAL = 0x1 + PF_MAX = 0x2e + PF_MCTP = 0x2d + PF_MPLS = 0x1c + PF_NETBEUI = 0xd + PF_NETLINK = 0x10 + PF_NETROM = 0x6 + PF_NFC = 0x27 + PF_PACKET = 0x11 + PF_PHONET = 0x23 + PF_PPPOX = 0x18 + PF_QIPCRTR = 0x2a + PF_R = 0x4 + PF_RDS = 0x15 + PF_ROSE = 0xb + PF_ROUTE = 0x10 + PF_RXRPC = 0x21 + PF_SECURITY = 0xe + PF_SMC = 0x2b + PF_SNA = 0x16 + PF_TIPC = 0x1e + PF_UNIX = 0x1 + PF_UNSPEC = 0x0 + PF_VSOCK = 0x28 + PF_W = 0x2 + PF_WANPIPE = 0x19 + PF_X = 0x1 + PF_X25 = 0x9 + PF_XDP = 0x2c PID_FS_MAGIC = 0x50494446 PIPEFS_MAGIC = 0x50495045 PPPIOCGNPMODE = 0xc008744c @@ -2758,6 +3047,23 @@ const ( PTRACE_SYSCALL_INFO_NONE = 0x0 PTRACE_SYSCALL_INFO_SECCOMP = 0x3 PTRACE_TRACEME = 0x0 + PT_AARCH64_MEMTAG_MTE = 0x70000002 + PT_DYNAMIC = 0x2 + PT_GNU_EH_FRAME = 0x6474e550 + PT_GNU_PROPERTY = 0x6474e553 + PT_GNU_RELRO = 0x6474e552 + PT_GNU_STACK = 0x6474e551 + PT_HIOS = 0x6fffffff + PT_HIPROC = 0x7fffffff + PT_INTERP = 0x3 + PT_LOAD = 0x1 + PT_LOOS = 0x60000000 + PT_LOPROC = 0x70000000 + PT_NOTE = 0x4 + PT_NULL = 0x0 + PT_PHDR = 0x6 + PT_SHLIB = 0x5 + PT_TLS = 0x7 P_ALL = 0x0 P_PGID = 0x2 P_PID = 0x1 @@ -3091,6 +3397,47 @@ const ( SEEK_MAX = 0x4 SEEK_SET = 0x0 SELINUX_MAGIC = 0xf97cff8c + SHF_ALLOC = 0x2 + SHF_EXCLUDE = 0x8000000 + SHF_EXECINSTR = 0x4 + SHF_GROUP = 0x200 + SHF_INFO_LINK = 0x40 + SHF_LINK_ORDER = 0x80 + SHF_MASKOS = 0xff00000 + SHF_MASKPROC = 0xf0000000 + SHF_MERGE = 0x10 + SHF_ORDERED = 0x4000000 + SHF_OS_NONCONFORMING = 0x100 + SHF_RELA_LIVEPATCH = 0x100000 + SHF_RO_AFTER_INIT = 0x200000 + SHF_STRINGS = 0x20 + SHF_TLS = 0x400 + SHF_WRITE = 0x1 + SHN_ABS = 0xfff1 + SHN_COMMON = 0xfff2 + SHN_HIPROC = 0xff1f + SHN_HIRESERVE = 0xffff + SHN_LIVEPATCH = 0xff20 + SHN_LOPROC = 0xff00 + SHN_LORESERVE = 0xff00 + SHN_UNDEF = 0x0 + SHT_DYNAMIC = 0x6 + SHT_DYNSYM = 0xb + SHT_HASH = 0x5 + SHT_HIPROC = 0x7fffffff + SHT_HIUSER = 0xffffffff + SHT_LOPROC = 0x70000000 + SHT_LOUSER = 0x80000000 + SHT_NOBITS = 0x8 + SHT_NOTE = 0x7 + SHT_NULL = 0x0 + SHT_NUM = 0xc + SHT_PROGBITS = 0x1 + SHT_REL = 0x9 + SHT_RELA = 0x4 + SHT_SHLIB = 0xa + SHT_STRTAB = 0x3 + SHT_SYMTAB = 0x2 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 @@ -3317,6 +3664,16 @@ const ( STATX_UID = 0x8 STATX_WRITE_ATOMIC = 0x10000 STATX__RESERVED = 0x80000000 + STB_GLOBAL = 0x1 + STB_LOCAL = 0x0 + STB_WEAK = 0x2 + STT_COMMON = 0x5 + STT_FILE = 0x4 + STT_FUNC = 0x2 + STT_NOTYPE = 0x0 + STT_OBJECT = 0x1 + STT_SECTION = 0x3 + STT_TLS = 0x6 SYNC_FILE_RANGE_WAIT_AFTER = 0x4 SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 SYNC_FILE_RANGE_WRITE = 0x2 @@ -3553,6 +3910,8 @@ const ( UTIME_OMIT = 0x3ffffffe V9FS_MAGIC = 0x1021997 VERASE = 0x2 + VER_FLG_BASE = 0x1 + VER_FLG_WEAK = 0x2 VINTR = 0x0 VKILL = 0x3 VLNEXT = 0xf diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux.go b/vendor/golang.org/x/sys/unix/zsyscall_linux.go index 5cc1e8eb2f35e..8935d10a31ce9 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux.go @@ -2238,3 +2238,13 @@ func Mseal(b []byte, flags uint) (err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setMemPolicy(mode int, mask *CPUSet, size int) (err error) { + _, _, e1 := Syscall(SYS_SET_MEMPOLICY, uintptr(mode), uintptr(unsafe.Pointer(mask)), uintptr(size)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go index 944e75a11cb1d..c1a4670171984 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go @@ -3590,6 +3590,8 @@ type Nhmsg struct { Flags uint32 } +const SizeofNhmsg = 0x8 + type NexthopGrp struct { Id uint32 Weight uint8 @@ -3597,6 +3599,8 @@ type NexthopGrp struct { Resvd2 uint16 } +const SizeofNexthopGrp = 0x8 + const ( NHA_UNSPEC = 0x0 NHA_ID = 0x1 @@ -6332,3 +6336,30 @@ type SockDiagReq struct { } const RTM_NEWNVLAN = 0x70 + +const ( + MPOL_BIND = 0x2 + MPOL_DEFAULT = 0x0 + MPOL_F_ADDR = 0x2 + MPOL_F_MEMS_ALLOWED = 0x4 + MPOL_F_MOF = 0x8 + MPOL_F_MORON = 0x10 + MPOL_F_NODE = 0x1 + MPOL_F_NUMA_BALANCING = 0x2000 + MPOL_F_RELATIVE_NODES = 0x4000 + MPOL_F_SHARED = 0x1 + MPOL_F_STATIC_NODES = 0x8000 + MPOL_INTERLEAVE = 0x3 + MPOL_LOCAL = 0x4 + MPOL_MAX = 0x7 + MPOL_MF_INTERNAL = 0x10 + MPOL_MF_LAZY = 0x8 + MPOL_MF_MOVE_ALL = 0x4 + MPOL_MF_MOVE = 0x2 + MPOL_MF_STRICT = 0x1 + MPOL_MF_VALID = 0x7 + MPOL_MODE_FLAGS = 0xe000 + MPOL_PREFERRED = 0x1 + MPOL_PREFERRED_MANY = 0x5 + MPOL_WEIGHTED_INTERLEAVE = 0x6 +) diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go index bd51337306019..69439df2a4680 100644 --- a/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -892,8 +892,12 @@ const socket_error = uintptr(^uint32(0)) //sys MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) = kernel32.MultiByteToWideChar //sys getBestInterfaceEx(sockaddr unsafe.Pointer, pdwBestIfIndex *uint32) (errcode error) = iphlpapi.GetBestInterfaceEx //sys GetIfEntry2Ex(level uint32, row *MibIfRow2) (errcode error) = iphlpapi.GetIfEntry2Ex +//sys GetIpForwardEntry2(row *MibIpForwardRow2) (errcode error) = iphlpapi.GetIpForwardEntry2 +//sys GetIpForwardTable2(family uint16, table **MibIpForwardTable2) (errcode error) = iphlpapi.GetIpForwardTable2 //sys GetUnicastIpAddressEntry(row *MibUnicastIpAddressRow) (errcode error) = iphlpapi.GetUnicastIpAddressEntry +//sys FreeMibTable(memory unsafe.Pointer) = iphlpapi.FreeMibTable //sys NotifyIpInterfaceChange(family uint16, callback uintptr, callerContext unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode error) = iphlpapi.NotifyIpInterfaceChange +//sys NotifyRouteChange2(family uint16, callback uintptr, callerContext unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode error) = iphlpapi.NotifyRouteChange2 //sys NotifyUnicastIpAddressChange(family uint16, callback uintptr, callerContext unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode error) = iphlpapi.NotifyUnicastIpAddressChange //sys CancelMibChangeNotify2(notificationHandle Handle) (errcode error) = iphlpapi.CancelMibChangeNotify2 @@ -916,6 +920,17 @@ type RawSockaddrInet6 struct { Scope_id uint32 } +// RawSockaddrInet is a union that contains an IPv4, an IPv6 address, or an address family. See +// https://learn.microsoft.com/en-us/windows/win32/api/ws2ipdef/ns-ws2ipdef-sockaddr_inet. +// +// A [*RawSockaddrInet] may be converted to a [*RawSockaddrInet4] or [*RawSockaddrInet6] using +// unsafe, depending on the address family. +type RawSockaddrInet struct { + Family uint16 + Port uint16 + Data [6]uint32 +} + type RawSockaddr struct { Family uint16 Data [14]int8 diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go index 358be3c7f5eec..6e4f50eb48356 100644 --- a/vendor/golang.org/x/sys/windows/types_windows.go +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -2320,6 +2320,82 @@ type MibIfRow2 struct { OutQLen uint64 } +// IP_ADDRESS_PREFIX stores an IP address prefix. See +// https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ns-netioapi-ip_address_prefix. +type IpAddressPrefix struct { + Prefix RawSockaddrInet + PrefixLength uint8 +} + +// NL_ROUTE_ORIGIN enumeration from nldef.h or +// https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_route_origin. +const ( + NlroManual = 0 + NlroWellKnown = 1 + NlroDHCP = 2 + NlroRouterAdvertisement = 3 + Nlro6to4 = 4 +) + +// NL_ROUTE_ORIGIN enumeration from nldef.h or +// https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_route_protocol. +const ( + MIB_IPPROTO_OTHER = 1 + MIB_IPPROTO_LOCAL = 2 + MIB_IPPROTO_NETMGMT = 3 + MIB_IPPROTO_ICMP = 4 + MIB_IPPROTO_EGP = 5 + MIB_IPPROTO_GGP = 6 + MIB_IPPROTO_HELLO = 7 + MIB_IPPROTO_RIP = 8 + MIB_IPPROTO_IS_IS = 9 + MIB_IPPROTO_ES_IS = 10 + MIB_IPPROTO_CISCO = 11 + MIB_IPPROTO_BBN = 12 + MIB_IPPROTO_OSPF = 13 + MIB_IPPROTO_BGP = 14 + MIB_IPPROTO_IDPR = 15 + MIB_IPPROTO_EIGRP = 16 + MIB_IPPROTO_DVMRP = 17 + MIB_IPPROTO_RPL = 18 + MIB_IPPROTO_DHCP = 19 + MIB_IPPROTO_NT_AUTOSTATIC = 10002 + MIB_IPPROTO_NT_STATIC = 10006 + MIB_IPPROTO_NT_STATIC_NON_DOD = 10007 +) + +// MIB_IPFORWARD_ROW2 stores information about an IP route entry. See +// https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ns-netioapi-mib_ipforward_row2. +type MibIpForwardRow2 struct { + InterfaceLuid uint64 + InterfaceIndex uint32 + DestinationPrefix IpAddressPrefix + NextHop RawSockaddrInet + SitePrefixLength uint8 + ValidLifetime uint32 + PreferredLifetime uint32 + Metric uint32 + Protocol uint32 + Loopback uint8 + AutoconfigureAddress uint8 + Publish uint8 + Immortal uint8 + Age uint32 + Origin uint32 +} + +// MIB_IPFORWARD_TABLE2 contains a table of IP route entries. See +// https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ns-netioapi-mib_ipforward_table2. +type MibIpForwardTable2 struct { + NumEntries uint32 + Table [1]MibIpForwardRow2 +} + +// Rows returns the IP route entries in the table. +func (t *MibIpForwardTable2) Rows() []MibIpForwardRow2 { + return unsafe.Slice(&t.Table[0], t.NumEntries) +} + // MIB_UNICASTIPADDRESS_ROW stores information about a unicast IP address. See // https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ns-netioapi-mib_unicastipaddress_row. type MibUnicastIpAddressRow struct { diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index 426151a0193d3..f25b7308a1f3b 100644 --- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -182,13 +182,17 @@ var ( procDwmGetWindowAttribute = moddwmapi.NewProc("DwmGetWindowAttribute") procDwmSetWindowAttribute = moddwmapi.NewProc("DwmSetWindowAttribute") procCancelMibChangeNotify2 = modiphlpapi.NewProc("CancelMibChangeNotify2") + procFreeMibTable = modiphlpapi.NewProc("FreeMibTable") procGetAdaptersAddresses = modiphlpapi.NewProc("GetAdaptersAddresses") procGetAdaptersInfo = modiphlpapi.NewProc("GetAdaptersInfo") procGetBestInterfaceEx = modiphlpapi.NewProc("GetBestInterfaceEx") procGetIfEntry = modiphlpapi.NewProc("GetIfEntry") procGetIfEntry2Ex = modiphlpapi.NewProc("GetIfEntry2Ex") + procGetIpForwardEntry2 = modiphlpapi.NewProc("GetIpForwardEntry2") + procGetIpForwardTable2 = modiphlpapi.NewProc("GetIpForwardTable2") procGetUnicastIpAddressEntry = modiphlpapi.NewProc("GetUnicastIpAddressEntry") procNotifyIpInterfaceChange = modiphlpapi.NewProc("NotifyIpInterfaceChange") + procNotifyRouteChange2 = modiphlpapi.NewProc("NotifyRouteChange2") procNotifyUnicastIpAddressChange = modiphlpapi.NewProc("NotifyUnicastIpAddressChange") procAddDllDirectory = modkernel32.NewProc("AddDllDirectory") procAssignProcessToJobObject = modkernel32.NewProc("AssignProcessToJobObject") @@ -1624,6 +1628,11 @@ func CancelMibChangeNotify2(notificationHandle Handle) (errcode error) { return } +func FreeMibTable(memory unsafe.Pointer) { + syscall.SyscallN(procFreeMibTable.Addr(), uintptr(memory)) + return +} + func GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) { r0, _, _ := syscall.SyscallN(procGetAdaptersAddresses.Addr(), uintptr(family), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(adapterAddresses)), uintptr(unsafe.Pointer(sizePointer))) if r0 != 0 { @@ -1664,6 +1673,22 @@ func GetIfEntry2Ex(level uint32, row *MibIfRow2) (errcode error) { return } +func GetIpForwardEntry2(row *MibIpForwardRow2) (errcode error) { + r0, _, _ := syscall.SyscallN(procGetIpForwardEntry2.Addr(), uintptr(unsafe.Pointer(row))) + if r0 != 0 { + errcode = syscall.Errno(r0) + } + return +} + +func GetIpForwardTable2(family uint16, table **MibIpForwardTable2) (errcode error) { + r0, _, _ := syscall.SyscallN(procGetIpForwardTable2.Addr(), uintptr(family), uintptr(unsafe.Pointer(table))) + if r0 != 0 { + errcode = syscall.Errno(r0) + } + return +} + func GetUnicastIpAddressEntry(row *MibUnicastIpAddressRow) (errcode error) { r0, _, _ := syscall.SyscallN(procGetUnicastIpAddressEntry.Addr(), uintptr(unsafe.Pointer(row))) if r0 != 0 { @@ -1684,6 +1709,18 @@ func NotifyIpInterfaceChange(family uint16, callback uintptr, callerContext unsa return } +func NotifyRouteChange2(family uint16, callback uintptr, callerContext unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode error) { + var _p0 uint32 + if initialNotification { + _p0 = 1 + } + r0, _, _ := syscall.SyscallN(procNotifyRouteChange2.Addr(), uintptr(family), uintptr(callback), uintptr(callerContext), uintptr(_p0), uintptr(unsafe.Pointer(notificationHandle))) + if r0 != 0 { + errcode = syscall.Errno(r0) + } + return +} + func NotifyUnicastIpAddressChange(family uint16, callback uintptr, callerContext unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode error) { var _p0 uint32 if initialNotification { diff --git a/vendor/golang.org/x/term/terminal.go b/vendor/golang.org/x/term/terminal.go index bddb2e2aebd4a..9255449b9b32f 100644 --- a/vendor/golang.org/x/term/terminal.go +++ b/vendor/golang.org/x/term/terminal.go @@ -413,7 +413,7 @@ func (t *Terminal) eraseNPreviousChars(n int) { } } -// countToLeftWord returns then number of characters from the cursor to the +// countToLeftWord returns the number of characters from the cursor to the // start of the previous word. func (t *Terminal) countToLeftWord() int { if t.pos == 0 { @@ -438,7 +438,7 @@ func (t *Terminal) countToLeftWord() int { return t.pos - pos } -// countToRightWord returns then number of characters from the cursor to the +// countToRightWord returns the number of characters from the cursor to the // start of the next word. func (t *Terminal) countToRightWord() int { pos := t.pos @@ -478,7 +478,7 @@ func visualLength(runes []rune) int { return length } -// histroryAt unlocks the terminal and relocks it while calling History.At. +// historyAt unlocks the terminal and relocks it while calling History.At. func (t *Terminal) historyAt(idx int) (string, bool) { t.lock.Unlock() // Unlock to avoid deadlock if History methods use the output writer. defer t.lock.Lock() // panic in At (or Len) protection. diff --git a/vendor/golang.org/x/tools/cmd/stringer/stringer.go b/vendor/golang.org/x/tools/cmd/stringer/stringer.go index 038e8e831b6f9..7ff0ee8d0c81b 100644 --- a/vendor/golang.org/x/tools/cmd/stringer/stringer.go +++ b/vendor/golang.org/x/tools/cmd/stringer/stringer.go @@ -70,6 +70,10 @@ // PillAspirin // Aspirin // // to suppress it in the output. +// +// The -trimprefix flag specifies a prefix to remove from the constant names +// when generating the string representations. For instance, -trimprefix=Pill +// would be an alternative way to ensure that PillAspirin.String() == "Aspirin". package main // import "golang.org/x/tools/cmd/stringer" import ( @@ -209,7 +213,7 @@ func main() { // and the separate package of tests (package foo_test). outputName = filepath.Join(dir, baseName(pkg, foundTypes[0])) } - err := os.WriteFile(outputName, src, 0644) + err := os.WriteFile(outputName, src, 0o644) if err != nil { log.Fatalf("writing output: %s", err) } @@ -637,44 +641,19 @@ func (g *Generator) buildOneRun(runs [][]Value, typeName string) { values := runs[0] g.Printf("\n") g.declareIndexAndNameVar(values, typeName) - // The generated code is simple enough to write as a Printf format. - lessThanZero := "" - if values[0].signed { - lessThanZero = "i < 0 || " - } - if values[0].value == 0 { // Signed or unsigned, 0 is still 0. - g.Printf(stringOneRun, typeName, usize(len(values)), lessThanZero) - } else { - g.Printf(stringOneRunWithOffset, typeName, values[0].String(), usize(len(values)), lessThanZero) - } + g.Printf(stringOneRun, typeName, values[0].String()) } // Arguments to format are: // // [1]: type name -// [2]: size of index element (8 for uint8 etc.) -// [3]: less than zero check (for signed types) +// [2]: lowest defined value for type, as a string const stringOneRun = `func (i %[1]s) String() string { - if %[3]si >= %[1]s(len(_%[1]s_index)-1) { + idx := int(i) - %[2]s + if i < %[2]s || idx >= len(_%[1]s_index)-1 { return "%[1]s(" + strconv.FormatInt(int64(i), 10) + ")" } - return _%[1]s_name[_%[1]s_index[i]:_%[1]s_index[i+1]] -} -` - -// Arguments to format are: -// [1]: type name -// [2]: lowest defined value for type, as a string -// [3]: size of index element (8 for uint8 etc.) -// [4]: less than zero check (for signed types) -/* - */ -const stringOneRunWithOffset = `func (i %[1]s) String() string { - i -= %[2]s - if %[4]si >= %[1]s(len(_%[1]s_index)-1) { - return "%[1]s(" + strconv.FormatInt(int64(i + %[2]s), 10) + ")" - } - return _%[1]s_name[_%[1]s_index[i] : _%[1]s_index[i+1]] + return _%[1]s_name[_%[1]s_index[idx] : _%[1]s_index[idx+1]] } ` diff --git a/vendor/golang.org/x/tools/go/ast/astutil/imports.go b/vendor/golang.org/x/tools/go/ast/astutil/imports.go index 5e5601aa46775..5bacc0fa49e03 100644 --- a/vendor/golang.org/x/tools/go/ast/astutil/imports.go +++ b/vendor/golang.org/x/tools/go/ast/astutil/imports.go @@ -209,48 +209,46 @@ func DeleteImport(fset *token.FileSet, f *ast.File, path string) (deleted bool) // DeleteNamedImport deletes the import with the given name and path from the file f, if present. // If there are duplicate import declarations, all matching ones are deleted. func DeleteNamedImport(fset *token.FileSet, f *ast.File, name, path string) (deleted bool) { - var delspecs []*ast.ImportSpec - var delcomments []*ast.CommentGroup + var ( + delspecs = make(map[*ast.ImportSpec]bool) + delcomments = make(map[*ast.CommentGroup]bool) + ) // Find the import nodes that import path, if any. for i := 0; i < len(f.Decls); i++ { - decl := f.Decls[i] - gen, ok := decl.(*ast.GenDecl) + gen, ok := f.Decls[i].(*ast.GenDecl) if !ok || gen.Tok != token.IMPORT { continue } for j := 0; j < len(gen.Specs); j++ { - spec := gen.Specs[j] - impspec := spec.(*ast.ImportSpec) + impspec := gen.Specs[j].(*ast.ImportSpec) if importName(impspec) != name || importPath(impspec) != path { continue } // We found an import spec that imports path. // Delete it. - delspecs = append(delspecs, impspec) + delspecs[impspec] = true deleted = true - copy(gen.Specs[j:], gen.Specs[j+1:]) - gen.Specs = gen.Specs[:len(gen.Specs)-1] + gen.Specs = slices.Delete(gen.Specs, j, j+1) // If this was the last import spec in this decl, // delete the decl, too. if len(gen.Specs) == 0 { - copy(f.Decls[i:], f.Decls[i+1:]) - f.Decls = f.Decls[:len(f.Decls)-1] + f.Decls = slices.Delete(f.Decls, i, i+1) i-- break } else if len(gen.Specs) == 1 { if impspec.Doc != nil { - delcomments = append(delcomments, impspec.Doc) + delcomments[impspec.Doc] = true } if impspec.Comment != nil { - delcomments = append(delcomments, impspec.Comment) + delcomments[impspec.Comment] = true } for _, cg := range f.Comments { // Found comment on the same line as the import spec. if cg.End() < impspec.Pos() && fset.Position(cg.End()).Line == fset.Position(impspec.Pos()).Line { - delcomments = append(delcomments, cg) + delcomments[cg] = true break } } @@ -294,38 +292,21 @@ func DeleteNamedImport(fset *token.FileSet, f *ast.File, name, path string) (del } // Delete imports from f.Imports. - for i := 0; i < len(f.Imports); i++ { - imp := f.Imports[i] - for j, del := range delspecs { - if imp == del { - copy(f.Imports[i:], f.Imports[i+1:]) - f.Imports = f.Imports[:len(f.Imports)-1] - copy(delspecs[j:], delspecs[j+1:]) - delspecs = delspecs[:len(delspecs)-1] - i-- - break - } - } + before := len(f.Imports) + f.Imports = slices.DeleteFunc(f.Imports, func(imp *ast.ImportSpec) bool { + _, ok := delspecs[imp] + return ok + }) + if len(f.Imports)+len(delspecs) != before { + // This can happen when the AST is invalid (i.e. imports differ between f.Decls and f.Imports). + panic(fmt.Sprintf("deleted specs from Decls but not Imports: %v", delspecs)) } // Delete comments from f.Comments. - for i := 0; i < len(f.Comments); i++ { - cg := f.Comments[i] - for j, del := range delcomments { - if cg == del { - copy(f.Comments[i:], f.Comments[i+1:]) - f.Comments = f.Comments[:len(f.Comments)-1] - copy(delcomments[j:], delcomments[j+1:]) - delcomments = delcomments[:len(delcomments)-1] - i-- - break - } - } - } - - if len(delspecs) > 0 { - panic(fmt.Sprintf("deleted specs from Decls but not Imports: %v", delspecs)) - } + f.Comments = slices.DeleteFunc(f.Comments, func(cg *ast.CommentGroup) bool { + _, ok := delcomments[cg] + return ok + }) return } diff --git a/vendor/golang.org/x/tools/go/ast/edge/edge.go b/vendor/golang.org/x/tools/go/ast/edge/edge.go new file mode 100644 index 0000000000000..4f6ccfd6e5e29 --- /dev/null +++ b/vendor/golang.org/x/tools/go/ast/edge/edge.go @@ -0,0 +1,295 @@ +// Copyright 2025 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package edge defines identifiers for each field of an ast.Node +// struct type that refers to another Node. +package edge + +import ( + "fmt" + "go/ast" + "reflect" +) + +// A Kind describes a field of an ast.Node struct. +type Kind uint8 + +// String returns a description of the edge kind. +func (k Kind) String() string { + if k == Invalid { + return "" + } + info := fieldInfos[k] + return fmt.Sprintf("%v.%s", info.nodeType.Elem().Name(), info.name) +} + +// NodeType returns the pointer-to-struct type of the ast.Node implementation. +func (k Kind) NodeType() reflect.Type { return fieldInfos[k].nodeType } + +// FieldName returns the name of the field. +func (k Kind) FieldName() string { return fieldInfos[k].name } + +// FieldType returns the declared type of the field. +func (k Kind) FieldType() reflect.Type { return fieldInfos[k].fieldType } + +// Get returns the direct child of n identified by (k, idx). +// n's type must match k.NodeType(). +// idx must be a valid slice index, or -1 for a non-slice. +func (k Kind) Get(n ast.Node, idx int) ast.Node { + if k.NodeType() != reflect.TypeOf(n) { + panic(fmt.Sprintf("%v.Get(%T): invalid node type", k, n)) + } + v := reflect.ValueOf(n).Elem().Field(fieldInfos[k].index) + if idx != -1 { + v = v.Index(idx) // asserts valid index + } else { + // (The type assertion below asserts that v is not a slice.) + } + return v.Interface().(ast.Node) // may be nil +} + +const ( + Invalid Kind = iota // for nodes at the root of the traversal + + // Kinds are sorted alphabetically. + // Numbering is not stable. + // Each is named Type_Field, where Type is the + // ast.Node struct type and Field is the name of the field + + ArrayType_Elt + ArrayType_Len + AssignStmt_Lhs + AssignStmt_Rhs + BinaryExpr_X + BinaryExpr_Y + BlockStmt_List + BranchStmt_Label + CallExpr_Args + CallExpr_Fun + CaseClause_Body + CaseClause_List + ChanType_Value + CommClause_Body + CommClause_Comm + CommentGroup_List + CompositeLit_Elts + CompositeLit_Type + DeclStmt_Decl + DeferStmt_Call + Ellipsis_Elt + ExprStmt_X + FieldList_List + Field_Comment + Field_Doc + Field_Names + Field_Tag + Field_Type + File_Decls + File_Doc + File_Name + ForStmt_Body + ForStmt_Cond + ForStmt_Init + ForStmt_Post + FuncDecl_Body + FuncDecl_Doc + FuncDecl_Name + FuncDecl_Recv + FuncDecl_Type + FuncLit_Body + FuncLit_Type + FuncType_Params + FuncType_Results + FuncType_TypeParams + GenDecl_Doc + GenDecl_Specs + GoStmt_Call + IfStmt_Body + IfStmt_Cond + IfStmt_Else + IfStmt_Init + ImportSpec_Comment + ImportSpec_Doc + ImportSpec_Name + ImportSpec_Path + IncDecStmt_X + IndexExpr_Index + IndexExpr_X + IndexListExpr_Indices + IndexListExpr_X + InterfaceType_Methods + KeyValueExpr_Key + KeyValueExpr_Value + LabeledStmt_Label + LabeledStmt_Stmt + MapType_Key + MapType_Value + ParenExpr_X + RangeStmt_Body + RangeStmt_Key + RangeStmt_Value + RangeStmt_X + ReturnStmt_Results + SelectStmt_Body + SelectorExpr_Sel + SelectorExpr_X + SendStmt_Chan + SendStmt_Value + SliceExpr_High + SliceExpr_Low + SliceExpr_Max + SliceExpr_X + StarExpr_X + StructType_Fields + SwitchStmt_Body + SwitchStmt_Init + SwitchStmt_Tag + TypeAssertExpr_Type + TypeAssertExpr_X + TypeSpec_Comment + TypeSpec_Doc + TypeSpec_Name + TypeSpec_Type + TypeSpec_TypeParams + TypeSwitchStmt_Assign + TypeSwitchStmt_Body + TypeSwitchStmt_Init + UnaryExpr_X + ValueSpec_Comment + ValueSpec_Doc + ValueSpec_Names + ValueSpec_Type + ValueSpec_Values + + maxKind +) + +// Assert that the encoding fits in 7 bits, +// as the inspector relies on this. +// (We are currently at 104.) +var _ = [1 << 7]struct{}{}[maxKind] + +type fieldInfo struct { + nodeType reflect.Type // pointer-to-struct type of ast.Node implementation + name string + index int + fieldType reflect.Type +} + +func info[N ast.Node](fieldName string) fieldInfo { + nodePtrType := reflect.TypeFor[N]() + f, ok := nodePtrType.Elem().FieldByName(fieldName) + if !ok { + panic(fieldName) + } + return fieldInfo{nodePtrType, fieldName, f.Index[0], f.Type} +} + +var fieldInfos = [...]fieldInfo{ + Invalid: {}, + ArrayType_Elt: info[*ast.ArrayType]("Elt"), + ArrayType_Len: info[*ast.ArrayType]("Len"), + AssignStmt_Lhs: info[*ast.AssignStmt]("Lhs"), + AssignStmt_Rhs: info[*ast.AssignStmt]("Rhs"), + BinaryExpr_X: info[*ast.BinaryExpr]("X"), + BinaryExpr_Y: info[*ast.BinaryExpr]("Y"), + BlockStmt_List: info[*ast.BlockStmt]("List"), + BranchStmt_Label: info[*ast.BranchStmt]("Label"), + CallExpr_Args: info[*ast.CallExpr]("Args"), + CallExpr_Fun: info[*ast.CallExpr]("Fun"), + CaseClause_Body: info[*ast.CaseClause]("Body"), + CaseClause_List: info[*ast.CaseClause]("List"), + ChanType_Value: info[*ast.ChanType]("Value"), + CommClause_Body: info[*ast.CommClause]("Body"), + CommClause_Comm: info[*ast.CommClause]("Comm"), + CommentGroup_List: info[*ast.CommentGroup]("List"), + CompositeLit_Elts: info[*ast.CompositeLit]("Elts"), + CompositeLit_Type: info[*ast.CompositeLit]("Type"), + DeclStmt_Decl: info[*ast.DeclStmt]("Decl"), + DeferStmt_Call: info[*ast.DeferStmt]("Call"), + Ellipsis_Elt: info[*ast.Ellipsis]("Elt"), + ExprStmt_X: info[*ast.ExprStmt]("X"), + FieldList_List: info[*ast.FieldList]("List"), + Field_Comment: info[*ast.Field]("Comment"), + Field_Doc: info[*ast.Field]("Doc"), + Field_Names: info[*ast.Field]("Names"), + Field_Tag: info[*ast.Field]("Tag"), + Field_Type: info[*ast.Field]("Type"), + File_Decls: info[*ast.File]("Decls"), + File_Doc: info[*ast.File]("Doc"), + File_Name: info[*ast.File]("Name"), + ForStmt_Body: info[*ast.ForStmt]("Body"), + ForStmt_Cond: info[*ast.ForStmt]("Cond"), + ForStmt_Init: info[*ast.ForStmt]("Init"), + ForStmt_Post: info[*ast.ForStmt]("Post"), + FuncDecl_Body: info[*ast.FuncDecl]("Body"), + FuncDecl_Doc: info[*ast.FuncDecl]("Doc"), + FuncDecl_Name: info[*ast.FuncDecl]("Name"), + FuncDecl_Recv: info[*ast.FuncDecl]("Recv"), + FuncDecl_Type: info[*ast.FuncDecl]("Type"), + FuncLit_Body: info[*ast.FuncLit]("Body"), + FuncLit_Type: info[*ast.FuncLit]("Type"), + FuncType_Params: info[*ast.FuncType]("Params"), + FuncType_Results: info[*ast.FuncType]("Results"), + FuncType_TypeParams: info[*ast.FuncType]("TypeParams"), + GenDecl_Doc: info[*ast.GenDecl]("Doc"), + GenDecl_Specs: info[*ast.GenDecl]("Specs"), + GoStmt_Call: info[*ast.GoStmt]("Call"), + IfStmt_Body: info[*ast.IfStmt]("Body"), + IfStmt_Cond: info[*ast.IfStmt]("Cond"), + IfStmt_Else: info[*ast.IfStmt]("Else"), + IfStmt_Init: info[*ast.IfStmt]("Init"), + ImportSpec_Comment: info[*ast.ImportSpec]("Comment"), + ImportSpec_Doc: info[*ast.ImportSpec]("Doc"), + ImportSpec_Name: info[*ast.ImportSpec]("Name"), + ImportSpec_Path: info[*ast.ImportSpec]("Path"), + IncDecStmt_X: info[*ast.IncDecStmt]("X"), + IndexExpr_Index: info[*ast.IndexExpr]("Index"), + IndexExpr_X: info[*ast.IndexExpr]("X"), + IndexListExpr_Indices: info[*ast.IndexListExpr]("Indices"), + IndexListExpr_X: info[*ast.IndexListExpr]("X"), + InterfaceType_Methods: info[*ast.InterfaceType]("Methods"), + KeyValueExpr_Key: info[*ast.KeyValueExpr]("Key"), + KeyValueExpr_Value: info[*ast.KeyValueExpr]("Value"), + LabeledStmt_Label: info[*ast.LabeledStmt]("Label"), + LabeledStmt_Stmt: info[*ast.LabeledStmt]("Stmt"), + MapType_Key: info[*ast.MapType]("Key"), + MapType_Value: info[*ast.MapType]("Value"), + ParenExpr_X: info[*ast.ParenExpr]("X"), + RangeStmt_Body: info[*ast.RangeStmt]("Body"), + RangeStmt_Key: info[*ast.RangeStmt]("Key"), + RangeStmt_Value: info[*ast.RangeStmt]("Value"), + RangeStmt_X: info[*ast.RangeStmt]("X"), + ReturnStmt_Results: info[*ast.ReturnStmt]("Results"), + SelectStmt_Body: info[*ast.SelectStmt]("Body"), + SelectorExpr_Sel: info[*ast.SelectorExpr]("Sel"), + SelectorExpr_X: info[*ast.SelectorExpr]("X"), + SendStmt_Chan: info[*ast.SendStmt]("Chan"), + SendStmt_Value: info[*ast.SendStmt]("Value"), + SliceExpr_High: info[*ast.SliceExpr]("High"), + SliceExpr_Low: info[*ast.SliceExpr]("Low"), + SliceExpr_Max: info[*ast.SliceExpr]("Max"), + SliceExpr_X: info[*ast.SliceExpr]("X"), + StarExpr_X: info[*ast.StarExpr]("X"), + StructType_Fields: info[*ast.StructType]("Fields"), + SwitchStmt_Body: info[*ast.SwitchStmt]("Body"), + SwitchStmt_Init: info[*ast.SwitchStmt]("Init"), + SwitchStmt_Tag: info[*ast.SwitchStmt]("Tag"), + TypeAssertExpr_Type: info[*ast.TypeAssertExpr]("Type"), + TypeAssertExpr_X: info[*ast.TypeAssertExpr]("X"), + TypeSpec_Comment: info[*ast.TypeSpec]("Comment"), + TypeSpec_Doc: info[*ast.TypeSpec]("Doc"), + TypeSpec_Name: info[*ast.TypeSpec]("Name"), + TypeSpec_Type: info[*ast.TypeSpec]("Type"), + TypeSpec_TypeParams: info[*ast.TypeSpec]("TypeParams"), + TypeSwitchStmt_Assign: info[*ast.TypeSwitchStmt]("Assign"), + TypeSwitchStmt_Body: info[*ast.TypeSwitchStmt]("Body"), + TypeSwitchStmt_Init: info[*ast.TypeSwitchStmt]("Init"), + UnaryExpr_X: info[*ast.UnaryExpr]("X"), + ValueSpec_Comment: info[*ast.ValueSpec]("Comment"), + ValueSpec_Doc: info[*ast.ValueSpec]("Doc"), + ValueSpec_Names: info[*ast.ValueSpec]("Names"), + ValueSpec_Type: info[*ast.ValueSpec]("Type"), + ValueSpec_Values: info[*ast.ValueSpec]("Values"), +} diff --git a/vendor/golang.org/x/tools/go/ast/inspector/cursor.go b/vendor/golang.org/x/tools/go/ast/inspector/cursor.go new file mode 100644 index 0000000000000..7e72d3c284b8a --- /dev/null +++ b/vendor/golang.org/x/tools/go/ast/inspector/cursor.go @@ -0,0 +1,502 @@ +// Copyright 2025 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package inspector + +import ( + "fmt" + "go/ast" + "go/token" + "iter" + "reflect" + + "golang.org/x/tools/go/ast/edge" +) + +// A Cursor represents an [ast.Node]. It is immutable. +// +// Two Cursors compare equal if they represent the same node. +// +// Call [Inspector.Root] to obtain a valid cursor for the virtual root +// node of the traversal. +// +// Use the following methods to navigate efficiently around the tree: +// - for ancestors, use [Cursor.Parent] and [Cursor.Enclosing]; +// - for children, use [Cursor.Child], [Cursor.Children], +// [Cursor.FirstChild], and [Cursor.LastChild]; +// - for siblings, use [Cursor.PrevSibling] and [Cursor.NextSibling]; +// - for descendants, use [Cursor.FindByPos], [Cursor.FindNode], +// [Cursor.Inspect], and [Cursor.Preorder]. +// +// Use the [Cursor.ChildAt] and [Cursor.ParentEdge] methods for +// information about the edges in a tree: which field (and slice +// element) of the parent node holds the child. +type Cursor struct { + in *Inspector + index int32 // index of push node; -1 for virtual root node +} + +// Root returns a cursor for the virtual root node, +// whose children are the files provided to [New]. +// +// Its [Cursor.Node] method return nil. +func (in *Inspector) Root() Cursor { + return Cursor{in, -1} +} + +// At returns the cursor at the specified index in the traversal, +// which must have been obtained from [Cursor.Index] on a Cursor +// belonging to the same Inspector (see [Cursor.Inspector]). +func (in *Inspector) At(index int32) Cursor { + if index < 0 { + panic("negative index") + } + if int(index) >= len(in.events) { + panic("index out of range for this inspector") + } + if in.events[index].index < index { + panic("invalid index") // (a push, not a pop) + } + return Cursor{in, index} +} + +// Inspector returns the cursor's Inspector. +func (c Cursor) Inspector() *Inspector { return c.in } + +// Index returns the index of this cursor position within the package. +// +// Clients should not assume anything about the numeric Index value +// except that it increases monotonically throughout the traversal. +// It is provided for use with [At]. +// +// Index must not be called on the Root node. +func (c Cursor) Index() int32 { + if c.index < 0 { + panic("Index called on Root node") + } + return c.index +} + +// Node returns the node at the current cursor position, +// or nil for the cursor returned by [Inspector.Root]. +func (c Cursor) Node() ast.Node { + if c.index < 0 { + return nil + } + return c.in.events[c.index].node +} + +// String returns information about the cursor's node, if any. +func (c Cursor) String() string { + if c.in == nil { + return "(invalid)" + } + if c.index < 0 { + return "(root)" + } + return reflect.TypeOf(c.Node()).String() +} + +// indices return the [start, end) half-open interval of event indices. +func (c Cursor) indices() (int32, int32) { + if c.index < 0 { + return 0, int32(len(c.in.events)) // root: all events + } else { + return c.index, c.in.events[c.index].index + 1 // just one subtree + } +} + +// Preorder returns an iterator over the nodes of the subtree +// represented by c in depth-first order. Each node in the sequence is +// represented by a Cursor that allows access to the Node, but may +// also be used to start a new traversal, or to obtain the stack of +// nodes enclosing the cursor. +// +// The traversal sequence is determined by [ast.Inspect]. The types +// argument, if non-empty, enables type-based filtering of events. The +// function f if is called only for nodes whose type matches an +// element of the types slice. +// +// If you need control over descent into subtrees, +// or need both pre- and post-order notifications, use [Cursor.Inspect] +func (c Cursor) Preorder(types ...ast.Node) iter.Seq[Cursor] { + mask := maskOf(types) + + return func(yield func(Cursor) bool) { + events := c.in.events + + for i, limit := c.indices(); i < limit; { + ev := events[i] + if ev.index > i { // push? + if ev.typ&mask != 0 && !yield(Cursor{c.in, i}) { + break + } + pop := ev.index + if events[pop].typ&mask == 0 { + // Subtree does not contain types: skip. + i = pop + 1 + continue + } + } + i++ + } + } +} + +// Inspect visits the nodes of the subtree represented by c in +// depth-first order. It calls f(n) for each node n before it +// visits n's children. If f returns true, Inspect invokes f +// recursively for each of the non-nil children of the node. +// +// Each node is represented by a Cursor that allows access to the +// Node, but may also be used to start a new traversal, or to obtain +// the stack of nodes enclosing the cursor. +// +// The complete traversal sequence is determined by [ast.Inspect]. +// The types argument, if non-empty, enables type-based filtering of +// events. The function f if is called only for nodes whose type +// matches an element of the types slice. +func (c Cursor) Inspect(types []ast.Node, f func(c Cursor) (descend bool)) { + mask := maskOf(types) + events := c.in.events + for i, limit := c.indices(); i < limit; { + ev := events[i] + if ev.index > i { + // push + pop := ev.index + if ev.typ&mask != 0 && !f(Cursor{c.in, i}) || + events[pop].typ&mask == 0 { + // The user opted not to descend, or the + // subtree does not contain types: + // skip past the pop. + i = pop + 1 + continue + } + } + i++ + } +} + +// Enclosing returns an iterator over the nodes enclosing the current +// current node, starting with the Cursor itself. +// +// Enclosing must not be called on the Root node (whose [Cursor.Node] returns nil). +// +// The types argument, if non-empty, enables type-based filtering of +// events: the sequence includes only enclosing nodes whose type +// matches an element of the types slice. +func (c Cursor) Enclosing(types ...ast.Node) iter.Seq[Cursor] { + if c.index < 0 { + panic("Cursor.Enclosing called on Root node") + } + + mask := maskOf(types) + + return func(yield func(Cursor) bool) { + events := c.in.events + for i := c.index; i >= 0; i = events[i].parent { + if events[i].typ&mask != 0 && !yield(Cursor{c.in, i}) { + break + } + } + } +} + +// Parent returns the parent of the current node. +// +// Parent must not be called on the Root node (whose [Cursor.Node] returns nil). +func (c Cursor) Parent() Cursor { + if c.index < 0 { + panic("Cursor.Parent called on Root node") + } + + return Cursor{c.in, c.in.events[c.index].parent} +} + +// ParentEdge returns the identity of the field in the parent node +// that holds this cursor's node, and if it is a list, the index within it. +// +// For example, f(x, y) is a CallExpr whose three children are Idents. +// f has edge kind [edge.CallExpr_Fun] and index -1. +// x and y have kind [edge.CallExpr_Args] and indices 0 and 1, respectively. +// +// If called on a child of the Root node, it returns ([edge.Invalid], -1). +// +// ParentEdge must not be called on the Root node (whose [Cursor.Node] returns nil). +func (c Cursor) ParentEdge() (edge.Kind, int) { + if c.index < 0 { + panic("Cursor.ParentEdge called on Root node") + } + events := c.in.events + pop := events[c.index].index + return unpackEdgeKindAndIndex(events[pop].parent) +} + +// ChildAt returns the cursor for the child of the +// current node identified by its edge and index. +// The index must be -1 if the edge.Kind is not a slice. +// The indicated child node must exist. +// +// ChildAt must not be called on the Root node (whose [Cursor.Node] returns nil). +// +// Invariant: c.Parent().ChildAt(c.ParentEdge()) == c. +func (c Cursor) ChildAt(k edge.Kind, idx int) Cursor { + target := packEdgeKindAndIndex(k, idx) + + // Unfortunately there's no shortcut to looping. + events := c.in.events + i := c.index + 1 + for { + pop := events[i].index + if pop < i { + break + } + if events[pop].parent == target { + return Cursor{c.in, i} + } + i = pop + 1 + } + panic(fmt.Sprintf("ChildAt(%v, %d): no such child of %v", k, idx, c)) +} + +// Child returns the cursor for n, which must be a direct child of c's Node. +// +// Child must not be called on the Root node (whose [Cursor.Node] returns nil). +func (c Cursor) Child(n ast.Node) Cursor { + if c.index < 0 { + panic("Cursor.Child called on Root node") + } + + if false { + // reference implementation + for child := range c.Children() { + if child.Node() == n { + return child + } + } + + } else { + // optimized implementation + events := c.in.events + for i := c.index + 1; events[i].index > i; i = events[i].index + 1 { + if events[i].node == n { + return Cursor{c.in, i} + } + } + } + panic(fmt.Sprintf("Child(%T): not a child of %v", n, c)) +} + +// NextSibling returns the cursor for the next sibling node in the same list +// (for example, of files, decls, specs, statements, fields, or expressions) as +// the current node. It returns (zero, false) if the node is the last node in +// the list, or is not part of a list. +// +// NextSibling must not be called on the Root node. +// +// See note at [Cursor.Children]. +func (c Cursor) NextSibling() (Cursor, bool) { + if c.index < 0 { + panic("Cursor.NextSibling called on Root node") + } + + events := c.in.events + i := events[c.index].index + 1 // after corresponding pop + if i < int32(len(events)) { + if events[i].index > i { // push? + return Cursor{c.in, i}, true + } + } + return Cursor{}, false +} + +// PrevSibling returns the cursor for the previous sibling node in the +// same list (for example, of files, decls, specs, statements, fields, +// or expressions) as the current node. It returns zero if the node is +// the first node in the list, or is not part of a list. +// +// It must not be called on the Root node. +// +// See note at [Cursor.Children]. +func (c Cursor) PrevSibling() (Cursor, bool) { + if c.index < 0 { + panic("Cursor.PrevSibling called on Root node") + } + + events := c.in.events + i := c.index - 1 + if i >= 0 { + if j := events[i].index; j < i { // pop? + return Cursor{c.in, j}, true + } + } + return Cursor{}, false +} + +// FirstChild returns the first direct child of the current node, +// or zero if it has no children. +func (c Cursor) FirstChild() (Cursor, bool) { + events := c.in.events + i := c.index + 1 // i=0 if c is root + if i < int32(len(events)) && events[i].index > i { // push? + return Cursor{c.in, i}, true + } + return Cursor{}, false +} + +// LastChild returns the last direct child of the current node, +// or zero if it has no children. +func (c Cursor) LastChild() (Cursor, bool) { + events := c.in.events + if c.index < 0 { // root? + if len(events) > 0 { + // return push of final event (a pop) + return Cursor{c.in, events[len(events)-1].index}, true + } + } else { + j := events[c.index].index - 1 // before corresponding pop + // Inv: j == c.index if c has no children + // or j is last child's pop. + if j > c.index { // c has children + return Cursor{c.in, events[j].index}, true + } + } + return Cursor{}, false +} + +// Children returns an iterator over the direct children of the +// current node, if any. +// +// When using Children, NextChild, and PrevChild, bear in mind that a +// Node's children may come from different fields, some of which may +// be lists of nodes without a distinguished intervening container +// such as [ast.BlockStmt]. +// +// For example, [ast.CaseClause] has a field List of expressions and a +// field Body of statements, so the children of a CaseClause are a mix +// of expressions and statements. Other nodes that have "uncontained" +// list fields include: +// +// - [ast.ValueSpec] (Names, Values) +// - [ast.CompositeLit] (Type, Elts) +// - [ast.IndexListExpr] (X, Indices) +// - [ast.CallExpr] (Fun, Args) +// - [ast.AssignStmt] (Lhs, Rhs) +// +// So, do not assume that the previous sibling of an ast.Stmt is also +// an ast.Stmt, or if it is, that they are executed sequentially, +// unless you have established that, say, its parent is a BlockStmt +// or its [Cursor.ParentEdge] is [edge.BlockStmt_List]. +// For example, given "for S1; ; S2 {}", the predecessor of S2 is S1, +// even though they are not executed in sequence. +func (c Cursor) Children() iter.Seq[Cursor] { + return func(yield func(Cursor) bool) { + c, ok := c.FirstChild() + for ok && yield(c) { + c, ok = c.NextSibling() + } + } +} + +// Contains reports whether c contains or is equal to c2. +// +// Both Cursors must belong to the same [Inspector]; +// neither may be its Root node. +func (c Cursor) Contains(c2 Cursor) bool { + if c.in != c2.in { + panic("different inspectors") + } + events := c.in.events + return c.index <= c2.index && events[c2.index].index <= events[c.index].index +} + +// FindNode returns the cursor for node n if it belongs to the subtree +// rooted at c. It returns zero if n is not found. +func (c Cursor) FindNode(n ast.Node) (Cursor, bool) { + + // FindNode is equivalent to this code, + // but more convenient and 15-20% faster: + if false { + for candidate := range c.Preorder(n) { + if candidate.Node() == n { + return candidate, true + } + } + return Cursor{}, false + } + + // TODO(adonovan): opt: should we assume Node.Pos is accurate + // and combine type-based filtering with position filtering + // like FindByPos? + + mask := maskOf([]ast.Node{n}) + events := c.in.events + + for i, limit := c.indices(); i < limit; i++ { + ev := events[i] + if ev.index > i { // push? + if ev.typ&mask != 0 && ev.node == n { + return Cursor{c.in, i}, true + } + pop := ev.index + if events[pop].typ&mask == 0 { + // Subtree does not contain type of n: skip. + i = pop + } + } + } + return Cursor{}, false +} + +// FindByPos returns the cursor for the innermost node n in the tree +// rooted at c such that n.Pos() <= start && end <= n.End(). +// (For an *ast.File, it uses the bounds n.FileStart-n.FileEnd.) +// +// It returns zero if none is found. +// Precondition: start <= end. +// +// See also [astutil.PathEnclosingInterval], which +// tolerates adjoining whitespace. +func (c Cursor) FindByPos(start, end token.Pos) (Cursor, bool) { + if end < start { + panic("end < start") + } + events := c.in.events + + // This algorithm could be implemented using c.Inspect, + // but it is about 2.5x slower. + + best := int32(-1) // push index of latest (=innermost) node containing range + for i, limit := c.indices(); i < limit; i++ { + ev := events[i] + if ev.index > i { // push? + n := ev.node + var nodeEnd token.Pos + if file, ok := n.(*ast.File); ok { + nodeEnd = file.FileEnd + // Note: files may be out of Pos order. + if file.FileStart > start { + i = ev.index // disjoint, after; skip to next file + continue + } + } else { + nodeEnd = n.End() + if n.Pos() > start { + break // disjoint, after; stop + } + } + // Inv: node.{Pos,FileStart} <= start + if end <= nodeEnd { + // node fully contains target range + best = i + } else if nodeEnd < start { + i = ev.index // disjoint, before; skip forward + } + } + } + if best >= 0 { + return Cursor{c.in, best}, true + } + return Cursor{}, false +} diff --git a/vendor/golang.org/x/tools/go/ast/inspector/inspector.go b/vendor/golang.org/x/tools/go/ast/inspector/inspector.go new file mode 100644 index 0000000000000..a703cdfcf9092 --- /dev/null +++ b/vendor/golang.org/x/tools/go/ast/inspector/inspector.go @@ -0,0 +1,311 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package inspector provides helper functions for traversal over the +// syntax trees of a package, including node filtering by type, and +// materialization of the traversal stack. +// +// During construction, the inspector does a complete traversal and +// builds a list of push/pop events and their node type. Subsequent +// method calls that request a traversal scan this list, rather than walk +// the AST, and perform type filtering using efficient bit sets. +// This representation is sometimes called a "balanced parenthesis tree." +// +// Experiments suggest the inspector's traversals are about 2.5x faster +// than [ast.Inspect], but it may take around 5 traversals for this +// benefit to amortize the inspector's construction cost. +// If efficiency is the primary concern, do not use Inspector for +// one-off traversals. +// +// The [Cursor] type provides a more flexible API for efficient +// navigation of syntax trees in all four "cardinal directions". For +// example, traversals may be nested, so you can find each node of +// type A and then search within it for nodes of type B. Or you can +// traverse from a node to its immediate neighbors: its parent, its +// previous and next sibling, or its first and last child. We +// recommend using methods of Cursor in preference to Inspector where +// possible. +package inspector + +// There are four orthogonal features in a traversal: +// 1 type filtering +// 2 pruning +// 3 postorder calls to f +// 4 stack +// Rather than offer all of them in the API, +// only a few combinations are exposed: +// - Preorder is the fastest and has fewest features, +// but is the most commonly needed traversal. +// - Nodes and WithStack both provide pruning and postorder calls, +// even though few clients need it, because supporting two versions +// is not justified. +// More combinations could be supported by expressing them as +// wrappers around a more generic traversal, but this was measured +// and found to degrade performance significantly (30%). + +import ( + "go/ast" + + "golang.org/x/tools/go/ast/edge" +) + +// An Inspector provides methods for inspecting +// (traversing) the syntax trees of a package. +type Inspector struct { + events []event +} + +func packEdgeKindAndIndex(ek edge.Kind, index int) int32 { + return int32(uint32(index+1)<<7 | uint32(ek)) +} + +// unpackEdgeKindAndIndex unpacks the edge kind and edge index (within +// an []ast.Node slice) from the parent field of a pop event. +func unpackEdgeKindAndIndex(x int32) (edge.Kind, int) { + // The "parent" field of a pop node holds the + // edge Kind in the lower 7 bits and the index+1 + // in the upper 25. + return edge.Kind(x & 0x7f), int(x>>7) - 1 +} + +// New returns an Inspector for the specified syntax trees. +func New(files []*ast.File) *Inspector { + return &Inspector{traverse(files)} +} + +// An event represents a push or a pop +// of an ast.Node during a traversal. +type event struct { + node ast.Node + typ uint64 // typeOf(node) on push event, or union of typ strictly between push and pop events on pop events + index int32 // index of corresponding push or pop event + parent int32 // index of parent's push node (push nodes only), or packed edge kind/index (pop nodes only) +} + +// TODO: Experiment with storing only the second word of event.node (unsafe.Pointer). +// Type can be recovered from the sole bit in typ. +// [Tried this, wasn't faster. --adonovan] + +// Preorder visits all the nodes of the files supplied to New in +// depth-first order. It calls f(n) for each node n before it visits +// n's children. +// +// The complete traversal sequence is determined by [ast.Inspect]. +// The types argument, if non-empty, enables type-based filtering of +// events. The function f is called only for nodes whose type +// matches an element of the types slice. +// +// The [Cursor.Preorder] method provides a richer alternative interface. +// Example: +// +// for c := range in.Root().Preorder(types) { ... } +func (in *Inspector) Preorder(types []ast.Node, f func(ast.Node)) { + // Because it avoids postorder calls to f, and the pruning + // check, Preorder is almost twice as fast as Nodes. The two + // features seem to contribute similar slowdowns (~1.4x each). + + // This function is equivalent to the PreorderSeq call below, + // but to avoid the additional dynamic call (which adds 13-35% + // to the benchmarks), we expand it out. + // + // in.PreorderSeq(types...)(func(n ast.Node) bool { + // f(n) + // return true + // }) + + mask := maskOf(types) + for i := int32(0); i < int32(len(in.events)); { + ev := in.events[i] + if ev.index > i { + // push + if ev.typ&mask != 0 { + f(ev.node) + } + pop := ev.index + if in.events[pop].typ&mask == 0 { + // Subtrees do not contain types: skip them and pop. + i = pop + 1 + continue + } + } + i++ + } +} + +// Nodes visits the nodes of the files supplied to New in depth-first +// order. It calls f(n, true) for each node n before it visits n's +// children. If f returns true, Nodes invokes f recursively for each +// of the non-nil children of the node, followed by a call of +// f(n, false). +// +// The complete traversal sequence is determined by [ast.Inspect]. +// The types argument, if non-empty, enables type-based filtering of +// events. The function f if is called only for nodes whose type +// matches an element of the types slice. +// +// The [Cursor.Inspect] method provides a richer alternative interface. +// Example: +// +// in.Root().Inspect(types, func(c Cursor) bool { +// ... +// return true +// } +func (in *Inspector) Nodes(types []ast.Node, f func(n ast.Node, push bool) (proceed bool)) { + mask := maskOf(types) + for i := int32(0); i < int32(len(in.events)); { + ev := in.events[i] + if ev.index > i { + // push + pop := ev.index + if ev.typ&mask != 0 { + if !f(ev.node, true) { + i = pop + 1 // jump to corresponding pop + 1 + continue + } + } + if in.events[pop].typ&mask == 0 { + // Subtrees do not contain types: skip them. + i = pop + continue + } + } else { + // pop + push := ev.index + if in.events[push].typ&mask != 0 { + f(ev.node, false) + } + } + i++ + } +} + +// WithStack visits nodes in a similar manner to Nodes, but it +// supplies each call to f an additional argument, the current +// traversal stack. The stack's first element is the outermost node, +// an *ast.File; its last is the innermost, n. +// +// The [Cursor.Inspect] method provides a richer alternative interface. +// Example: +// +// in.Root().Inspect(types, func(c Cursor) bool { +// stack := slices.Collect(c.Enclosing()) +// ... +// return true +// }) +func (in *Inspector) WithStack(types []ast.Node, f func(n ast.Node, push bool, stack []ast.Node) (proceed bool)) { + mask := maskOf(types) + var stack []ast.Node + for i := int32(0); i < int32(len(in.events)); { + ev := in.events[i] + if ev.index > i { + // push + pop := ev.index + stack = append(stack, ev.node) + if ev.typ&mask != 0 { + if !f(ev.node, true, stack) { + i = pop + 1 + stack = stack[:len(stack)-1] + continue + } + } + if in.events[pop].typ&mask == 0 { + // Subtrees does not contain types: skip them. + i = pop + continue + } + } else { + // pop + push := ev.index + if in.events[push].typ&mask != 0 { + f(ev.node, false, stack) + } + stack = stack[:len(stack)-1] + } + i++ + } +} + +// traverse builds the table of events representing a traversal. +func traverse(files []*ast.File) []event { + // Preallocate approximate number of events + // based on source file extent of the declarations. + // (We use End-Pos not FileStart-FileEnd to neglect + // the effect of long doc comments.) + // This makes traverse faster by 4x (!). + var extent int + for _, f := range files { + extent += int(f.End() - f.Pos()) + } + // This estimate is based on the net/http package. + capacity := min(extent*33/100, 1e6) // impose some reasonable maximum (1M) + + v := &visitor{ + events: make([]event, 0, capacity), + stack: []item{{index: -1}}, // include an extra event so file nodes have a parent + } + for _, file := range files { + walk(v, edge.Invalid, -1, file) + } + return v.events +} + +type visitor struct { + events []event + stack []item +} + +type item struct { + index int32 // index of current node's push event + parentIndex int32 // index of parent node's push event + typAccum uint64 // accumulated type bits of current node's descendants + edgeKindAndIndex int32 // edge.Kind and index, bit packed +} + +func (v *visitor) push(ek edge.Kind, eindex int, node ast.Node) { + var ( + index = int32(len(v.events)) + parentIndex = v.stack[len(v.stack)-1].index + ) + v.events = append(v.events, event{ + node: node, + parent: parentIndex, + typ: typeOf(node), + index: 0, // (pop index is set later by visitor.pop) + }) + v.stack = append(v.stack, item{ + index: index, + parentIndex: parentIndex, + edgeKindAndIndex: packEdgeKindAndIndex(ek, eindex), + }) + + // 2B nodes ought to be enough for anyone! + if int32(len(v.events)) < 0 { + panic("event index exceeded int32") + } + + // 32M elements in an []ast.Node ought to be enough for anyone! + if ek2, eindex2 := unpackEdgeKindAndIndex(packEdgeKindAndIndex(ek, eindex)); ek2 != ek || eindex2 != eindex { + panic("Node slice index exceeded uint25") + } +} + +func (v *visitor) pop(node ast.Node) { + top := len(v.stack) - 1 + current := v.stack[top] + + push := &v.events[current.index] + parent := &v.stack[top-1] + + push.index = int32(len(v.events)) // make push event refer to pop + parent.typAccum |= current.typAccum | push.typ // accumulate type bits into parent + + v.stack = v.stack[:top] + + v.events = append(v.events, event{ + node: node, + typ: current.typAccum, + index: current.index, + parent: current.edgeKindAndIndex, // see [unpackEdgeKindAndIndex] + }) +} diff --git a/vendor/golang.org/x/tools/go/ast/inspector/iter.go b/vendor/golang.org/x/tools/go/ast/inspector/iter.go new file mode 100644 index 0000000000000..c576dc70ac709 --- /dev/null +++ b/vendor/golang.org/x/tools/go/ast/inspector/iter.go @@ -0,0 +1,85 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build go1.23 + +package inspector + +import ( + "go/ast" + "iter" +) + +// PreorderSeq returns an iterator that visits all the +// nodes of the files supplied to New in depth-first order. +// It visits each node n before n's children. +// The complete traversal sequence is determined by ast.Inspect. +// +// The types argument, if non-empty, enables type-based +// filtering of events: only nodes whose type matches an +// element of the types slice are included in the sequence. +func (in *Inspector) PreorderSeq(types ...ast.Node) iter.Seq[ast.Node] { + + // This implementation is identical to Preorder, + // except that it supports breaking out of the loop. + + return func(yield func(ast.Node) bool) { + mask := maskOf(types) + for i := int32(0); i < int32(len(in.events)); { + ev := in.events[i] + if ev.index > i { + // push + if ev.typ&mask != 0 { + if !yield(ev.node) { + break + } + } + pop := ev.index + if in.events[pop].typ&mask == 0 { + // Subtrees do not contain types: skip them and pop. + i = pop + 1 + continue + } + } + i++ + } + } +} + +// All[N] returns an iterator over all the nodes of type N. +// N must be a pointer-to-struct type that implements ast.Node. +// +// Example: +// +// for call := range All[*ast.CallExpr](in) { ... } +func All[N interface { + *S + ast.Node +}, S any](in *Inspector) iter.Seq[N] { + + // To avoid additional dynamic call overheads, + // we duplicate rather than call the logic of PreorderSeq. + + mask := typeOf((N)(nil)) + return func(yield func(N) bool) { + for i := int32(0); i < int32(len(in.events)); { + ev := in.events[i] + if ev.index > i { + // push + if ev.typ&mask != 0 { + if !yield(ev.node.(N)) { + break + } + } + pop := ev.index + if in.events[pop].typ&mask == 0 { + // Subtrees do not contain types: skip them and pop. + i = pop + 1 + continue + } + } + i++ + } + } +} diff --git a/vendor/golang.org/x/tools/go/ast/inspector/typeof.go b/vendor/golang.org/x/tools/go/ast/inspector/typeof.go new file mode 100644 index 0000000000000..9852331a3dbe3 --- /dev/null +++ b/vendor/golang.org/x/tools/go/ast/inspector/typeof.go @@ -0,0 +1,227 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package inspector + +// This file defines func typeOf(ast.Node) uint64. +// +// The initial map-based implementation was too slow; +// see https://go-review.googlesource.com/c/tools/+/135655/1/go/ast/inspector/inspector.go#196 + +import ( + "go/ast" + "math" +) + +const ( + nArrayType = iota + nAssignStmt + nBadDecl + nBadExpr + nBadStmt + nBasicLit + nBinaryExpr + nBlockStmt + nBranchStmt + nCallExpr + nCaseClause + nChanType + nCommClause + nComment + nCommentGroup + nCompositeLit + nDeclStmt + nDeferStmt + nEllipsis + nEmptyStmt + nExprStmt + nField + nFieldList + nFile + nForStmt + nFuncDecl + nFuncLit + nFuncType + nGenDecl + nGoStmt + nIdent + nIfStmt + nImportSpec + nIncDecStmt + nIndexExpr + nIndexListExpr + nInterfaceType + nKeyValueExpr + nLabeledStmt + nMapType + nPackage + nParenExpr + nRangeStmt + nReturnStmt + nSelectStmt + nSelectorExpr + nSendStmt + nSliceExpr + nStarExpr + nStructType + nSwitchStmt + nTypeAssertExpr + nTypeSpec + nTypeSwitchStmt + nUnaryExpr + nValueSpec +) + +// typeOf returns a distinct single-bit value that represents the type of n. +// +// Various implementations were benchmarked with BenchmarkNewInspector: +// +// GOGC=off +// - type switch 4.9-5.5ms 2.1ms +// - binary search over a sorted list of types 5.5-5.9ms 2.5ms +// - linear scan, frequency-ordered list 5.9-6.1ms 2.7ms +// - linear scan, unordered list 6.4ms 2.7ms +// - hash table 6.5ms 3.1ms +// +// A perfect hash seemed like overkill. +// +// The compiler's switch statement is the clear winner +// as it produces a binary tree in code, +// with constant conditions and good branch prediction. +// (Sadly it is the most verbose in source code.) +// Binary search suffered from poor branch prediction. +func typeOf(n ast.Node) uint64 { + // Fast path: nearly half of all nodes are identifiers. + if _, ok := n.(*ast.Ident); ok { + return 1 << nIdent + } + + // These cases include all nodes encountered by ast.Inspect. + switch n.(type) { + case *ast.ArrayType: + return 1 << nArrayType + case *ast.AssignStmt: + return 1 << nAssignStmt + case *ast.BadDecl: + return 1 << nBadDecl + case *ast.BadExpr: + return 1 << nBadExpr + case *ast.BadStmt: + return 1 << nBadStmt + case *ast.BasicLit: + return 1 << nBasicLit + case *ast.BinaryExpr: + return 1 << nBinaryExpr + case *ast.BlockStmt: + return 1 << nBlockStmt + case *ast.BranchStmt: + return 1 << nBranchStmt + case *ast.CallExpr: + return 1 << nCallExpr + case *ast.CaseClause: + return 1 << nCaseClause + case *ast.ChanType: + return 1 << nChanType + case *ast.CommClause: + return 1 << nCommClause + case *ast.Comment: + return 1 << nComment + case *ast.CommentGroup: + return 1 << nCommentGroup + case *ast.CompositeLit: + return 1 << nCompositeLit + case *ast.DeclStmt: + return 1 << nDeclStmt + case *ast.DeferStmt: + return 1 << nDeferStmt + case *ast.Ellipsis: + return 1 << nEllipsis + case *ast.EmptyStmt: + return 1 << nEmptyStmt + case *ast.ExprStmt: + return 1 << nExprStmt + case *ast.Field: + return 1 << nField + case *ast.FieldList: + return 1 << nFieldList + case *ast.File: + return 1 << nFile + case *ast.ForStmt: + return 1 << nForStmt + case *ast.FuncDecl: + return 1 << nFuncDecl + case *ast.FuncLit: + return 1 << nFuncLit + case *ast.FuncType: + return 1 << nFuncType + case *ast.GenDecl: + return 1 << nGenDecl + case *ast.GoStmt: + return 1 << nGoStmt + case *ast.Ident: + return 1 << nIdent + case *ast.IfStmt: + return 1 << nIfStmt + case *ast.ImportSpec: + return 1 << nImportSpec + case *ast.IncDecStmt: + return 1 << nIncDecStmt + case *ast.IndexExpr: + return 1 << nIndexExpr + case *ast.IndexListExpr: + return 1 << nIndexListExpr + case *ast.InterfaceType: + return 1 << nInterfaceType + case *ast.KeyValueExpr: + return 1 << nKeyValueExpr + case *ast.LabeledStmt: + return 1 << nLabeledStmt + case *ast.MapType: + return 1 << nMapType + case *ast.Package: + return 1 << nPackage + case *ast.ParenExpr: + return 1 << nParenExpr + case *ast.RangeStmt: + return 1 << nRangeStmt + case *ast.ReturnStmt: + return 1 << nReturnStmt + case *ast.SelectStmt: + return 1 << nSelectStmt + case *ast.SelectorExpr: + return 1 << nSelectorExpr + case *ast.SendStmt: + return 1 << nSendStmt + case *ast.SliceExpr: + return 1 << nSliceExpr + case *ast.StarExpr: + return 1 << nStarExpr + case *ast.StructType: + return 1 << nStructType + case *ast.SwitchStmt: + return 1 << nSwitchStmt + case *ast.TypeAssertExpr: + return 1 << nTypeAssertExpr + case *ast.TypeSpec: + return 1 << nTypeSpec + case *ast.TypeSwitchStmt: + return 1 << nTypeSwitchStmt + case *ast.UnaryExpr: + return 1 << nUnaryExpr + case *ast.ValueSpec: + return 1 << nValueSpec + } + return 0 +} + +func maskOf(nodes []ast.Node) uint64 { + if len(nodes) == 0 { + return math.MaxUint64 // match all node types + } + var mask uint64 + for _, n := range nodes { + mask |= typeOf(n) + } + return mask +} diff --git a/vendor/golang.org/x/tools/go/ast/inspector/walk.go b/vendor/golang.org/x/tools/go/ast/inspector/walk.go new file mode 100644 index 0000000000000..5f1c93c8a73c4 --- /dev/null +++ b/vendor/golang.org/x/tools/go/ast/inspector/walk.go @@ -0,0 +1,341 @@ +// Copyright 2025 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package inspector + +// This file is a fork of ast.Inspect to reduce unnecessary dynamic +// calls and to gather edge information. +// +// Consistency with the original is ensured by TestInspectAllNodes. + +import ( + "fmt" + "go/ast" + + "golang.org/x/tools/go/ast/edge" +) + +func walkList[N ast.Node](v *visitor, ek edge.Kind, list []N) { + for i, node := range list { + walk(v, ek, i, node) + } +} + +func walk(v *visitor, ek edge.Kind, index int, node ast.Node) { + v.push(ek, index, node) + + // walk children + // (the order of the cases matches the order + // of the corresponding node types in ast.go) + switch n := node.(type) { + // Comments and fields + case *ast.Comment: + // nothing to do + + case *ast.CommentGroup: + walkList(v, edge.CommentGroup_List, n.List) + + case *ast.Field: + if n.Doc != nil { + walk(v, edge.Field_Doc, -1, n.Doc) + } + walkList(v, edge.Field_Names, n.Names) + if n.Type != nil { + walk(v, edge.Field_Type, -1, n.Type) + } + if n.Tag != nil { + walk(v, edge.Field_Tag, -1, n.Tag) + } + if n.Comment != nil { + walk(v, edge.Field_Comment, -1, n.Comment) + } + + case *ast.FieldList: + walkList(v, edge.FieldList_List, n.List) + + // Expressions + case *ast.BadExpr, *ast.Ident, *ast.BasicLit: + // nothing to do + + case *ast.Ellipsis: + if n.Elt != nil { + walk(v, edge.Ellipsis_Elt, -1, n.Elt) + } + + case *ast.FuncLit: + walk(v, edge.FuncLit_Type, -1, n.Type) + walk(v, edge.FuncLit_Body, -1, n.Body) + + case *ast.CompositeLit: + if n.Type != nil { + walk(v, edge.CompositeLit_Type, -1, n.Type) + } + walkList(v, edge.CompositeLit_Elts, n.Elts) + + case *ast.ParenExpr: + walk(v, edge.ParenExpr_X, -1, n.X) + + case *ast.SelectorExpr: + walk(v, edge.SelectorExpr_X, -1, n.X) + walk(v, edge.SelectorExpr_Sel, -1, n.Sel) + + case *ast.IndexExpr: + walk(v, edge.IndexExpr_X, -1, n.X) + walk(v, edge.IndexExpr_Index, -1, n.Index) + + case *ast.IndexListExpr: + walk(v, edge.IndexListExpr_X, -1, n.X) + walkList(v, edge.IndexListExpr_Indices, n.Indices) + + case *ast.SliceExpr: + walk(v, edge.SliceExpr_X, -1, n.X) + if n.Low != nil { + walk(v, edge.SliceExpr_Low, -1, n.Low) + } + if n.High != nil { + walk(v, edge.SliceExpr_High, -1, n.High) + } + if n.Max != nil { + walk(v, edge.SliceExpr_Max, -1, n.Max) + } + + case *ast.TypeAssertExpr: + walk(v, edge.TypeAssertExpr_X, -1, n.X) + if n.Type != nil { + walk(v, edge.TypeAssertExpr_Type, -1, n.Type) + } + + case *ast.CallExpr: + walk(v, edge.CallExpr_Fun, -1, n.Fun) + walkList(v, edge.CallExpr_Args, n.Args) + + case *ast.StarExpr: + walk(v, edge.StarExpr_X, -1, n.X) + + case *ast.UnaryExpr: + walk(v, edge.UnaryExpr_X, -1, n.X) + + case *ast.BinaryExpr: + walk(v, edge.BinaryExpr_X, -1, n.X) + walk(v, edge.BinaryExpr_Y, -1, n.Y) + + case *ast.KeyValueExpr: + walk(v, edge.KeyValueExpr_Key, -1, n.Key) + walk(v, edge.KeyValueExpr_Value, -1, n.Value) + + // Types + case *ast.ArrayType: + if n.Len != nil { + walk(v, edge.ArrayType_Len, -1, n.Len) + } + walk(v, edge.ArrayType_Elt, -1, n.Elt) + + case *ast.StructType: + walk(v, edge.StructType_Fields, -1, n.Fields) + + case *ast.FuncType: + if n.TypeParams != nil { + walk(v, edge.FuncType_TypeParams, -1, n.TypeParams) + } + if n.Params != nil { + walk(v, edge.FuncType_Params, -1, n.Params) + } + if n.Results != nil { + walk(v, edge.FuncType_Results, -1, n.Results) + } + + case *ast.InterfaceType: + walk(v, edge.InterfaceType_Methods, -1, n.Methods) + + case *ast.MapType: + walk(v, edge.MapType_Key, -1, n.Key) + walk(v, edge.MapType_Value, -1, n.Value) + + case *ast.ChanType: + walk(v, edge.ChanType_Value, -1, n.Value) + + // Statements + case *ast.BadStmt: + // nothing to do + + case *ast.DeclStmt: + walk(v, edge.DeclStmt_Decl, -1, n.Decl) + + case *ast.EmptyStmt: + // nothing to do + + case *ast.LabeledStmt: + walk(v, edge.LabeledStmt_Label, -1, n.Label) + walk(v, edge.LabeledStmt_Stmt, -1, n.Stmt) + + case *ast.ExprStmt: + walk(v, edge.ExprStmt_X, -1, n.X) + + case *ast.SendStmt: + walk(v, edge.SendStmt_Chan, -1, n.Chan) + walk(v, edge.SendStmt_Value, -1, n.Value) + + case *ast.IncDecStmt: + walk(v, edge.IncDecStmt_X, -1, n.X) + + case *ast.AssignStmt: + walkList(v, edge.AssignStmt_Lhs, n.Lhs) + walkList(v, edge.AssignStmt_Rhs, n.Rhs) + + case *ast.GoStmt: + walk(v, edge.GoStmt_Call, -1, n.Call) + + case *ast.DeferStmt: + walk(v, edge.DeferStmt_Call, -1, n.Call) + + case *ast.ReturnStmt: + walkList(v, edge.ReturnStmt_Results, n.Results) + + case *ast.BranchStmt: + if n.Label != nil { + walk(v, edge.BranchStmt_Label, -1, n.Label) + } + + case *ast.BlockStmt: + walkList(v, edge.BlockStmt_List, n.List) + + case *ast.IfStmt: + if n.Init != nil { + walk(v, edge.IfStmt_Init, -1, n.Init) + } + walk(v, edge.IfStmt_Cond, -1, n.Cond) + walk(v, edge.IfStmt_Body, -1, n.Body) + if n.Else != nil { + walk(v, edge.IfStmt_Else, -1, n.Else) + } + + case *ast.CaseClause: + walkList(v, edge.CaseClause_List, n.List) + walkList(v, edge.CaseClause_Body, n.Body) + + case *ast.SwitchStmt: + if n.Init != nil { + walk(v, edge.SwitchStmt_Init, -1, n.Init) + } + if n.Tag != nil { + walk(v, edge.SwitchStmt_Tag, -1, n.Tag) + } + walk(v, edge.SwitchStmt_Body, -1, n.Body) + + case *ast.TypeSwitchStmt: + if n.Init != nil { + walk(v, edge.TypeSwitchStmt_Init, -1, n.Init) + } + walk(v, edge.TypeSwitchStmt_Assign, -1, n.Assign) + walk(v, edge.TypeSwitchStmt_Body, -1, n.Body) + + case *ast.CommClause: + if n.Comm != nil { + walk(v, edge.CommClause_Comm, -1, n.Comm) + } + walkList(v, edge.CommClause_Body, n.Body) + + case *ast.SelectStmt: + walk(v, edge.SelectStmt_Body, -1, n.Body) + + case *ast.ForStmt: + if n.Init != nil { + walk(v, edge.ForStmt_Init, -1, n.Init) + } + if n.Cond != nil { + walk(v, edge.ForStmt_Cond, -1, n.Cond) + } + if n.Post != nil { + walk(v, edge.ForStmt_Post, -1, n.Post) + } + walk(v, edge.ForStmt_Body, -1, n.Body) + + case *ast.RangeStmt: + if n.Key != nil { + walk(v, edge.RangeStmt_Key, -1, n.Key) + } + if n.Value != nil { + walk(v, edge.RangeStmt_Value, -1, n.Value) + } + walk(v, edge.RangeStmt_X, -1, n.X) + walk(v, edge.RangeStmt_Body, -1, n.Body) + + // Declarations + case *ast.ImportSpec: + if n.Doc != nil { + walk(v, edge.ImportSpec_Doc, -1, n.Doc) + } + if n.Name != nil { + walk(v, edge.ImportSpec_Name, -1, n.Name) + } + walk(v, edge.ImportSpec_Path, -1, n.Path) + if n.Comment != nil { + walk(v, edge.ImportSpec_Comment, -1, n.Comment) + } + + case *ast.ValueSpec: + if n.Doc != nil { + walk(v, edge.ValueSpec_Doc, -1, n.Doc) + } + walkList(v, edge.ValueSpec_Names, n.Names) + if n.Type != nil { + walk(v, edge.ValueSpec_Type, -1, n.Type) + } + walkList(v, edge.ValueSpec_Values, n.Values) + if n.Comment != nil { + walk(v, edge.ValueSpec_Comment, -1, n.Comment) + } + + case *ast.TypeSpec: + if n.Doc != nil { + walk(v, edge.TypeSpec_Doc, -1, n.Doc) + } + walk(v, edge.TypeSpec_Name, -1, n.Name) + if n.TypeParams != nil { + walk(v, edge.TypeSpec_TypeParams, -1, n.TypeParams) + } + walk(v, edge.TypeSpec_Type, -1, n.Type) + if n.Comment != nil { + walk(v, edge.TypeSpec_Comment, -1, n.Comment) + } + + case *ast.BadDecl: + // nothing to do + + case *ast.GenDecl: + if n.Doc != nil { + walk(v, edge.GenDecl_Doc, -1, n.Doc) + } + walkList(v, edge.GenDecl_Specs, n.Specs) + + case *ast.FuncDecl: + if n.Doc != nil { + walk(v, edge.FuncDecl_Doc, -1, n.Doc) + } + if n.Recv != nil { + walk(v, edge.FuncDecl_Recv, -1, n.Recv) + } + walk(v, edge.FuncDecl_Name, -1, n.Name) + walk(v, edge.FuncDecl_Type, -1, n.Type) + if n.Body != nil { + walk(v, edge.FuncDecl_Body, -1, n.Body) + } + + case *ast.File: + if n.Doc != nil { + walk(v, edge.File_Doc, -1, n.Doc) + } + walk(v, edge.File_Name, -1, n.Name) + walkList(v, edge.File_Decls, n.Decls) + // don't walk n.Comments - they have been + // visited already through the individual + // nodes + + default: + // (includes *ast.Package) + panic(fmt.Sprintf("Walk: unexpected node type %T", n)) + } + + v.pop(node) +} diff --git a/vendor/golang.org/x/tools/go/packages/golist.go b/vendor/golang.org/x/tools/go/packages/golist.go index 89f89dd2dce51..680a70ca8f0da 100644 --- a/vendor/golang.org/x/tools/go/packages/golist.go +++ b/vendor/golang.org/x/tools/go/packages/golist.go @@ -364,12 +364,6 @@ type jsonPackage struct { DepsErrors []*packagesinternal.PackageError } -type jsonPackageError struct { - ImportStack []string - Pos string - Err string -} - func otherFiles(p *jsonPackage) [][]string { return [][]string{p.CFiles, p.CXXFiles, p.MFiles, p.HFiles, p.FFiles, p.SFiles, p.SwigFiles, p.SwigCXXFiles, p.SysoFiles} } diff --git a/vendor/golang.org/x/tools/internal/event/core/event.go b/vendor/golang.org/x/tools/internal/event/core/event.go index a6cf0e64a4b17..ade5d1e799d64 100644 --- a/vendor/golang.org/x/tools/internal/event/core/event.go +++ b/vendor/golang.org/x/tools/internal/event/core/event.go @@ -28,11 +28,6 @@ type Event struct { dynamic []label.Label // dynamically sized storage for remaining labels } -// eventLabelMap implements label.Map for a the labels of an Event. -type eventLabelMap struct { - event Event -} - func (ev Event) At() time.Time { return ev.at } func (ev Event) Format(f fmt.State, r rune) { diff --git a/vendor/golang.org/x/tools/internal/gcimporter/iexport.go b/vendor/golang.org/x/tools/internal/gcimporter/iexport.go index 780873e3ae784..4a4357d2bd444 100644 --- a/vendor/golang.org/x/tools/internal/gcimporter/iexport.go +++ b/vendor/golang.org/x/tools/internal/gcimporter/iexport.go @@ -569,7 +569,6 @@ func (p *iexporter) exportName(obj types.Object) (res string) { type iexporter struct { fset *token.FileSet - out *bytes.Buffer version int shallow bool // don't put types from other packages in the index diff --git a/vendor/golang.org/x/tools/internal/imports/fix.go b/vendor/golang.org/x/tools/internal/imports/fix.go index 50b6ca51a6b1d..1b4dc0cb5daea 100644 --- a/vendor/golang.org/x/tools/internal/imports/fix.go +++ b/vendor/golang.org/x/tools/internal/imports/fix.go @@ -16,6 +16,7 @@ import ( "go/types" "io/fs" "io/ioutil" + "maps" "os" "path" "path/filepath" @@ -27,8 +28,6 @@ import ( "unicode" "unicode/utf8" - "maps" - "golang.org/x/tools/go/ast/astutil" "golang.org/x/tools/internal/event" "golang.org/x/tools/internal/gocommand" @@ -43,7 +42,7 @@ var importToGroup = []func(localPrefix, importPath string) (num int, ok bool){ if localPrefix == "" { return } - for _, p := range strings.Split(localPrefix, ",") { + for p := range strings.SplitSeq(localPrefix, ",") { if strings.HasPrefix(importPath, p) || strings.TrimSuffix(p, "/") == importPath { return 3, true } @@ -1251,7 +1250,6 @@ func ImportPathToAssumedName(importPath string) string { // gopathResolver implements resolver for GOPATH workspaces. type gopathResolver struct { env *ProcessEnv - walked bool cache *DirInfoCache scanSema chan struct{} // scanSema prevents concurrent scans. } diff --git a/vendor/golang.org/x/tools/internal/modindex/symbols.go b/vendor/golang.org/x/tools/internal/modindex/symbols.go index fe24db9b13f21..8e9702d84be48 100644 --- a/vendor/golang.org/x/tools/internal/modindex/symbols.go +++ b/vendor/golang.org/x/tools/internal/modindex/symbols.go @@ -206,8 +206,7 @@ func isDeprecated(doc *ast.CommentGroup) bool { // go.dev/wiki/Deprecated Paragraph starting 'Deprecated:' // This code fails for /* Deprecated: */, but it's the code from // gopls/internal/analysis/deprecated - lines := strings.Split(doc.Text(), "\n\n") - for _, line := range lines { + for line := range strings.SplitSeq(doc.Text(), "\n\n") { if strings.HasPrefix(line, "Deprecated:") { return true } diff --git a/vendor/golang.org/x/tools/internal/typesinternal/fx.go b/vendor/golang.org/x/tools/internal/typesinternal/fx.go new file mode 100644 index 0000000000000..93acff21701e0 --- /dev/null +++ b/vendor/golang.org/x/tools/internal/typesinternal/fx.go @@ -0,0 +1,49 @@ +// Copyright 2025 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package typesinternal + +import ( + "go/ast" + "go/token" + "go/types" +) + +// NoEffects reports whether the expression has no side effects, i.e., it +// does not modify the memory state. This function is conservative: it may +// return false even when the expression has no effect. +func NoEffects(info *types.Info, expr ast.Expr) bool { + noEffects := true + ast.Inspect(expr, func(n ast.Node) bool { + switch v := n.(type) { + case nil, *ast.Ident, *ast.BasicLit, *ast.BinaryExpr, *ast.ParenExpr, + *ast.SelectorExpr, *ast.IndexExpr, *ast.SliceExpr, *ast.TypeAssertExpr, + *ast.StarExpr, *ast.CompositeLit, *ast.ArrayType, *ast.StructType, + *ast.MapType, *ast.InterfaceType, *ast.KeyValueExpr: + // No effect + case *ast.UnaryExpr: + // Channel send <-ch has effects + if v.Op == token.ARROW { + noEffects = false + } + case *ast.CallExpr: + // Type conversion has no effects + if !info.Types[v.Fun].IsType() { + // TODO(adonovan): Add a case for built-in functions without side + // effects (by using callsPureBuiltin from tools/internal/refactor/inline) + + noEffects = false + } + case *ast.FuncLit: + // A FuncLit has no effects, but do not descend into it. + return false + default: + // All other expressions have effects + noEffects = false + } + + return noEffects + }) + return noEffects +} diff --git a/vendor/golang.org/x/tools/internal/typesinternal/isnamed.go b/vendor/golang.org/x/tools/internal/typesinternal/isnamed.go new file mode 100644 index 0000000000000..f2affec4fba92 --- /dev/null +++ b/vendor/golang.org/x/tools/internal/typesinternal/isnamed.go @@ -0,0 +1,71 @@ +// Copyright 2025 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package typesinternal + +import ( + "go/types" + "slices" +) + +// IsTypeNamed reports whether t is (or is an alias for) a +// package-level defined type with the given package path and one of +// the given names. It returns false if t is nil. +// +// This function avoids allocating the concatenation of "pkg.Name", +// which is important for the performance of syntax matching. +func IsTypeNamed(t types.Type, pkgPath string, names ...string) bool { + if named, ok := types.Unalias(t).(*types.Named); ok { + tname := named.Obj() + return tname != nil && + IsPackageLevel(tname) && + tname.Pkg().Path() == pkgPath && + slices.Contains(names, tname.Name()) + } + return false +} + +// IsPointerToNamed reports whether t is (or is an alias for) a pointer to a +// package-level defined type with the given package path and one of the given +// names. It returns false if t is not a pointer type. +func IsPointerToNamed(t types.Type, pkgPath string, names ...string) bool { + r := Unpointer(t) + if r == t { + return false + } + return IsTypeNamed(r, pkgPath, names...) +} + +// IsFunctionNamed reports whether obj is a package-level function +// defined in the given package and has one of the given names. +// It returns false if obj is nil. +// +// This function avoids allocating the concatenation of "pkg.Name", +// which is important for the performance of syntax matching. +func IsFunctionNamed(obj types.Object, pkgPath string, names ...string) bool { + f, ok := obj.(*types.Func) + return ok && + IsPackageLevel(obj) && + f.Pkg().Path() == pkgPath && + f.Type().(*types.Signature).Recv() == nil && + slices.Contains(names, f.Name()) +} + +// IsMethodNamed reports whether obj is a method defined on a +// package-level type with the given package and type name, and has +// one of the given names. It returns false if obj is nil. +// +// This function avoids allocating the concatenation of "pkg.TypeName.Name", +// which is important for the performance of syntax matching. +func IsMethodNamed(obj types.Object, pkgPath string, typeName string, names ...string) bool { + if fn, ok := obj.(*types.Func); ok { + if recv := fn.Type().(*types.Signature).Recv(); recv != nil { + _, T := ReceiverNamed(recv) + return T != nil && + IsTypeNamed(T, pkgPath, typeName) && + slices.Contains(names, fn.Name()) + } + } + return false +} diff --git a/vendor/golang.org/x/tools/internal/typesinternal/qualifier.go b/vendor/golang.org/x/tools/internal/typesinternal/qualifier.go index b64f714eb30f6..64f47919f02e2 100644 --- a/vendor/golang.org/x/tools/internal/typesinternal/qualifier.go +++ b/vendor/golang.org/x/tools/internal/typesinternal/qualifier.go @@ -15,6 +15,14 @@ import ( // file. // If the same package is imported multiple times, the last appearance is // recorded. +// +// TODO(adonovan): this function ignores the effect of shadowing. It +// should accept a [token.Pos] and a [types.Info] and compute only the +// set of imports that are not shadowed at that point, analogous to +// [analysisinternal.AddImport]. It could also compute (as a side +// effect) the set of additional imports required to ensure that there +// is an accessible import for each necessary package, making it +// converge even more closely with AddImport. func FileQualifier(f *ast.File, pkg *types.Package) types.Qualifier { // Construct mapping of import paths to their defined names. // It is only necessary to look at renaming imports. diff --git a/vendor/golang.org/x/tools/internal/typesinternal/types.go b/vendor/golang.org/x/tools/internal/typesinternal/types.go index a5cd7e8dbfcb9..fef74a7856048 100644 --- a/vendor/golang.org/x/tools/internal/typesinternal/types.go +++ b/vendor/golang.org/x/tools/internal/typesinternal/types.go @@ -2,8 +2,20 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// Package typesinternal provides access to internal go/types APIs that are not -// yet exported. +// Package typesinternal provides helpful operators for dealing with +// go/types: +// +// - operators for querying typed syntax trees (e.g. [Imports], [IsFunctionNamed]); +// - functions for converting types to strings or syntax (e.g. [TypeExpr], FileQualifier]); +// - helpers for working with the [go/types] API (e.g. [NewTypesInfo]); +// - access to internal go/types APIs that are not yet +// exported (e.g. [SetUsesCgo], [ErrorCodeStartEnd], [VarKind]); and +// - common algorithms related to types (e.g. [TooNewStdSymbols]). +// +// See also: +// - [golang.org/x/tools/internal/astutil], for operations on untyped syntax; +// - [golang.org/x/tools/internal/analysisinernal], for helpers for analyzers; +// - [golang.org/x/tools/internal/refactor], for operators to compute text edits. package typesinternal import ( @@ -13,6 +25,7 @@ import ( "reflect" "unsafe" + "golang.org/x/tools/go/ast/inspector" "golang.org/x/tools/internal/aliases" ) @@ -60,6 +73,9 @@ func ErrorCodeStartEnd(err types.Error) (code ErrorCode, start, end token.Pos, o // which is often excessive.) // // If pkg is nil, it is equivalent to [*types.Package.Name]. +// +// TODO(adonovan): all uses of this with TypeString should be +// eliminated when https://go.dev/issues/75604 is resolved. func NameRelativeTo(pkg *types.Package) types.Qualifier { return func(other *types.Package) string { if pkg != nil && pkg == other { @@ -153,3 +169,31 @@ func NewTypesInfo() *types.Info { FileVersions: map[*ast.File]string{}, } } + +// EnclosingScope returns the innermost block logically enclosing the cursor. +func EnclosingScope(info *types.Info, cur inspector.Cursor) *types.Scope { + for cur := range cur.Enclosing() { + n := cur.Node() + // A function's Scope is associated with its FuncType. + switch f := n.(type) { + case *ast.FuncDecl: + n = f.Type + case *ast.FuncLit: + n = f.Type + } + if b := info.Scopes[n]; b != nil { + return b + } + } + panic("no Scope for *ast.File") +} + +// Imports reports whether path is imported by pkg. +func Imports(pkg *types.Package, path string) bool { + for _, imp := range pkg.Imports() { + if imp.Path() == path { + return true + } + } + return false +} diff --git a/vendor/golang.org/x/tools/internal/typesinternal/zerovalue.go b/vendor/golang.org/x/tools/internal/typesinternal/zerovalue.go index d272949c17718..453bba2ad5e84 100644 --- a/vendor/golang.org/x/tools/internal/typesinternal/zerovalue.go +++ b/vendor/golang.org/x/tools/internal/typesinternal/zerovalue.go @@ -204,23 +204,12 @@ func ZeroExpr(t types.Type, qual types.Qualifier) (_ ast.Expr, isValid bool) { } } -// IsZeroExpr uses simple syntactic heuristics to report whether expr -// is a obvious zero value, such as 0, "", nil, or false. -// It cannot do better without type information. -func IsZeroExpr(expr ast.Expr) bool { - switch e := expr.(type) { - case *ast.BasicLit: - return e.Value == "0" || e.Value == `""` - case *ast.Ident: - return e.Name == "nil" || e.Name == "false" - default: - return false - } -} - // TypeExpr returns syntax for the specified type. References to named types // are qualified by an appropriate (optional) qualifier function. // It may panic for types such as Tuple or Union. +// +// See also https://go.dev/issues/75604, which will provide a robust +// Type-to-valid-Go-syntax formatter. func TypeExpr(t types.Type, qual types.Qualifier) ast.Expr { switch t := t.(type) { case *types.Basic: diff --git a/vendor/modules.txt b/vendor/modules.txt index 2d04db6b1d159..31cef50fb0a85 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -305,12 +305,12 @@ github.com/AzureAD/microsoft-authentication-library-for-go/apps/public ## explicit; go 1.18 github.com/BurntSushi/toml github.com/BurntSushi/toml/internal -# github.com/ClickHouse/ch-go v0.68.0 -## explicit; go 1.23.0 +# github.com/ClickHouse/ch-go v0.69.0 +## explicit; go 1.24.0 github.com/ClickHouse/ch-go/compress github.com/ClickHouse/ch-go/proto -# github.com/ClickHouse/clickhouse-go/v2 v2.40.3 -## explicit; go 1.24.0 +# github.com/ClickHouse/clickhouse-go/v2 v2.41.0 +## explicit; go 1.25.3 github.com/ClickHouse/clickhouse-go/v2 github.com/ClickHouse/clickhouse-go/v2/contributors github.com/ClickHouse/clickhouse-go/v2/ext @@ -957,7 +957,7 @@ github.com/distribution/reference # github.com/djherbis/times v1.6.0 ## explicit; go 1.16 github.com/djherbis/times -# github.com/docker/docker v28.5.1+incompatible +# github.com/docker/docker v28.5.2+incompatible ## explicit github.com/docker/docker/api github.com/docker/docker/api/types @@ -2057,7 +2057,7 @@ github.com/panjf2000/gnet/v2/pkg/pool/bytebuffer github.com/panjf2000/gnet/v2/pkg/pool/byteslice github.com/panjf2000/gnet/v2/pkg/pool/goroutine github.com/panjf2000/gnet/v2/pkg/pool/ringbuffer -# github.com/paulmach/orb v0.11.1 +# github.com/paulmach/orb v0.12.0 ## explicit; go 1.15 github.com/paulmach/orb # github.com/pavlo-v-chernykh/keystore-go/v4 v4.5.0 @@ -2314,7 +2314,7 @@ github.com/seancfoley/ipaddress-go/ipaddr github.com/seancfoley/ipaddress-go/ipaddr/addrerr github.com/seancfoley/ipaddress-go/ipaddr/addrstr github.com/seancfoley/ipaddress-go/ipaddr/addrstrparam -# github.com/segmentio/asm v1.2.0 +# github.com/segmentio/asm v1.2.1 ## explicit; go 1.18 github.com/segmentio/asm/bswap github.com/segmentio/asm/cpu @@ -2457,7 +2457,7 @@ github.com/tdrn-org/go-tr064/services/tr64desc/wancommonifconfig github.com/tdrn-org/go-tr064/services/tr64desc/wandslifconfig github.com/tdrn-org/go-tr064/services/tr64desc/wanpppconn github.com/tdrn-org/go-tr064/services/tr64desc/wlanconfig -# github.com/testcontainers/testcontainers-go v0.39.0 +# github.com/testcontainers/testcontainers-go v0.40.0 ## explicit; go 1.24.0 github.com/testcontainers/testcontainers-go github.com/testcontainers/testcontainers-go/exec @@ -2918,7 +2918,7 @@ go.yaml.in/yaml/v2 # go.yaml.in/yaml/v3 v3.0.4 ## explicit; go 1.16 go.yaml.in/yaml/v3 -# golang.org/x/crypto v0.43.0 +# golang.org/x/crypto v0.44.0 ## explicit; go 1.24.0 golang.org/x/crypto/bcrypt golang.org/x/crypto/blake2b @@ -2965,7 +2965,7 @@ golang.org/x/mod/internal/lazyregexp golang.org/x/mod/modfile golang.org/x/mod/module golang.org/x/mod/semver -# golang.org/x/net v0.46.0 +# golang.org/x/net v0.47.0 ## explicit; go 1.24.0 golang.org/x/net/bpf golang.org/x/net/context @@ -3003,12 +3003,12 @@ golang.org/x/oauth2/google/internal/stsexchange golang.org/x/oauth2/internal golang.org/x/oauth2/jws golang.org/x/oauth2/jwt -# golang.org/x/sync v0.17.0 +# golang.org/x/sync v0.18.0 ## explicit; go 1.24.0 golang.org/x/sync/errgroup golang.org/x/sync/semaphore golang.org/x/sync/singleflight -# golang.org/x/sys v0.37.0 +# golang.org/x/sys v0.38.0 ## explicit; go 1.24.0 golang.org/x/sys/cpu golang.org/x/sys/plan9 @@ -3018,16 +3018,16 @@ golang.org/x/sys/windows/registry golang.org/x/sys/windows/svc golang.org/x/sys/windows/svc/eventlog golang.org/x/sys/windows/svc/mgr -# golang.org/x/telemetry v0.0.0-20250908211612-aef8a434d053 +# golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8 ## explicit; go 1.24.0 golang.org/x/telemetry/counter golang.org/x/telemetry/internal/counter golang.org/x/telemetry/internal/mmap golang.org/x/telemetry/internal/telemetry -# golang.org/x/term v0.36.0 +# golang.org/x/term v0.37.0 ## explicit; go 1.24.0 golang.org/x/term -# golang.org/x/text v0.30.0 +# golang.org/x/text v0.31.0 ## explicit; go 1.24.0 golang.org/x/text/cases golang.org/x/text/encoding @@ -3063,11 +3063,13 @@ golang.org/x/text/width # golang.org/x/time v0.14.0 ## explicit; go 1.24.0 golang.org/x/time/rate -# golang.org/x/tools v0.37.0 +# golang.org/x/tools v0.38.0 ## explicit; go 1.24.0 golang.org/x/tools/cmd/goimports golang.org/x/tools/cmd/stringer golang.org/x/tools/go/ast/astutil +golang.org/x/tools/go/ast/edge +golang.org/x/tools/go/ast/inspector golang.org/x/tools/go/gcexportdata golang.org/x/tools/go/packages golang.org/x/tools/go/types/objectpath