Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(CharsetToUTF8): use strings.Builder #154

Merged
merged 1 commit into from
Sep 14, 2023

Conversation

konart
Copy link

@konart konart commented Sep 14, 2023

This PR changes how returning string is created in CharsetToUTF8 function.

Code
import (
	"strings"
)

var str string

func CharsetToUTF8(s []byte) {
	buf := make([]rune, 0, len(s))
	for i := 0; i < len(s); i++ {
		ch := cp950.sb[s[i]]
		if ch == -1 {
			if i+1 == len(s) {
				ch = 0xfffd
			} else {
				n := int(s[i+1]) + (int(s[i]) << 8)
				i++
				var ok bool
				ch, ok = cp950.db[n]
				if !ok {
					ch = 0xfffd
				}
			}
		}
		buf = append(buf, ch)
	}
	str = string(buf)
}

func CharsetToUTF8_2(s []byte) {
	b := strings.Builder{}
	b.Grow(len(s))
	for i := 0; i < len(s); i++ {
		ch := cp950.sb[s[i]]
		if ch == -1 {
			if i+1 == len(s) {
				ch = 0xfffd
			} else {
				n := int(s[i+1]) + (int(s[i]) << 8)
				i++
				var ok bool
				ch, ok = cp950.db[n]
				if !ok {
					ch = 0xfffd
				}
			}
		}
		b.WriteRune(ch)
	}
	str = b.String()
}

Benchmarks:

import (
	"testing"
)

const (
	testStringASCII = "qwertyuiopasdfghjklzxcvbnm1234567890!@#$%^&*()"
	testStringMixed = "IUd=h'1c^-~+%He@.nCTB{uAiwq23sN)a54JyVtEp;D>m№FWo(Q0ы^]|,$$фф*(у`ыт|ипксю;лр`р{`~*йа#б~а_'юг"
)

func BenchmarkCharsetToUTF8ASCIIToString(b *testing.B) {
	bs := []byte(testStringASCII)
	for i := 0; i < b.N; i++ {
		CharsetToUTF8(bs)
	}
}

func BenchmarkCharsetToUTF8ASCIIBuilder(b *testing.B) {
	bs := []byte(testStringASCII)
	for i := 0; i < b.N; i++ {
		CharsetToUTF8_2(bs)
	}
}

func BenchmarkCharsetToUTF8MixedToString(b *testing.B) {
	bs := []byte(testStringMixed)
	for i := 0; i < b.N; i++ {
		CharsetToUTF8(bs)
	}
}

func BenchmarkCharsetToUTF8MixedBuilder(b *testing.B) {
	bs := []byte(testStringMixed)
	for i := 0; i < b.N; i++ {
		CharsetToUTF8_2(bs)
	}
}

Benchmarks results:

❯ go test -bench=. -benchmem -benchtime=10000000x
goos: darwin
goarch: amd64
pkg: benchrune
cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
BenchmarkCharsetToUTF8ASCIIToString-12          10000000               361.5 ns/op           256 B/op          2 allocs/op
BenchmarkCharsetToUTF8ASCIIBuilder-12           10000000               196.9 ns/op            48 B/op          1 allocs/op
BenchmarkCharsetToUTF8MixedToString-12          10000000               949.6 ns/op           624 B/op          2 allocs/op
BenchmarkCharsetToUTF8MixedBuilder-12           10000000               685.1 ns/op           368 B/op          2 allocs/op

@shueybubbles
Copy link
Collaborator

thx for the submission!

Copy link
Collaborator

@shueybubbles shueybubbles left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@shueybubbles shueybubbles merged commit d3f844a into microsoft:main Sep 14, 2023
charithe referenced this pull request in cerbos/cerbos Apr 22, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
| [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) |
`v1.51.21` -> `v1.51.25` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go/v1.51.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go/v1.51.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go/v1.51.21/v1.51.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go/v1.51.21/v1.51.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
|
[github.com/cerbos/cerbos-sdk-go](https://github.com/cerbos/cerbos-sdk-go)
| `be5e6dc` -> `dadcb00` | | | | | require | digest |
|
[github.com/golang-migrate/migrate/v4](https://github.com/golang-migrate/migrate)
| `v4.17.0` -> `v4.17.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgolang-migrate%2fmigrate%2fv4/v4.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgolang-migrate%2fmigrate%2fv4/v4.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgolang-migrate%2fmigrate%2fv4/v4.17.0/v4.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgolang-migrate%2fmigrate%2fv4/v4.17.0/v4.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
|
[github.com/microsoft/go-mssqldb](https://github.com/microsoft/go-mssqldb)
| `v1.7.0` -> `v1.7.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.7.0/v1.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.7.0/v1.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| [github.com/rivo/tview](https://github.com/rivo/tview) | `b0d41c4`
-> `e119d15` | | | | | require | digest |
| [github.com/vektra/mockery/v2](https://github.com/vektra/mockery) |
`v2.42.2` -> `v2.42.3` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fvektra%2fmockery%2fv2/v2.42.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fvektra%2fmockery%2fv2/v2.42.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fvektra%2fmockery%2fv2/v2.42.2/v2.42.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fvektra%2fmockery%2fv2/v2.42.2/v2.42.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |
| [go](https://go.dev/) ([source](https://github.com/golang/go)) |
`1.22.0` -> `1.22.2` |
[![age](https://developer.mend.io/api/mc/badges/age/golang-version/go/1.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/golang-version/go/1.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/golang-version/go/1.22.0/1.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/golang-version/go/1.22.0/1.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| toolchain | patch |
| [go](https://go.dev/) ([source](https://github.com/golang/go)) |
`1.21.1` -> `1.22.2` |
[![age](https://developer.mend.io/api/mc/badges/age/golang-version/go/1.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/golang-version/go/1.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/golang-version/go/1.21.1/1.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/golang-version/go/1.21.1/1.22.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| toolchain | minor |
| golang.org/x/exp | `93d18d7` -> `fe59bbe` | | | | | require | digest |
|
[google.golang.org/genproto/googleapis/api](https://github.com/googleapis/go-genproto)
| `26222e5` -> `8c6c420` | | | | | require | digest |
|
[google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go)
| `98873a2` -> `c2a26e7` | | | | | require | digest |
| [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) | `v1.29.6` ->
`v1.29.8` |
[![age](https://developer.mend.io/api/mc/badges/age/go/modernc.org%2fsqlite/v1.29.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/modernc.org%2fsqlite/v1.29.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/modernc.org%2fsqlite/v1.29.6/v1.29.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/modernc.org%2fsqlite/v1.29.6/v1.29.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | patch |

---

### Release Notes

<details>
<summary>aws/aws-sdk-go (github.com/aws/aws-sdk-go)</summary>

###
[`v1.51.25`](https://github.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v15125-2024-04-19)

[Compare
Source](https://github.com/aws/aws-sdk-go/compare/v1.51.24...v1.51.25)

\===

##### Service Client Updates

-   `service/glue`: Updates service API and documentation
- Adding RowFilter in the response for GetUnfilteredTableMetadata API
- `service/internetmonitor`: Updates service API, documentation, and
paginators
-   `service/personalize`: Updates service API and documentation

###
[`v1.51.24`](https://github.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v15124-2024-04-18)

[Compare
Source](https://github.com/aws/aws-sdk-go/compare/v1.51.23...v1.51.24)

\===

##### Service Client Updates

-   `service/drs`: Updates service API and documentation
-   `service/emr-serverless`: Updates service API and documentation
-   `service/guardduty`: Updates service API and documentation
    -   Added IPv6Address fields for local and remote IP addresses
-   `service/quicksight`: Updates service API and documentation
- This release adds support for the Cross Sheet Filter and Control
features, and support for warnings in asset imports for any permitted
errors encountered during execution
-   `service/rolesanywhere`: Updates service API and documentation
-   `service/sagemaker`: Updates service API and documentation
    -   Removed deprecated enum values and updated API documentation.
- `service/workspaces`: Updates service API, documentation, and
paginators
- Adds new APIs for managing and sharing WorkSpaces BYOL configuration
across accounts.

###
[`v1.51.23`](https://github.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v15123-2024-04-17)

[Compare
Source](https://github.com/aws/aws-sdk-go/compare/v1.51.22...v1.51.23)

\===

##### Service Client Updates

-   `service/ec2`: Updates service documentation
    -   Documentation updates for Elastic Compute Cloud (EC2).
-   `service/qbusiness`: Updates service API and documentation

###
[`v1.51.22`](https://github.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v15122-2024-04-16)

[Compare
Source](https://github.com/aws/aws-sdk-go/compare/v1.51.21...v1.51.22)

\===

##### Service Client Updates

-   `service/bedrock-agent`: Updates service API and documentation
-   `service/emr-serverless`: Updates service API and documentation
- `service/entityresolution`: Updates service API, documentation, and
paginators
-   `service/iotwireless`: Updates service API and documentation
-   `service/lakeformation`: Updates service API and documentation
-   `service/m2`: Updates service API and documentation
-   `service/mediapackagev2`: Updates service API and documentation
- `service/outposts`: Updates service API, documentation, and paginators
-   `service/wellarchitected`: Updates service API and documentation

</details>

<details>
<summary>golang-migrate/migrate
(github.com/golang-migrate/migrate/v4)</summary>

###
[`v4.17.1`](https://github.com/golang-migrate/migrate/releases/tag/v4.17.1)

[Compare
Source](https://github.com/golang-migrate/migrate/compare/v4.17.0...v4.17.1)

#### Changelog

-
[`4bc6777`](https://github.com/golang-migrate/migrate/commit/4bc6777)
Add dktesting.Cleanup() method
-
[`bead4a9`](https://github.com/golang-migrate/migrate/commit/bead4a9)
Added documentation and test for lock strategy
-
[`129922a`](https://github.com/golang-migrate/migrate/commit/129922a)
Added support for pgx locking table
-
[`a860f0c`](https://github.com/golang-migrate/migrate/commit/a860f0c)
Bump github.com/dvsekhvalnov/jose2go from 1.5.0 to 1.6.0
-
[`d1df97b`](https://github.com/golang-migrate/migrate/commit/d1df97b)
Bump github.com/jackc/pgx/v4 from 4.18.1 to 4.18.2
-
[`a78d1ab`](https://github.com/golang-migrate/migrate/commit/a78d1ab)
Bump github.com/jackc/pgx/v5 from 5.3.1 to 5.5.4
-
[`2e0872f`](https://github.com/golang-migrate/migrate/commit/2e0872f)
Bump google.golang.org/protobuf from 1.31.0 to 1.33.0
-
[`1b707a7`](https://github.com/golang-migrate/migrate/commit/1b707a7)
Cleanup cassandra images after tests run
-
[`49cac86`](https://github.com/golang-migrate/migrate/commit/49cac86)
Cleanup mongodb images after tests run
-
[`2884a8e`](https://github.com/golang-migrate/migrate/commit/2884a8e)
Cleanup postgres images after tests run
-
[`b1d02e2`](https://github.com/golang-migrate/migrate/commit/b1d02e2)
Cleanup sqlserver images after tests run
-
[`06614d9`](https://github.com/golang-migrate/migrate/commit/06614d9)
Cleanup yugabytedb images after tests run
-
[`e913336`](https://github.com/golang-migrate/migrate/commit/e913336)
Drop support for Go 1.20 and add support for Go 1.22
-
[`f4950c1`](https://github.com/golang-migrate/migrate/commit/f4950c1)
Fallback to dktest.DefaultCleanupTimeout if the dktest.Options doesn't
have one specified
-
[`5aa4670`](https://github.com/golang-migrate/migrate/commit/5aa4670)
Fix GoReleaser deprecations
-
[`d63a5c2`](https://github.com/golang-migrate/migrate/commit/d63a5c2)
Only test against YugabyteDB LTS releases
-
[`091ad5d`](https://github.com/golang-migrate/migrate/commit/091ad5d)
Quote locktable from config in queries
-
[`1a002d0`](https://github.com/golang-migrate/migrate/commit/1a002d0)
Set golangci-lint to 1.54.2 (latest is broken)
([#&#8203;1046](https://github.com/golang-migrate/migrate/issues/1046))
-
[`f100226`](https://github.com/golang-migrate/migrate/commit/f100226)
Update dktest from v0.4.0 to v0.4.1 to fix docker vulnerability
-
[`ff8a961`](https://github.com/golang-migrate/migrate/commit/ff8a961)
Update yugabyte test images
-
[`0350a00`](https://github.com/golang-migrate/migrate/commit/0350a00)
\[sqlserver] Always access version table with explicit schema
-
[`8147693`](https://github.com/golang-migrate/migrate/commit/8147693)
\[sqlserver] Ensure version table in provided schema
-
[`7f85f9c`](https://github.com/golang-migrate/migrate/commit/7f85f9c)
chore: fix some typos
-
[`9d70a39`](https://github.com/golang-migrate/migrate/commit/9d70a39)
chore: fix some typos in comments
-
[`94b8fa5`](https://github.com/golang-migrate/migrate/commit/94b8fa5)
rqlite is spelled with all lowercase

</details>

<details>
<summary>microsoft/go-mssqldb
(github.com/microsoft/go-mssqldb)</summary>

###
[`v1.7.1`](https://github.com/microsoft/go-mssqldb/releases/tag/v1.7.1)

[Compare
Source](https://github.com/microsoft/go-mssqldb/compare/v1.7.0...v1.7.1)

#### What's Changed

- fix: protocol version by
[@&#8203;srdan-bozovic-msft](https://github.com/srdan-bozovic-msft) in
[https://github.com/microsoft/go-mssqldb/pull/131](https://github.com/microsoft/go-mssqldb/pull/131)
- Implement Always Encrypted by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/116](https://github.com/microsoft/go-mssqldb/pull/116)
- Update README.md Title by
[@&#8203;dlevy-msft](https://github.com/dlevy-msft) in
[https://github.com/microsoft/go-mssqldb/pull/143](https://github.com/microsoft/go-mssqldb/pull/143)
- Feat: Implement change password during login by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/141](https://github.com/microsoft/go-mssqldb/pull/141)
- Implement AKV key provider for always encrypted by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/148](https://github.com/microsoft/go-mssqldb/pull/148)
- feat: Add device code and Az CLI auth types to azuread by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/149](https://github.com/microsoft/go-mssqldb/pull/149)
- TDS8: Accept additional values for encrypt by
[@&#8203;apoorvdeshmukh](https://github.com/apoorvdeshmukh) in
[https://github.com/microsoft/go-mssqldb/pull/125](https://github.com/microsoft/go-mssqldb/pull/125)
- Add note on CLI authentication by
[@&#8203;dlevy-msft](https://github.com/dlevy-msft) in
[https://github.com/microsoft/go-mssqldb/pull/151](https://github.com/microsoft/go-mssqldb/pull/151)
- fix(CharsetToUTF8): use strings.Builder by
[@&#8203;konart](https://github.com/konart) in
[https://github.com/microsoft/go-mssqldb/pull/154](https://github.com/microsoft/go-mssqldb/pull/154)
- Add support for DER certificates by
[@&#8203;apoorvdeshmukh](https://github.com/apoorvdeshmukh) in
[https://github.com/microsoft/go-mssqldb/pull/152](https://github.com/microsoft/go-mssqldb/pull/152)
- Replace panic with returning errors from key decryption providers by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/155](https://github.com/microsoft/go-mssqldb/pull/155)
- Feat: Allow krb5 config through environment variables by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/157](https://github.com/microsoft/go-mssqldb/pull/157)
- fix: Added multisubnetfailover option, set to false to prevent issue
[#&#8203;158](https://github.com/microsoft/go-mssqldb/issues/158) by
[@&#8203;abairmj](https://github.com/abairmj) in
[https://github.com/microsoft/go-mssqldb/pull/159](https://github.com/microsoft/go-mssqldb/pull/159)
- Fix mappings between LCIDs and code pages. by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/169](https://github.com/microsoft/go-mssqldb/pull/169)
- Cut string output parameter fix by
[@&#8203;El-76](https://github.com/El-76) in
[https://github.com/microsoft/go-mssqldb/pull/168](https://github.com/microsoft/go-mssqldb/pull/168)
- Lazy initialization of charset maps by
[@&#8203;toddtreece](https://github.com/toddtreece) in
[https://github.com/microsoft/go-mssqldb/pull/166](https://github.com/microsoft/go-mssqldb/pull/166)
- Handle alternate form of prelogin response by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/175](https://github.com/microsoft/go-mssqldb/pull/175)
- Handle `NULL` values in `UniqueIdentifier.Scan()` by
[@&#8203;ngehrsitz](https://github.com/ngehrsitz) in
[https://github.com/microsoft/go-mssqldb/pull/163](https://github.com/microsoft/go-mssqldb/pull/163)
- Fix: Support nullable types in Always Encrypted by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/179](https://github.com/microsoft/go-mssqldb/pull/179)
- Fix named pipe path handling to preserve "." by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/178](https://github.com/microsoft/go-mssqldb/pull/178)

#### New Contributors

- [@&#8203;srdan-bozovic-msft](https://github.com/srdan-bozovic-msft)
made their first contribution in
[https://github.com/microsoft/go-mssqldb/pull/131](https://github.com/microsoft/go-mssqldb/pull/131)
- [@&#8203;konart](https://github.com/konart) made their first
contribution in
[https://github.com/microsoft/go-mssqldb/pull/154](https://github.com/microsoft/go-mssqldb/pull/154)
- [@&#8203;abairmj](https://github.com/abairmj) made their first
contribution in
[https://github.com/microsoft/go-mssqldb/pull/159](https://github.com/microsoft/go-mssqldb/pull/159)
- [@&#8203;El-76](https://github.com/El-76) made their first
contribution in
[https://github.com/microsoft/go-mssqldb/pull/168](https://github.com/microsoft/go-mssqldb/pull/168)
- [@&#8203;toddtreece](https://github.com/toddtreece) made their first
contribution in
[https://github.com/microsoft/go-mssqldb/pull/166](https://github.com/microsoft/go-mssqldb/pull/166)
- [@&#8203;ngehrsitz](https://github.com/ngehrsitz) made their first
contribution in
[https://github.com/microsoft/go-mssqldb/pull/163](https://github.com/microsoft/go-mssqldb/pull/163)

**Full Changelog**:
microsoft/go-mssqldb@v1.5.0...v1.7.1

</details>

<details>
<summary>vektra/mockery (github.com/vektra/mockery/v2)</summary>

###
[`v2.42.3`](https://github.com/vektra/mockery/releases/tag/v2.42.3)

[Compare
Source](https://github.com/vektra/mockery/compare/v2.42.2...v2.42.3)

#### Changelog

- [`9b4107f`](https://github.com/vektra/mockery/commit/9b4107f) Fix
bug when last argument is a function with multiple return values
- [`b1c5f6e`](https://github.com/vektra/mockery/commit/b1c5f6e) Merge
pull request
[#&#8203;774](https://github.com/vektra/mockery/issues/774) from
LandonTClipp/issue\_766
- [`adedaa2`](https://github.com/vektra/mockery/commit/adedaa2) Update
codecov.yml
- [`a382dd5`](https://github.com/vektra/mockery/commit/a382dd5) remove
unnecessary config

</details>

<details>
<summary>golang/go (go)</summary>

###
[`v1.22.2`](https://github.com/golang/go/compare/go1.22.1...go1.22.2)

###
[`v1.22.1`](https://github.com/golang/go/compare/go1.22.0...go1.22.1)

</details>

<details>
<summary>cznic/sqlite (modernc.org/sqlite)</summary>

###
[`v1.29.8`](https://gitlab.com/cznic/sqlite/compare/v1.29.7...v1.29.8)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.29.7...v1.29.8)

###
[`v1.29.7`](https://gitlab.com/cznic/sqlite/compare/v1.29.6...v1.29.7)

[Compare
Source](https://gitlab.com/cznic/sqlite/compare/v1.29.6...v1.29.7)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/cerbos/cerbos).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjMxMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhcmVhL2RlcGVuZGVuY2llcyIsImJvdHMiLCJraW5kL2Nob3JlIl19-->

---------

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Charith Ellawala <charith@cerbos.dev>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Charith Ellawala <charith@cerbos.dev>
mx-psi referenced this pull request in open-telemetry/opentelemetry-collector-contrib Apr 23, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/microsoft/go-mssqldb](https://github.com/microsoft/go-mssqldb)
| `v1.7.0` -> `v1.7.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.7.0/v1.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fmicrosoft%2fgo-mssqldb/v1.7.0/v1.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>microsoft/go-mssqldb
(github.com/microsoft/go-mssqldb)</summary>

###
[`v1.7.1`](https://github.com/microsoft/go-mssqldb/releases/tag/v1.7.1)

[Compare
Source](https://github.com/microsoft/go-mssqldb/compare/v1.7.0...v1.7.1)

#### What's Changed

- fix: protocol version by
[@&#8203;srdan-bozovic-msft](https://github.com/srdan-bozovic-msft) in
[https://github.com/microsoft/go-mssqldb/pull/131](https://github.com/microsoft/go-mssqldb/pull/131)
- Implement Always Encrypted by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/116](https://github.com/microsoft/go-mssqldb/pull/116)
- Update README.md Title by
[@&#8203;dlevy-msft](https://github.com/dlevy-msft) in
[https://github.com/microsoft/go-mssqldb/pull/143](https://github.com/microsoft/go-mssqldb/pull/143)
- Feat: Implement change password during login by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/141](https://github.com/microsoft/go-mssqldb/pull/141)
- Implement AKV key provider for always encrypted by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/148](https://github.com/microsoft/go-mssqldb/pull/148)
- feat: Add device code and Az CLI auth types to azuread by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/149](https://github.com/microsoft/go-mssqldb/pull/149)
- TDS8: Accept additional values for encrypt by
[@&#8203;apoorvdeshmukh](https://github.com/apoorvdeshmukh) in
[https://github.com/microsoft/go-mssqldb/pull/125](https://github.com/microsoft/go-mssqldb/pull/125)
- Add note on CLI authentication by
[@&#8203;dlevy-msft](https://github.com/dlevy-msft) in
[https://github.com/microsoft/go-mssqldb/pull/151](https://github.com/microsoft/go-mssqldb/pull/151)
- fix(CharsetToUTF8): use strings.Builder by
[@&#8203;konart](https://github.com/konart) in
[https://github.com/microsoft/go-mssqldb/pull/154](https://github.com/microsoft/go-mssqldb/pull/154)
- Add support for DER certificates by
[@&#8203;apoorvdeshmukh](https://github.com/apoorvdeshmukh) in
[https://github.com/microsoft/go-mssqldb/pull/152](https://github.com/microsoft/go-mssqldb/pull/152)
- Replace panic with returning errors from key decryption providers by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/155](https://github.com/microsoft/go-mssqldb/pull/155)
- Feat: Allow krb5 config through environment variables by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/157](https://github.com/microsoft/go-mssqldb/pull/157)
- fix: Added multisubnetfailover option, set to false to prevent issue
[#&#8203;158](https://github.com/microsoft/go-mssqldb/issues/158) by
[@&#8203;abairmj](https://github.com/abairmj) in
[https://github.com/microsoft/go-mssqldb/pull/159](https://github.com/microsoft/go-mssqldb/pull/159)
- Fix mappings between LCIDs and code pages. by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/169](https://github.com/microsoft/go-mssqldb/pull/169)
- Cut string output parameter fix by
[@&#8203;El-76](https://github.com/El-76) in
[https://github.com/microsoft/go-mssqldb/pull/168](https://github.com/microsoft/go-mssqldb/pull/168)
- Lazy initialization of charset maps by
[@&#8203;toddtreece](https://github.com/toddtreece) in
[https://github.com/microsoft/go-mssqldb/pull/166](https://github.com/microsoft/go-mssqldb/pull/166)
- Handle alternate form of prelogin response by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/175](https://github.com/microsoft/go-mssqldb/pull/175)
- Handle `NULL` values in `UniqueIdentifier.Scan()` by
[@&#8203;ngehrsitz](https://github.com/ngehrsitz) in
[https://github.com/microsoft/go-mssqldb/pull/163](https://github.com/microsoft/go-mssqldb/pull/163)
- Fix: Support nullable types in Always Encrypted by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/179](https://github.com/microsoft/go-mssqldb/pull/179)
- Fix named pipe path handling to preserve "." by
[@&#8203;shueybubbles](https://github.com/shueybubbles) in
[https://github.com/microsoft/go-mssqldb/pull/178](https://github.com/microsoft/go-mssqldb/pull/178)

#### New Contributors

- [@&#8203;srdan-bozovic-msft](https://github.com/srdan-bozovic-msft)
made their first contribution in
[https://github.com/microsoft/go-mssqldb/pull/131](https://github.com/microsoft/go-mssqldb/pull/131)
- [@&#8203;konart](https://github.com/konart) made their first
contribution in
[https://github.com/microsoft/go-mssqldb/pull/154](https://github.com/microsoft/go-mssqldb/pull/154)
- [@&#8203;abairmj](https://github.com/abairmj) made their first
contribution in
[https://github.com/microsoft/go-mssqldb/pull/159](https://github.com/microsoft/go-mssqldb/pull/159)
- [@&#8203;El-76](https://github.com/El-76) made their first
contribution in
[https://github.com/microsoft/go-mssqldb/pull/168](https://github.com/microsoft/go-mssqldb/pull/168)
- [@&#8203;toddtreece](https://github.com/toddtreece) made their first
contribution in
[https://github.com/microsoft/go-mssqldb/pull/166](https://github.com/microsoft/go-mssqldb/pull/166)
- [@&#8203;ngehrsitz](https://github.com/ngehrsitz) made their first
contribution in
[https://github.com/microsoft/go-mssqldb/pull/163](https://github.com/microsoft/go-mssqldb/pull/163)

**Full Changelog**:
microsoft/go-mssqldb@v1.5.0...v1.7.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjMxMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants