Skip to content

Add support for postgresql type names with dots#5971

Merged
vonzshik merged 3 commits intonpgsql:mainfrom
dvas-hash:support-pg-types-with-dots
Feb 4, 2025
Merged

Add support for postgresql type names with dots#5971
vonzshik merged 3 commits intonpgsql:mainfrom
dvas-hash:support-pg-types-with-dots

Conversation

@dvas-hash
Copy link
Contributor

Fixed the problem of converting type names with dots, for example the name "public.audit.sessiontype" was parsed incorrectly and had namespace after parse "audit" and name - "sessiontype".

If the schema is not null or empty, then displayname must contain only the type name.

@NinoFloris
Copy link
Member

Thanks, mind adding a few test cases?

Contributes to #5710

@dvas-hash
Copy link
Contributor Author

Contributes to #5972

@dvas-hash
Copy link
Contributor Author

Thanks, mind adding a few test cases?

Contributes to #5710

Added test case with schema_name."Test.type.name"

@dvas-hash
Copy link
Contributor Author

I need this fix in Npgsql v8, is it possible?

Copy link
Contributor

@vonzshik vonzshik left a comment

Choose a reason for hiding this comment

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

LGTM

@vonzshik
Copy link
Contributor

I need this fix in Npgsql v8, is it possible?

Yeah, we'll probably backport it to npgsql 8. BTW could you try to rebase on the latest main? It looks like there is an issue with the CI pipeline.

@dvas-hash dvas-hash requested a review from Brar as a code owner January 17, 2025 12:21
@vonzshik
Copy link
Contributor

Huh, for some reason it shows much more changes than it should...

@dvas-hash dvas-hash force-pushed the support-pg-types-with-dots branch from 5b4ebb7 to d2e7534 Compare January 17, 2025 12:31
For composite type with dots in name, Postgresql returns name with quotes - scheme."My.type.name",
but for npgsql mapping we should use names without quotes - scheme.My.type.name
@dvas-hash dvas-hash force-pushed the support-pg-types-with-dots branch from d2e7534 to d7159a0 Compare January 17, 2025 12:33
@dvas-hash
Copy link
Contributor Author

dvas-hash commented Jan 17, 2025

Huh, for some reason it shows much more changes than it should...

Fixed, but unfortunately a few more reviewers were added because of this error

@vonzshik vonzshik linked an issue Feb 4, 2025 that may be closed by this pull request
@vonzshik
Copy link
Contributor

vonzshik commented Feb 4, 2025

OK, I think it's fine to merge this now.
@dvas-hash thank you for your contribution!

@vonzshik vonzshik merged commit 3505dc3 into npgsql:main Feb 4, 2025
14 checks passed
vonzshik pushed a commit that referenced this pull request Feb 4, 2025
Fixes #5972

---------

Co-authored-by: Dmitry Vasliyev <dmitry.vasilyev@veeam.com>
(cherry picked from commit 3505dc3)
vonzshik pushed a commit that referenced this pull request Feb 4, 2025
Fixes #5972

---------

Co-authored-by: Dmitry Vasliyev <dmitry.vasilyev@veeam.com>
(cherry picked from commit 3505dc3)
@vonzshik
Copy link
Contributor

vonzshik commented Feb 4, 2025

Backported to 9.0.3 via 7f241f2, 8.0.6 via 9b0f9a3

NinoFloris added a commit to NinoFloris/npgsql that referenced this pull request Feb 11, 2026
NinoFloris added a commit to NinoFloris/npgsql that referenced this pull request Feb 11, 2026
github-actions bot pushed a commit to awslabs/aurora-dsql-connectors that referenced this pull request Mar 16, 2026
Updated [Npgsql](https://github.com/npgsql/npgsql) from 9.0.3 to 10.0.2.

<details>
<summary>Release notes</summary>

_Sourced from [Npgsql's
releases](https://github.com/npgsql/npgsql/releases)._

## 10.0.2

v10.0.2 contains several minor bug fixes.

[Milestone
issues](https://github.com/npgsql/npgsql/milestone/135?closed=1)

**Full Changelog**:
npgsql/npgsql@v10.0.1...v10.0.2

## 10.0.1

v10.0.1 contains several minor bug fixes.

[Milestone
issues](https://github.com/npgsql/npgsql/milestone/134?closed=1)

**Full Changelog**:
npgsql/npgsql@v10.0.0...v10.0.1

## 10.0.0

See the [release
notes](https://www.npgsql.org/doc/release-notes/10.0.html).

The full list of changes is available
[here](https://github.com/npgsql/npgsql/milestone/122?closed=1).

## What's Changed
* STJ 9.0 alternative approach by @​NinoFloris in
npgsql/npgsql#5941
* Remove support for net6.0 by @​roji in
npgsql/npgsql#5947
* Some leftover cleanup for removing net6.0 by @​roji in
npgsql/npgsql#5949
* Map date/time to DateOnly/TimeOnly by default by @​roji in
npgsql/npgsql#5948
* Make the cidr<->IPNetwork mapping the default by @​roji in
npgsql/npgsql#5950
* Fix connecting with VerifyCA and VerifyFull by @​vonzshik in
npgsql/npgsql#5944
* Remove stopwatch allocations by @​vonzshik in
npgsql/npgsql#5977
* Bump actions/setup-dotnet from 4.1.0 to 4.2.0 by @​dependabot[bot] in
npgsql/npgsql#5983
* Use exception convenience methods by @​bbowyersmyth in
npgsql/npgsql#5982
* Bump actions/setup-dotnet from 4.2.0 to 4.3.0 by @​dependabot[bot] in
npgsql/npgsql#6007
* Add support for postgresql type names with dots by @​dvas-hash in
npgsql/npgsql#5971
* Send close_notify TLS alert on connection shutdown by @​vonzshik in
npgsql/npgsql#5995
* Remove DisplayClass struct creation in PgReader by @​bbowyersmyth in
npgsql/npgsql#6014
* Always dispose RemoteCertificate on SslStream by @​vonzshik in
npgsql/npgsql#6022
* Remove LongRunningConnection field from NpgsqlConnector by @​vonzshik
in npgsql/npgsql#6024
* Tighten SCRAM-SHA-256 SASL check by @​vonzshik in
npgsql/npgsql#6023
* Add SHA3 hash algorithms for SASL authentication by @​vonzshik in
npgsql/npgsql#6028
* Remove dotnet SDK version from CI (use global.json) by @​roji in
npgsql/npgsql#6037
* Add support for specifying allowed auth methods by @​vonzshik in
npgsql/npgsql#6036
* Migrate to SLNX by @​roji in
npgsql/npgsql#6053
* Switch to Ubuntu 24.04 in CI by @​roji in
npgsql/npgsql#6054
* Bump actions/setup-dotnet from 4.3.0 to 4.3.1 by @​dependabot[bot] in
npgsql/npgsql#6059
* Add basic testing for tracing by @​vonzshik in
npgsql/npgsql#6051
* parameter-collection Clone() should set correct collection instance by
@​mgravell in npgsql/npgsql#6066
* Fix brew on mac CI by @​NinoFloris in
npgsql/npgsql#6071
* Fix adding to hash lookup while renaming an unnamed parameter by
@​vonzshik in npgsql/npgsql#6073
* Update LICENSE date (2024 -> 2025) by @​kurnakovv in
npgsql/npgsql#6082
* Add tracing for physical connection open by @​vonzshik in
npgsql/npgsql#6091
* Start testing on .NET 9 by @​vonzshik in
npgsql/npgsql#5945
* Turn on <IsAotCompatible> by @​roji in
npgsql/npgsql#6097
* Reenable public API analyzer by @​roji in
npgsql/npgsql#6101
* Update Npgsql to .NET 9 by @​vonzshik in
npgsql/npgsql#6099
* Ignore system CA store if root certificate is provided by @​vonzshik
in npgsql/npgsql#6102
* Fix reading columns asynchronously via JsonNet plugin by @​vonzshik in
npgsql/npgsql#6109
* Fixes #​6107 missed should buffer in biginteger numeric converter by
@​NinoFloris in npgsql/npgsql#6117
* Fix logging parameters with batches by @​vonzshik in
npgsql/npgsql#6079
* Implement GSSAPI session encryption by @​vonzshik in
npgsql/npgsql#6131
* feat: add support for PGAPPNAME to set application name by
@​michael-todorovic in npgsql/npgsql#6139
* Fix returning null from KerberosUsernameProvider.GetUsername with
concurrent calls by @​vonzshik in
npgsql/npgsql#6137
* Add NpgsqlTsVector.Empty by @​roji in
npgsql/npgsql#6145
* Add assert to NpgsqlCommand.Transaction if it's completed by
@​vonzshik in npgsql/npgsql#6151
* Compare normalized type names by @​0MG-DEN in
npgsql/npgsql#6011
* Do CI testing for PG18 (beta) by @​roji in
npgsql/npgsql#6155
* Fix infinite consume on error with connection break by @​vonzshik in
npgsql/npgsql#6161
* Bump actions/checkout from 4 to 5 by @​dependabot[bot] in
npgsql/npgsql#6174
 ... (truncated)

## 10.0.0-rc.1



## 9.0.5

v9.0.5 contains several minor bug fixes.

[Milestone
issues](https://github.com/npgsql/npgsql/milestone/131?closed=1)

**Full Changelog**:
npgsql/npgsql@v9.0.4...v9.0.5

## 9.0.4

v9.0.4 contains several minor bug fixes.

[Milestone
issues](https://github.com/npgsql/npgsql/milestone/127?closed=1)

**Full Changelog**:
npgsql/npgsql@v9.0.3...v9.0.4

Commits viewable in [compare
view](npgsql/npgsql@v9.0.3...v10.0.2).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Npgsql&package-manager=nuget&previous-version=9.0.3&new-version=10.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@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.

Add support for postgresql type names with dots

4 participants