From cd8bb818c741b7cb4341ba661b9a6131b7fcc68e Mon Sep 17 00:00:00 2001 From: Doron Eli Rachman Date: Fri, 12 Sep 2025 14:22:08 +0300 Subject: [PATCH 01/10] add test for non null enum type --- .../DefaultSchemaEnum/request.json | 2 +- .../DefaultSchemaEnum/request.message | 2 +- .../SchemaScopedEnum/request.json | 2 +- .../SchemaScopedEnum/request.message | 2 +- .../Templates/PostgresTests.cs | 43 ++++++++---- .../NpgsqlDapperTester.generated.cs | 36 ++++++---- .../EndToEndTests/NpgsqlTester.generated.cs | 36 ++++++---- .../NpgsqlDapperTester.generated.cs | 36 ++++++---- .../NpgsqlTester.generated.cs | 36 ++++++---- .../MySqlConnectorDapperExample/request.json | 2 +- .../request.message | Bin 25750 -> 25750 bytes .../request.json | 2 +- .../request.message | Bin 25784 -> 25784 bytes examples/MySqlConnectorExample/request.json | 2 +- .../MySqlConnectorExample/request.message | Bin 25734 -> 25734 bytes .../MySqlConnectorLegacyExample/request.json | 2 +- .../request.message | Bin 25768 -> 25768 bytes examples/NpgsqlDapperExample/Models.cs | 1 + examples/NpgsqlDapperExample/QuerySql.cs | 7 +- examples/NpgsqlDapperExample/request.json | 50 +++++++++++--- examples/NpgsqlDapperExample/request.message | 64 +++++++++--------- examples/NpgsqlDapperLegacyExample/Models.cs | 1 + .../NpgsqlDapperLegacyExample/QuerySql.cs | 7 +- .../NpgsqlDapperLegacyExample/request.json | 50 +++++++++++--- .../NpgsqlDapperLegacyExample/request.message | 64 +++++++++--------- examples/NpgsqlExample/Models.cs | 2 +- examples/NpgsqlExample/QuerySql.cs | 16 +++-- examples/NpgsqlExample/request.json | 50 +++++++++++--- examples/NpgsqlExample/request.message | 64 +++++++++--------- examples/NpgsqlLegacyExample/Models.cs | 1 + examples/NpgsqlLegacyExample/QuerySql.cs | 14 ++-- examples/NpgsqlLegacyExample/request.json | 50 +++++++++++--- examples/NpgsqlLegacyExample/request.message | 64 +++++++++--------- examples/SqliteDapperExample/request.json | 2 +- examples/SqliteDapperExample/request.message | Bin 7906 -> 7906 bytes .../SqliteDapperLegacyExample/request.json | 2 +- .../SqliteDapperLegacyExample/request.message | Bin 7940 -> 7940 bytes examples/SqliteExample/request.json | 2 +- examples/SqliteExample/request.message | Bin 7890 -> 7890 bytes examples/SqliteLegacyExample/request.json | 2 +- examples/SqliteLegacyExample/request.message | Bin 7924 -> 7924 bytes examples/config/postgresql/types/query.sql | 9 ++- examples/config/postgresql/types/schema.sql | 1 + 43 files changed, 454 insertions(+), 272 deletions(-) diff --git a/CodegenTests/test-requests/DefaultSchemaEnum/request.json b/CodegenTests/test-requests/DefaultSchemaEnum/request.json index 7cf007aa..9cfcde41 100644 --- a/CodegenTests/test-requests/DefaultSchemaEnum/request.json +++ b/CodegenTests/test-requests/DefaultSchemaEnum/request.json @@ -100,6 +100,6 @@ } } ], - "sqlc_version": "v1.30.0", + "sqlc_version": "v1.27.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0OC4wIiwibmFtZXNwYWNlTmFtZSI6IiIsInVzZURhcHBlciI6ZmFsc2UsIm92ZXJyaWRlRGFwcGVyVmVyc2lvbiI6IiIsIm92ZXJyaWRlcyI6bnVsbCwiZGVidWdSZXF1ZXN0IjpmYWxzZX0=" } \ No newline at end of file diff --git a/CodegenTests/test-requests/DefaultSchemaEnum/request.message b/CodegenTests/test-requests/DefaultSchemaEnum/request.message index d56158b3..0e8fb7c8 100644 --- a/CodegenTests/test-requests/DefaultSchemaEnum/request.message +++ b/CodegenTests/test-requests/DefaultSchemaEnum/request.message @@ -10,4 +10,4 @@ dummy_column0R  dummy_tablebdummy_table_dummy_columnz dummy_column: query.sqlЗ 1INSERT INTO dummy_table (dummy_column) VALUES (?) TestInsert:exec*UQ - dummy_column0Rpublic dummy_tablebdummy_table_dummy_columnz dummy_column: query.sqlB  dummy_table"v1.30.0*Г{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"net8.0","namespaceName":"","useDapper":false,"overrideDapperVersion":"","overrides":null,"debugRequest":false} \ No newline at end of file + dummy_column0Rpublic dummy_tablebdummy_table_dummy_columnz dummy_column: query.sqlB  dummy_table"v1.27.0*Г{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"net8.0","namespaceName":"","useDapper":false,"overrideDapperVersion":"","overrides":null,"debugRequest":false} \ No newline at end of file diff --git a/CodegenTests/test-requests/SchemaScopedEnum/request.json b/CodegenTests/test-requests/SchemaScopedEnum/request.json index 7b2a146d..9229b7c9 100644 --- a/CodegenTests/test-requests/SchemaScopedEnum/request.json +++ b/CodegenTests/test-requests/SchemaScopedEnum/request.json @@ -80,6 +80,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.30.0", + "sqlc_version": "v1.27.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0OC4wIiwibmFtZXNwYWNlTmFtZSI6IiIsInVzZURhcHBlciI6ZmFsc2UsIm92ZXJyaWRlRGFwcGVyVmVyc2lvbiI6IiIsIm92ZXJyaWRlcyI6bnVsbCwiZGVidWdSZXF1ZXN0IjpmYWxzZX0=" } \ No newline at end of file diff --git a/CodegenTests/test-requests/SchemaScopedEnum/request.message b/CodegenTests/test-requests/SchemaScopedEnum/request.message index 766cd0c5..7fac4f53 100644 --- a/CodegenTests/test-requests/SchemaScopedEnum/request.message +++ b/CodegenTests/test-requests/SchemaScopedEnum/request.message @@ -7,4 +7,4 @@  dummy_schema dummy_tableI dummy_column0R dummy_schema dummy_tablebdummy_table_dummy_columnЋ 9SELECT dummy_column FROM dummy_schema.dummy_table LIMIT 1Test:one"W - dummy_column0R dummy_schema dummy_tablebdummy_table_dummy_columnz dummy_column: query.sql"v1.30.0*Г{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"net8.0","namespaceName":"","useDapper":false,"overrideDapperVersion":"","overrides":null,"debugRequest":false} \ No newline at end of file + dummy_column0R dummy_schema dummy_tablebdummy_table_dummy_columnz dummy_column: query.sql"v1.27.0*Г{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"net8.0","namespaceName":"","useDapper":false,"overrideDapperVersion":"","overrides":null,"debugRequest":false} \ No newline at end of file diff --git a/end2end/EndToEndScaffold/Templates/PostgresTests.cs b/end2end/EndToEndScaffold/Templates/PostgresTests.cs index 2f39564d..ce6dde9f 100644 --- a/end2end/EndToEndScaffold/Templates/PostgresTests.cs +++ b/end2end/EndToEndScaffold/Templates/PostgresTests.cs @@ -481,7 +481,8 @@ await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialType CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, - CJsonpath = cJsonpath + CJsonpath = cJsonpath, + CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow @@ -489,7 +490,8 @@ await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialType CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, - CJsonpath = cJsonpath + CJsonpath = cJsonpath, + CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); @@ -505,6 +507,7 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CJsonb.Value.GetRawText(), Is.EqualTo(y.CJsonb.Value.GetRawText())); Assert.That(x.CJsonStringOverride, Is.EqualTo(y.CJsonStringOverride)); Assert.That(x.CJsonpath, Is.EqualTo(y.CJsonpath)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } """ @@ -565,13 +568,15 @@ public void TestPostgresInvalidJson() Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { - CJsonStringOverride = "SOME INVALID JSON" + CJsonStringOverride = "SOME INVALID JSON", + CEnumNotNull = CEnum.Small })); Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { - CJsonpath = "SOME INVALID JSONPATH" + CJsonpath = "SOME INVALID JSONPATH", + CEnumNotNull = CEnum.Small })); } """ @@ -1019,12 +1024,14 @@ public async Task TestPostgresGuidDataTypes(Guid? cUuid) { await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { - CUuid = cUuid + CUuid = cUuid, + CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CUuid = cUuid + CUuid = cUuid, + CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual{{Consts.UnknownRecordValuePlaceholder}}); @@ -1032,6 +1039,7 @@ await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialType void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CUuid, Is.EqualTo(y.CUuid)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } """ @@ -1093,12 +1101,14 @@ public async Task TestPostgresXmlDataTypes(string cXml) await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { - CXml = parsedXml + CXml = parsedXml, + CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CXml = parsedXml + CXml = parsedXml, + CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); @@ -1109,6 +1119,7 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CXml == null, Is.EqualTo(y.CXml == null)); if (x.CXml != null) Assert.That(x.CXml.OuterXml, Is.EqualTo(y.CXml.OuterXml)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } """ @@ -1123,7 +1134,8 @@ public void TestPostgresInvalidXml() Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { - CXmlStringOverride = "SOME INVALID XML" + CXmlStringOverride = "SOME INVALID XML", + CEnumNotNull = CEnum.Small })); } """ @@ -1192,18 +1204,20 @@ void AssertSingularEquals(QuerySql.GetPostgresNetworkTypesCntRow x, QuerySql.Get { Impl = $$""" [Test] - [TestCase(CEnum.Medium)] - [TestCase(null)] - public async Task TestPostgresStringTypes(CEnum? cEnum) + [TestCase(CEnum.Medium, CEnum.Big)] + [TestCase(null, CEnum.Small)] + public async Task TestPostgresEnumTypes(CEnum? cEnum, CEnum cEnumNotNull) { await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { - CEnum = cEnum + CEnum = cEnum, + CEnumNotNull = cEnumNotNull }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CEnum = cEnum + CEnum = cEnum, + CEnumNotNull = cEnumNotNull }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual{{Consts.UnknownRecordValuePlaceholder}}); @@ -1211,6 +1225,7 @@ await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialType void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CEnum, Is.EqualTo(y.CEnum)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } """ diff --git a/end2end/EndToEndTests/NpgsqlDapperTester.generated.cs b/end2end/EndToEndTests/NpgsqlDapperTester.generated.cs index 9846951f..5919dd35 100644 --- a/end2end/EndToEndTests/NpgsqlDapperTester.generated.cs +++ b/end2end/EndToEndTests/NpgsqlDapperTester.generated.cs @@ -400,14 +400,14 @@ void AssertSingularEquals(QuerySql.GetPostgresFunctionsRow x, QuerySql.GetPostgr [Test] public void TestPostgresInvalidJson() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON" })); - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH" })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", CEnumNotNull = CEnum.Small })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", CEnumNotNull = CEnum.Small })); } [Test] public void TestPostgresInvalidXml() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML" })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", CEnumNotNull = CEnum.Small })); } [Test] @@ -564,16 +564,18 @@ private static IEnumerable PostgresGuidDataTypesTestCases [TestCaseSource(nameof(PostgresGuidDataTypesTestCases))] public async Task TestPostgresGuidDataTypes(Guid? cUuid) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CUuid = cUuid + CUuid = cUuid, + CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CUuid, Is.EqualTo(y.CUuid)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -678,13 +680,14 @@ public async Task TestPostgresJsonDataTypes(string cJson, string cJsonpath) JsonElement? cParsedJson = null; if (cJson != null) cParsedJson = JsonDocument.Parse(cJson).RootElement; - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, - CJsonpath = cJsonpath + CJsonpath = cJsonpath, + CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -698,6 +701,7 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CJsonb.Value.GetRawText(), Is.EqualTo(y.CJsonb.Value.GetRawText())); Assert.That(x.CJsonStringOverride, Is.EqualTo(y.CJsonStringOverride)); Assert.That(x.CJsonpath, Is.EqualTo(y.CJsonpath)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -713,10 +717,11 @@ public async Task TestPostgresXmlDataTypes(string cXml) parsedXml.LoadXml(cXml); } - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CXml = parsedXml + CXml = parsedXml, + CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -725,24 +730,27 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CXml == null, Is.EqualTo(y.CXml == null)); if (x.CXml != null) Assert.That(x.CXml.OuterXml, Is.EqualTo(y.CXml.OuterXml)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } [Test] - [TestCase(CEnum.Medium)] - [TestCase(null)] - public async Task TestPostgresStringTypes(CEnum? cEnum) + [TestCase(CEnum.Medium, CEnum.Big)] + [TestCase(null, CEnum.Small)] + public async Task TestPostgresEnumTypes(CEnum? cEnum, CEnum cEnumNotNull) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, CEnumNotNull = cEnumNotNull }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CEnum = cEnum + CEnum = cEnum, + CEnumNotNull = cEnumNotNull }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CEnum, Is.EqualTo(y.CEnum)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } diff --git a/end2end/EndToEndTests/NpgsqlTester.generated.cs b/end2end/EndToEndTests/NpgsqlTester.generated.cs index 4986884b..07043341 100644 --- a/end2end/EndToEndTests/NpgsqlTester.generated.cs +++ b/end2end/EndToEndTests/NpgsqlTester.generated.cs @@ -400,14 +400,14 @@ void AssertSingularEquals(QuerySql.GetPostgresFunctionsRow x, QuerySql.GetPostgr [Test] public void TestPostgresInvalidJson() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON" })); - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH" })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", CEnumNotNull = CEnum.Small })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", CEnumNotNull = CEnum.Small })); } [Test] public void TestPostgresInvalidXml() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML" })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", CEnumNotNull = CEnum.Small })); } [Test] @@ -564,16 +564,18 @@ private static IEnumerable PostgresGuidDataTypesTestCases [TestCaseSource(nameof(PostgresGuidDataTypesTestCases))] public async Task TestPostgresGuidDataTypes(Guid? cUuid) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CUuid = cUuid + CUuid = cUuid, + CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual.Value); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CUuid, Is.EqualTo(y.CUuid)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -678,13 +680,14 @@ public async Task TestPostgresJsonDataTypes(string cJson, string cJsonpath) JsonElement? cParsedJson = null; if (cJson != null) cParsedJson = JsonDocument.Parse(cJson).RootElement; - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, - CJsonpath = cJsonpath + CJsonpath = cJsonpath, + CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual.Value); @@ -698,6 +701,7 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CJsonb.Value.GetRawText(), Is.EqualTo(y.CJsonb.Value.GetRawText())); Assert.That(x.CJsonStringOverride, Is.EqualTo(y.CJsonStringOverride)); Assert.That(x.CJsonpath, Is.EqualTo(y.CJsonpath)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -713,10 +717,11 @@ public async Task TestPostgresXmlDataTypes(string cXml) parsedXml.LoadXml(cXml); } - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CXml = parsedXml + CXml = parsedXml, + CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual.Value); @@ -725,24 +730,27 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CXml == null, Is.EqualTo(y.CXml == null)); if (x.CXml != null) Assert.That(x.CXml.OuterXml, Is.EqualTo(y.CXml.OuterXml)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } [Test] - [TestCase(CEnum.Medium)] - [TestCase(null)] - public async Task TestPostgresStringTypes(CEnum? cEnum) + [TestCase(CEnum.Medium, CEnum.Big)] + [TestCase(null, CEnum.Small)] + public async Task TestPostgresEnumTypes(CEnum? cEnum, CEnum cEnumNotNull) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, CEnumNotNull = cEnumNotNull }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CEnum = cEnum + CEnum = cEnum, + CEnumNotNull = cEnumNotNull }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual.Value); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CEnum, Is.EqualTo(y.CEnum)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } diff --git a/end2end/EndToEndTestsLegacy/NpgsqlDapperTester.generated.cs b/end2end/EndToEndTestsLegacy/NpgsqlDapperTester.generated.cs index b7d6db63..24eb18c3 100644 --- a/end2end/EndToEndTestsLegacy/NpgsqlDapperTester.generated.cs +++ b/end2end/EndToEndTestsLegacy/NpgsqlDapperTester.generated.cs @@ -400,14 +400,14 @@ void AssertSingularEquals(QuerySql.GetPostgresFunctionsRow x, QuerySql.GetPostgr [Test] public void TestPostgresInvalidJson() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON" })); - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH" })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", CEnumNotNull = CEnum.Small })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", CEnumNotNull = CEnum.Small })); } [Test] public void TestPostgresInvalidXml() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML" })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", CEnumNotNull = CEnum.Small })); } [Test] @@ -564,16 +564,18 @@ private static IEnumerable PostgresGuidDataTypesTestCases [TestCaseSource(nameof(PostgresGuidDataTypesTestCases))] public async Task TestPostgresGuidDataTypes(Guid? cUuid) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CUuid = cUuid + CUuid = cUuid, + CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CUuid, Is.EqualTo(y.CUuid)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -678,13 +680,14 @@ public async Task TestPostgresJsonDataTypes(string cJson, string cJsonpath) JsonElement? cParsedJson = null; if (cJson != null) cParsedJson = JsonDocument.Parse(cJson).RootElement; - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, - CJsonpath = cJsonpath + CJsonpath = cJsonpath, + CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -698,6 +701,7 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CJsonb.Value.GetRawText(), Is.EqualTo(y.CJsonb.Value.GetRawText())); Assert.That(x.CJsonStringOverride, Is.EqualTo(y.CJsonStringOverride)); Assert.That(x.CJsonpath, Is.EqualTo(y.CJsonpath)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -713,10 +717,11 @@ public async Task TestPostgresXmlDataTypes(string cXml) parsedXml.LoadXml(cXml); } - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CXml = parsedXml + CXml = parsedXml, + CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -725,24 +730,27 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CXml == null, Is.EqualTo(y.CXml == null)); if (x.CXml != null) Assert.That(x.CXml.OuterXml, Is.EqualTo(y.CXml.OuterXml)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } [Test] - [TestCase(CEnum.Medium)] - [TestCase(null)] - public async Task TestPostgresStringTypes(CEnum? cEnum) + [TestCase(CEnum.Medium, CEnum.Big)] + [TestCase(null, CEnum.Small)] + public async Task TestPostgresEnumTypes(CEnum? cEnum, CEnum cEnumNotNull) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, CEnumNotNull = cEnumNotNull }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CEnum = cEnum + CEnum = cEnum, + CEnumNotNull = cEnumNotNull }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CEnum, Is.EqualTo(y.CEnum)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } diff --git a/end2end/EndToEndTestsLegacy/NpgsqlTester.generated.cs b/end2end/EndToEndTestsLegacy/NpgsqlTester.generated.cs index 74db6e76..ce2e02e8 100644 --- a/end2end/EndToEndTestsLegacy/NpgsqlTester.generated.cs +++ b/end2end/EndToEndTestsLegacy/NpgsqlTester.generated.cs @@ -400,14 +400,14 @@ void AssertSingularEquals(QuerySql.GetPostgresFunctionsRow x, QuerySql.GetPostgr [Test] public void TestPostgresInvalidJson() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON" })); - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH" })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", CEnumNotNull = CEnum.Small })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", CEnumNotNull = CEnum.Small })); } [Test] public void TestPostgresInvalidXml() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML" })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", CEnumNotNull = CEnum.Small })); } [Test] @@ -564,16 +564,18 @@ private static IEnumerable PostgresGuidDataTypesTestCases [TestCaseSource(nameof(PostgresGuidDataTypesTestCases))] public async Task TestPostgresGuidDataTypes(Guid? cUuid) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CUuid = cUuid + CUuid = cUuid, + CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CUuid, Is.EqualTo(y.CUuid)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -678,13 +680,14 @@ public async Task TestPostgresJsonDataTypes(string cJson, string cJsonpath) JsonElement? cParsedJson = null; if (cJson != null) cParsedJson = JsonDocument.Parse(cJson).RootElement; - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, - CJsonpath = cJsonpath + CJsonpath = cJsonpath, + CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -698,6 +701,7 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CJsonb.Value.GetRawText(), Is.EqualTo(y.CJsonb.Value.GetRawText())); Assert.That(x.CJsonStringOverride, Is.EqualTo(y.CJsonStringOverride)); Assert.That(x.CJsonpath, Is.EqualTo(y.CJsonpath)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -713,10 +717,11 @@ public async Task TestPostgresXmlDataTypes(string cXml) parsedXml.LoadXml(cXml); } - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CXml = parsedXml + CXml = parsedXml, + CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -725,24 +730,27 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CXml == null, Is.EqualTo(y.CXml == null)); if (x.CXml != null) Assert.That(x.CXml.OuterXml, Is.EqualTo(y.CXml.OuterXml)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } [Test] - [TestCase(CEnum.Medium)] - [TestCase(null)] - public async Task TestPostgresStringTypes(CEnum? cEnum) + [TestCase(CEnum.Medium, CEnum.Big)] + [TestCase(null, CEnum.Small)] + public async Task TestPostgresEnumTypes(CEnum? cEnum, CEnum cEnumNotNull) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, CEnumNotNull = cEnumNotNull }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CEnum = cEnum + CEnum = cEnum, + CEnumNotNull = cEnumNotNull }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CEnum, Is.EqualTo(y.CEnum)); + Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } diff --git a/examples/MySqlConnectorDapperExample/request.json b/examples/MySqlConnectorDapperExample/request.json index 19472626..23d0fc09 100644 --- a/examples/MySqlConnectorDapperExample/request.json +++ b/examples/MySqlConnectorDapperExample/request.json @@ -3770,6 +3770,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.30.0", + "sqlc_version": "v1.27.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0OC4wIiwibmFtZXNwYWNlTmFtZSI6Ik15U3FsQ29ubmVjdG9yRGFwcGVyRXhhbXBsZUdlbiIsInVzZURhcHBlciI6dHJ1ZSwib3ZlcnJpZGVEYXBwZXJWZXJzaW9uIjoiIiwib3ZlcnJpZGVzIjpbeyJjb2x1bW4iOiJHZXRNeXNxbEZ1bmN0aW9uczptYXhfaW50IiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6ImludCIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiJHZXRNeXNxbEZ1bmN0aW9uczptYXhfdmFyY2hhciIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiR2V0TXlzcWxGdW5jdGlvbnM6bWF4X3RpbWVzdGFtcCIsImNzaGFycF90eXBlIjp7InR5cGUiOiJEYXRlVGltZSIsIm5vdE51bGwiOnRydWV9fSx7ImNvbHVtbiI6Iio6Y19qc29uX3N0cmluZ19vdmVycmlkZSIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19XSwiZGVidWdSZXF1ZXN0IjpmYWxzZX0=" } \ No newline at end of file diff --git a/examples/MySqlConnectorDapperExample/request.message b/examples/MySqlConnectorDapperExample/request.message index 7390bc73850bac3a407464746205a41c872f074f..29881c40817f26bfc04c3ab189c1716ee92d1d64 100644 GIT binary patch delta 17 YcmbPsl5yHe#trdFOh)FL6O&At06`!IN&o-= delta 17 YcmbPsl5yHe#trdFOvVPA6O&At06_f)L;wH) diff --git a/examples/MySqlConnectorDapperLegacyExample/request.json b/examples/MySqlConnectorDapperLegacyExample/request.json index 337b546b..f2f8ce44 100644 --- a/examples/MySqlConnectorDapperLegacyExample/request.json +++ b/examples/MySqlConnectorDapperLegacyExample/request.json @@ -3770,6 +3770,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.30.0", + "sqlc_version": "v1.27.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0c3RhbmRhcmQyLjAiLCJuYW1lc3BhY2VOYW1lIjoiTXlTcWxDb25uZWN0b3JEYXBwZXJMZWdhY3lFeGFtcGxlR2VuIiwidXNlRGFwcGVyIjp0cnVlLCJvdmVycmlkZURhcHBlclZlcnNpb24iOiIiLCJvdmVycmlkZXMiOlt7ImNvbHVtbiI6IkdldE15c3FsRnVuY3Rpb25zOm1heF9pbnQiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiaW50Iiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldE15c3FsRnVuY3Rpb25zOm1heF92YXJjaGFyIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiJHZXRNeXNxbEZ1bmN0aW9uczptYXhfdGltZXN0YW1wIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6IkRhdGVUaW1lIiwibm90TnVsbCI6dHJ1ZX19LHsiY29sdW1uIjoiKjpjX2pzb25fc3RyaW5nX292ZXJyaWRlIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX1dLCJkZWJ1Z1JlcXVlc3QiOmZhbHNlfQ==" } \ No newline at end of file diff --git a/examples/MySqlConnectorDapperLegacyExample/request.message b/examples/MySqlConnectorDapperLegacyExample/request.message index 3aa6a63e050a2c057d673b39eadb421db72f7725..31569fb1374ec2341951399eee6d8bd1f52aef68 100644 GIT binary patch delta 17 YcmdmSl5xjL#tp?uOh)FLOOu?L07h~K!~g&Q delta 17 YcmdmSl5xjL#tp?uOvVPAOOu?L07g#+z5oCK diff --git a/examples/MySqlConnectorExample/request.json b/examples/MySqlConnectorExample/request.json index b024268c..cfae6b86 100644 --- a/examples/MySqlConnectorExample/request.json +++ b/examples/MySqlConnectorExample/request.json @@ -3770,6 +3770,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.30.0", + "sqlc_version": "v1.27.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0OC4wIiwibmFtZXNwYWNlTmFtZSI6Ik15U3FsQ29ubmVjdG9yRXhhbXBsZUdlbiIsInVzZURhcHBlciI6ZmFsc2UsIm92ZXJyaWRlRGFwcGVyVmVyc2lvbiI6IiIsIm92ZXJyaWRlcyI6W3siY29sdW1uIjoiR2V0TXlzcWxGdW5jdGlvbnM6bWF4X2ludCIsImNzaGFycF90eXBlIjp7InR5cGUiOiJpbnQiLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiR2V0TXlzcWxGdW5jdGlvbnM6bWF4X3ZhcmNoYXIiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoic3RyaW5nIiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldE15c3FsRnVuY3Rpb25zOm1heF90aW1lc3RhbXAiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiRGF0ZVRpbWUiLCJub3ROdWxsIjp0cnVlfX0seyJjb2x1bW4iOiIqOmNfanNvbl9zdHJpbmdfb3ZlcnJpZGUiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoic3RyaW5nIiwibm90TnVsbCI6ZmFsc2V9fV0sImRlYnVnUmVxdWVzdCI6ZmFsc2V9" } \ No newline at end of file diff --git a/examples/MySqlConnectorExample/request.message b/examples/MySqlConnectorExample/request.message index 7e0add10a3f0fb5e2d6edfe1760eacd341097180..1d6789697eff1ede035d6bd055da556358e837ac 100644 GIT binary patch delta 17 YcmZoW$=G(1aYINFlacx6up|Q}06vTc4*&oF delta 17 YcmZoW$=G(1aYINFld-|(up|Q}06u932><{9 diff --git a/examples/MySqlConnectorLegacyExample/request.json b/examples/MySqlConnectorLegacyExample/request.json index 9407eaa2..350da4df 100644 --- a/examples/MySqlConnectorLegacyExample/request.json +++ b/examples/MySqlConnectorLegacyExample/request.json @@ -3770,6 +3770,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.30.0", + "sqlc_version": "v1.27.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0c3RhbmRhcmQyLjAiLCJuYW1lc3BhY2VOYW1lIjoiTXlTcWxDb25uZWN0b3JMZWdhY3lFeGFtcGxlR2VuIiwidXNlRGFwcGVyIjpmYWxzZSwib3ZlcnJpZGVEYXBwZXJWZXJzaW9uIjoiIiwib3ZlcnJpZGVzIjpbeyJjb2x1bW4iOiJHZXRNeXNxbEZ1bmN0aW9uczptYXhfaW50IiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6ImludCIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiJHZXRNeXNxbEZ1bmN0aW9uczptYXhfdmFyY2hhciIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiR2V0TXlzcWxGdW5jdGlvbnM6bWF4X3RpbWVzdGFtcCIsImNzaGFycF90eXBlIjp7InR5cGUiOiJEYXRlVGltZSIsIm5vdE51bGwiOnRydWV9fSx7ImNvbHVtbiI6Iio6Y19qc29uX3N0cmluZ19vdmVycmlkZSIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19XSwiZGVidWdSZXF1ZXN0IjpmYWxzZX0=" } \ No newline at end of file diff --git a/examples/MySqlConnectorLegacyExample/request.message b/examples/MySqlConnectorLegacyExample/request.message index 2356033c8c07bde20d374fa3b750af6e808bb4c8..41fbe903aa0a4a75b9549c6adc03060839354d0a 100644 GIT binary patch delta 17 YcmZ2+l5xdJ#tj)sOh)FLvy$wX07Kpei2wiq delta 17 YcmZ2+l5xdJ#tj)sOvVPAvy$wX07JV5g8%>k diff --git a/examples/NpgsqlDapperExample/Models.cs b/examples/NpgsqlDapperExample/Models.cs index b99e2fa3..5ce18c7a 100644 --- a/examples/NpgsqlDapperExample/Models.cs +++ b/examples/NpgsqlDapperExample/Models.cs @@ -82,6 +82,7 @@ public class PostgresSpecialType { public Guid? CUuid { get; init; } public CEnum? CEnum { get; init; } + public required CEnum CEnumNotNull { get; init; } public JsonElement? CJson { get; init; } public JsonElement? CJsonStringOverride { get; init; } public JsonElement? CJsonb { get; init; } diff --git a/examples/NpgsqlDapperExample/QuerySql.cs b/examples/NpgsqlDapperExample/QuerySql.cs index 3d5ad031..839cb034 100644 --- a/examples/NpgsqlDapperExample/QuerySql.cs +++ b/examples/NpgsqlDapperExample/QuerySql.cs @@ -1148,7 +1148,7 @@ public async Task InsertPostgresNetworkTypesBatch(List GetPostgresSpecialTypes() { diff --git a/examples/NpgsqlDapperExample/request.json b/examples/NpgsqlDapperExample/request.json index 8ace9fd4..fc963105 100644 --- a/examples/NpgsqlDapperExample/request.json +++ b/examples/NpgsqlDapperExample/request.json @@ -594,6 +594,17 @@ "name": "c_enum" } }, + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_special_types" + }, + "type": { + "name": "c_enum" + } + }, { "name": "c_json", "length": -1, @@ -601,7 +612,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" } }, @@ -612,7 +622,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" } }, @@ -35034,7 +35043,7 @@ } }, { - "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum\n)", + "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum,\n $9::c_enum\n)", "name": "InsertPostgresSpecialTypes", "cmd": ":exec", "parameters": [ @@ -35049,7 +35058,7 @@ "name": "postgres_special_types" }, "type": { - "name": "pg_catalog.json" + "name": "json" }, "originalName": "c_json" } @@ -35060,7 +35069,6 @@ "name": "c_json_string_override", "length": -1, "type": { - "schema": "pg_catalog", "name": "json" } } @@ -35136,6 +35144,17 @@ "name": "c_enum" } } + }, + { + "number": 9, + "column": { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "type": { + "name": "c_enum" + } + } } ], "comments": [ @@ -35147,7 +35166,7 @@ } }, { - "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\nFROM postgres_special_types \nLIMIT 1", + "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\nFROM postgres_special_types \nLIMIT 1", "name": "GetPostgresSpecialTypes", "cmd": ":one", "columns": [ @@ -35158,7 +35177,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" }, "originalName": "c_json" @@ -35170,7 +35188,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" }, "originalName": "c_json_string_override" @@ -35240,6 +35257,18 @@ "name": "c_enum" }, "originalName": "c_enum" + }, + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_special_types" + }, + "type": { + "name": "c_enum" + }, + "originalName": "c_enum_not_null" } ], "filename": "query.sql" @@ -35280,7 +35309,7 @@ "name": "postgres_special_types" }, "type": { - "name": "pg_catalog.json" + "name": "json" }, "originalName": "c_json" } @@ -35327,7 +35356,6 @@ "notNull": true, "length": -1, "type": { - "schema": "pg_catalog", "name": "json" } }, @@ -36127,6 +36155,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.30.0", + "sqlc_version": "v1.27.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0OC4wIiwibmFtZXNwYWNlTmFtZSI6Ik5wZ3NxbERhcHBlckV4YW1wbGVHZW4iLCJ1c2VEYXBwZXIiOnRydWUsIm92ZXJyaWRlRGFwcGVyVmVyc2lvbiI6IiIsIm92ZXJyaWRlcyI6W3siY29sdW1uIjoiR2V0UG9zdGdyZXNGdW5jdGlvbnM6bWF4X2ludGVnZXIiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiaW50Iiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldFBvc3RncmVzRnVuY3Rpb25zOm1heF92YXJjaGFyIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiJHZXRQb3N0Z3Jlc0Z1bmN0aW9uczptYXhfdGltZXN0YW1wIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6IkRhdGVUaW1lIiwibm90TnVsbCI6dHJ1ZX19LHsiY29sdW1uIjoiR2V0UG9zdGdyZXNTcGVjaWFsVHlwZXNDbnQ6Y19qc29uIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6Ikpzb25FbGVtZW50Iiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldFBvc3RncmVzU3BlY2lhbFR5cGVzQ250OmNfanNvbmIiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiSnNvbkVsZW1lbnQiLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiKjpjX2pzb25fc3RyaW5nX292ZXJyaWRlIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiIqOmNfeG1sX3N0cmluZ19vdmVycmlkZSIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiKjpjX21hY2FkZHI4IiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX1dLCJkZWJ1Z1JlcXVlc3QiOmZhbHNlfQ==" } \ No newline at end of file diff --git a/examples/NpgsqlDapperExample/request.message b/examples/NpgsqlDapperExample/request.message index cd48e311..5029be3b 100644 --- a/examples/NpgsqlDapperExample/request.message +++ b/examples/NpgsqlDapperExample/request.message @@ -3,7 +3,7 @@ 2 postgresql-examples/config/postgresql/authors/schema.sql+examples/config/postgresql/types/schema.sql",examples/config/postgresql/authors/query.sql"*examples/config/postgresql/types/query.sqlbЅ examples/NpgsqlDapperExamplecsharpц{"debugRequest":true,"generateCsproj":true,"namespaceName":"NpgsqlDapperExampleGen","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"notNull":false,"type":"int"}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"notNull":false,"type":"string"}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"notNull":true,"type":"DateTime"}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"*:c_json_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_xml_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_macaddr8","csharp_type":{"notNull":false,"type":"string"}}],"targetFramework":"net8.0","useDapper":true}* -./dist/LocalRunnerль public"publicƒ +./dist/LocalRunner‡э public"Щpublicƒ authors) id0џџџџџџџџџR authorsb  bigserial& name0џџџџџџџџџR authorsbtext# @@ -81,14 +81,13 @@ pg_catalog timestamp c_box0џџџџџџџџџRpostgres_geometric_typesbbox7 c_path0џџџџџџџџџRpostgres_geometric_typesbpath= c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygon; -c_circle0џџџџџџџџџRpostgres_geometric_typesbcircle’ +c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleО postgres_special_types5 c_uuid0џџџџџџџџџRpostgres_special_typesbuuid7 -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumA -c_json0џџџџџџџџџRpostgres_special_typesb -pg_catalogjsonQ -c_json_string_override0џџџџџџџџџRpostgres_special_typesb -pg_catalogjson7 +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumB +c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enum5 +c_json0џџџџџџџџџRpostgres_special_typesbjsonE +c_json_string_override0џџџџџџџџџRpostgres_special_typesbjson7 c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonb= c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10672,8 +10671,8 @@ LIMIT 1GetPostgresNetworkTypesCnt:one"= ) VALUES ($1, $2, $3)InsertPostgresNetworkTypesBatch :copyfrom*IE c_cidr0џџџџџџџџџR publicpostgres_network_typesbcidrzc_cidr*IE c_inet0џџџџџџџџџR publicpostgres_network_typesbinetzc_inet*RN - c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesП -— + c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesћ +М INSERT INTO postgres_special_types ( c_json, @@ -10683,7 +10682,8 @@ INSERT INTO postgres_special_types c_xml, c_xml_string_override, c_uuid, - c_enum + c_enum, + c_enum_not_null ) VALUES ( $1, @@ -10693,11 +10693,11 @@ VALUES ( $5::xml, $6::xml, $7, - $8::c_enum -)InsertPostgresSpecialTypes:exec*VR -c_json0џџџџџџџџџ8R publicpostgres_special_typesbpg_catalog.jsonzc_json*;7 -c_json_string_override0џџџџџџџџџb -pg_catalogjson*NJ + $8::c_enum, + $9::c_enum +)InsertPostgresSpecialTypes:exec*KG +c_json0џџџџџџџџџ8R publicpostgres_special_typesbjsonzc_json*/+ +c_json_string_override0џџџџџџџџџbjson*NJ c_jsonb0џџџџџџџџџ8R publicpostgres_special_typesbjsonbzc_jsonb*'# c_jsonpath0џџџџџџџџџb @@ -10705,8 +10705,9 @@ c_jsonpath0 c_xml0џџџџџџџџџbxml*-) c_xml_string_override0џџџџџџџџџbxml*KG c_uuid0џџџџџџџџџ8R publicpostgres_special_typesbuuidzc_uuid*! -c_enum0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesЕ -­SELECT +c_enum0џџџџџџџџџbc_enum*, ( +c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_types‡ +ТSELECT c_json, c_json_string_override, c_jsonb, @@ -10714,13 +10715,12 @@ c_jsonpath0 c_xml, c_xml_string_override, c_uuid, - c_enum + c_enum, + c_enum_not_null FROM postgres_special_types -LIMIT 1GetPostgresSpecialTypes:one"I -c_json0џџџџџџџџџRpostgres_special_typesb -pg_catalogjsonzc_json"i -c_json_string_override0џџџџџџџџџRpostgres_special_typesb -pg_catalogjsonzc_json_string_override"@ +LIMIT 1GetPostgresSpecialTypes:one"= +c_json0џџџџџџџџџRpostgres_special_typesbjsonzc_json"] +c_json_string_override0џџџџџџџџџRpostgres_special_typesbjsonzc_json_string_override"@ c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonbzc_jsonb"I c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10729,8 +10729,9 @@ c_jsonpath": c_xml0џџџџџџџџџRpostgres_special_typesbxmlzc_xml"Z c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxmlzc_xml_string_override"= c_uuid0џџџџџџџџџRpostgres_special_typesbuuidzc_uuid"? -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum: query.sqlW -%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЎ +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum"S +c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum_not_null: query.sqlW +%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЃ lINSERT INTO postgres_special_types ( c_uuid, @@ -10742,9 +10743,9 @@ VALUES ( $2, $3 )InsertPostgresSpecialTypesBatch :copyfrom*IE -c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*TP -c_json0џџџџџџџџџR publicpostgres_special_typesbpg_catalog.jsonzc_json*LH -c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesч +c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*IE +c_json0џџџџџџџџџR publicpostgres_special_typesbjsonzc_json*LH +c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesл їWITH grouped_json_types AS ( SELECT c_uuid, @@ -10765,9 +10766,8 @@ SELECT cnt FROM grouped_json_types LIMIT 1GetPostgresSpecialTypesCnt:one"9 -c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid") -c_json0џџџџџџџџџb -pg_catalogjson" +c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid" +c_json0џџџџџџџџџbjson" c_jsonb0џџџџџџџџџbjsonb"7 cnt0џџџџџџџџџRgrouped_json_typesbbigintzcnt: query.sqlн Я @@ -10895,4 +10895,4 @@ hSELECT c_point, c_line, c_lseg, c_box, c_path, c_polygon, c_circle FROM postgre c_path0џџџџџџџџџRpostgres_geometric_typesbpathzc_path"H c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygonz c_polygon"E c_circle0џџџџџџџџџRpostgres_geometric_typesbcirclezc_circle: query.sqlU -'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.30.0*{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"net8.0","namespaceName":"NpgsqlDapperExampleGen","useDapper":true,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file +'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.27.0*{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"net8.0","namespaceName":"NpgsqlDapperExampleGen","useDapper":true,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file diff --git a/examples/NpgsqlDapperLegacyExample/Models.cs b/examples/NpgsqlDapperLegacyExample/Models.cs index eddac678..ba6f85e7 100644 --- a/examples/NpgsqlDapperLegacyExample/Models.cs +++ b/examples/NpgsqlDapperLegacyExample/Models.cs @@ -83,6 +83,7 @@ public class PostgresSpecialType { public Guid? CUuid { get; set; } public CEnum? CEnum { get; set; } + public CEnum CEnumNotNull { get; set; } public JsonElement? CJson { get; set; } public JsonElement? CJsonStringOverride { get; set; } public JsonElement? CJsonb { get; set; } diff --git a/examples/NpgsqlDapperLegacyExample/QuerySql.cs b/examples/NpgsqlDapperLegacyExample/QuerySql.cs index 710e5997..7e30659c 100644 --- a/examples/NpgsqlDapperLegacyExample/QuerySql.cs +++ b/examples/NpgsqlDapperLegacyExample/QuerySql.cs @@ -1149,7 +1149,7 @@ public async Task InsertPostgresNetworkTypesBatch(List GetPostgresSpecialTypes() { diff --git a/examples/NpgsqlDapperLegacyExample/request.json b/examples/NpgsqlDapperLegacyExample/request.json index ee160451..a8f471cf 100644 --- a/examples/NpgsqlDapperLegacyExample/request.json +++ b/examples/NpgsqlDapperLegacyExample/request.json @@ -594,6 +594,17 @@ "name": "c_enum" } }, + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_special_types" + }, + "type": { + "name": "c_enum" + } + }, { "name": "c_json", "length": -1, @@ -601,7 +612,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" } }, @@ -612,7 +622,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" } }, @@ -35034,7 +35043,7 @@ } }, { - "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum\n)", + "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum,\n $9::c_enum\n)", "name": "InsertPostgresSpecialTypes", "cmd": ":exec", "parameters": [ @@ -35049,7 +35058,7 @@ "name": "postgres_special_types" }, "type": { - "name": "pg_catalog.json" + "name": "json" }, "originalName": "c_json" } @@ -35060,7 +35069,6 @@ "name": "c_json_string_override", "length": -1, "type": { - "schema": "pg_catalog", "name": "json" } } @@ -35136,6 +35144,17 @@ "name": "c_enum" } } + }, + { + "number": 9, + "column": { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "type": { + "name": "c_enum" + } + } } ], "comments": [ @@ -35147,7 +35166,7 @@ } }, { - "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\nFROM postgres_special_types \nLIMIT 1", + "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\nFROM postgres_special_types \nLIMIT 1", "name": "GetPostgresSpecialTypes", "cmd": ":one", "columns": [ @@ -35158,7 +35177,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" }, "originalName": "c_json" @@ -35170,7 +35188,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" }, "originalName": "c_json_string_override" @@ -35240,6 +35257,18 @@ "name": "c_enum" }, "originalName": "c_enum" + }, + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_special_types" + }, + "type": { + "name": "c_enum" + }, + "originalName": "c_enum_not_null" } ], "filename": "query.sql" @@ -35280,7 +35309,7 @@ "name": "postgres_special_types" }, "type": { - "name": "pg_catalog.json" + "name": "json" }, "originalName": "c_json" } @@ -35327,7 +35356,6 @@ "notNull": true, "length": -1, "type": { - "schema": "pg_catalog", "name": "json" } }, @@ -36127,6 +36155,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.30.0", + "sqlc_version": "v1.27.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0c3RhbmRhcmQyLjAiLCJuYW1lc3BhY2VOYW1lIjoiTnBnc3FsRGFwcGVyTGVnYWN5RXhhbXBsZUdlbiIsInVzZURhcHBlciI6dHJ1ZSwib3ZlcnJpZGVEYXBwZXJWZXJzaW9uIjoiIiwib3ZlcnJpZGVzIjpbeyJjb2x1bW4iOiJHZXRQb3N0Z3Jlc0Z1bmN0aW9uczptYXhfaW50ZWdlciIsImNzaGFycF90eXBlIjp7InR5cGUiOiJpbnQiLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiR2V0UG9zdGdyZXNGdW5jdGlvbnM6bWF4X3ZhcmNoYXIiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoic3RyaW5nIiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldFBvc3RncmVzRnVuY3Rpb25zOm1heF90aW1lc3RhbXAiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiRGF0ZVRpbWUiLCJub3ROdWxsIjp0cnVlfX0seyJjb2x1bW4iOiJHZXRQb3N0Z3Jlc1NwZWNpYWxUeXBlc0NudDpjX2pzb24iLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiSnNvbkVsZW1lbnQiLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiR2V0UG9zdGdyZXNTcGVjaWFsVHlwZXNDbnQ6Y19qc29uYiIsImNzaGFycF90eXBlIjp7InR5cGUiOiJKc29uRWxlbWVudCIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiIqOmNfanNvbl9zdHJpbmdfb3ZlcnJpZGUiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoic3RyaW5nIiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6Iio6Y194bWxfc3RyaW5nX292ZXJyaWRlIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiIqOmNfbWFjYWRkcjgiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoic3RyaW5nIiwibm90TnVsbCI6ZmFsc2V9fV0sImRlYnVnUmVxdWVzdCI6ZmFsc2V9" } \ No newline at end of file diff --git a/examples/NpgsqlDapperLegacyExample/request.message b/examples/NpgsqlDapperLegacyExample/request.message index dc27d44d..5b44aafb 100644 --- a/examples/NpgsqlDapperLegacyExample/request.message +++ b/examples/NpgsqlDapperLegacyExample/request.message @@ -3,7 +3,7 @@ 2 postgresql-examples/config/postgresql/authors/schema.sql+examples/config/postgresql/types/schema.sql",examples/config/postgresql/authors/query.sql"*examples/config/postgresql/types/query.sqlbЙ "examples/NpgsqlDapperLegacyExamplecsharpє{"debugRequest":true,"generateCsproj":true,"namespaceName":"NpgsqlDapperLegacyExampleGen","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"notNull":false,"type":"int"}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"notNull":false,"type":"string"}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"notNull":true,"type":"DateTime"}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"*:c_json_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_xml_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_macaddr8","csharp_type":{"notNull":false,"type":"string"}}],"targetFramework":"netstandard2.0","useDapper":true}* -./dist/LocalRunnerль public"publicƒ +./dist/LocalRunner‡э public"Щpublicƒ authors) id0џџџџџџџџџR authorsb  bigserial& name0џџџџџџџџџR authorsbtext# @@ -81,14 +81,13 @@ pg_catalog timestamp c_box0џџџџџџџџџRpostgres_geometric_typesbbox7 c_path0џџџџџџџџџRpostgres_geometric_typesbpath= c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygon; -c_circle0џџџџџџџџџRpostgres_geometric_typesbcircle’ +c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleО postgres_special_types5 c_uuid0џџџџџџџџџRpostgres_special_typesbuuid7 -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumA -c_json0џџџџџџџџџRpostgres_special_typesb -pg_catalogjsonQ -c_json_string_override0џџџџџџџџџRpostgres_special_typesb -pg_catalogjson7 +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumB +c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enum5 +c_json0џџџџџџџџџRpostgres_special_typesbjsonE +c_json_string_override0џџџџџџџџџRpostgres_special_typesbjson7 c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonb= c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10672,8 +10671,8 @@ LIMIT 1GetPostgresNetworkTypesCnt:one"= ) VALUES ($1, $2, $3)InsertPostgresNetworkTypesBatch :copyfrom*IE c_cidr0џџџџџџџџџR publicpostgres_network_typesbcidrzc_cidr*IE c_inet0џџџџџџџџџR publicpostgres_network_typesbinetzc_inet*RN - c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesП -— + c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesћ +М INSERT INTO postgres_special_types ( c_json, @@ -10683,7 +10682,8 @@ INSERT INTO postgres_special_types c_xml, c_xml_string_override, c_uuid, - c_enum + c_enum, + c_enum_not_null ) VALUES ( $1, @@ -10693,11 +10693,11 @@ VALUES ( $5::xml, $6::xml, $7, - $8::c_enum -)InsertPostgresSpecialTypes:exec*VR -c_json0џџџџџџџџџ8R publicpostgres_special_typesbpg_catalog.jsonzc_json*;7 -c_json_string_override0џџџџџџџџџb -pg_catalogjson*NJ + $8::c_enum, + $9::c_enum +)InsertPostgresSpecialTypes:exec*KG +c_json0џџџџџџџџџ8R publicpostgres_special_typesbjsonzc_json*/+ +c_json_string_override0џџџџџџџџџbjson*NJ c_jsonb0џџџџџџџџџ8R publicpostgres_special_typesbjsonbzc_jsonb*'# c_jsonpath0џџџџџџџџџb @@ -10705,8 +10705,9 @@ c_jsonpath0 c_xml0џџџџџџџџџbxml*-) c_xml_string_override0џџџџџџџџџbxml*KG c_uuid0џџџџџџџџџ8R publicpostgres_special_typesbuuidzc_uuid*! -c_enum0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesЕ -­SELECT +c_enum0џџџџџџџџџbc_enum*, ( +c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_types‡ +ТSELECT c_json, c_json_string_override, c_jsonb, @@ -10714,13 +10715,12 @@ c_jsonpath0 c_xml, c_xml_string_override, c_uuid, - c_enum + c_enum, + c_enum_not_null FROM postgres_special_types -LIMIT 1GetPostgresSpecialTypes:one"I -c_json0џџџџџџџџџRpostgres_special_typesb -pg_catalogjsonzc_json"i -c_json_string_override0џџџџџџџџџRpostgres_special_typesb -pg_catalogjsonzc_json_string_override"@ +LIMIT 1GetPostgresSpecialTypes:one"= +c_json0џџџџџџџџџRpostgres_special_typesbjsonzc_json"] +c_json_string_override0џџџџџџџџџRpostgres_special_typesbjsonzc_json_string_override"@ c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonbzc_jsonb"I c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10729,8 +10729,9 @@ c_jsonpath": c_xml0џџџџџџџџџRpostgres_special_typesbxmlzc_xml"Z c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxmlzc_xml_string_override"= c_uuid0џџџџџџџџџRpostgres_special_typesbuuidzc_uuid"? -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum: query.sqlW -%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЎ +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum"S +c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum_not_null: query.sqlW +%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЃ lINSERT INTO postgres_special_types ( c_uuid, @@ -10742,9 +10743,9 @@ VALUES ( $2, $3 )InsertPostgresSpecialTypesBatch :copyfrom*IE -c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*TP -c_json0џџџџџџџџџR publicpostgres_special_typesbpg_catalog.jsonzc_json*LH -c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesч +c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*IE +c_json0џџџџџџџџџR publicpostgres_special_typesbjsonzc_json*LH +c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesл їWITH grouped_json_types AS ( SELECT c_uuid, @@ -10765,9 +10766,8 @@ SELECT cnt FROM grouped_json_types LIMIT 1GetPostgresSpecialTypesCnt:one"9 -c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid") -c_json0џџџџџџџџџb -pg_catalogjson" +c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid" +c_json0џџџџџџџџџbjson" c_jsonb0џџџџџџџџџbjsonb"7 cnt0џџџџџџџџџRgrouped_json_typesbbigintzcnt: query.sqlн Я @@ -10895,4 +10895,4 @@ hSELECT c_point, c_line, c_lseg, c_box, c_path, c_polygon, c_circle FROM postgre c_path0џџџџџџџџџRpostgres_geometric_typesbpathzc_path"H c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygonz c_polygon"E c_circle0џџџџџџџџџRpostgres_geometric_typesbcirclezc_circle: query.sqlU -'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.30.0*Ћ{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"netstandard2.0","namespaceName":"NpgsqlDapperLegacyExampleGen","useDapper":true,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file +'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.27.0*Ћ{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"netstandard2.0","namespaceName":"NpgsqlDapperLegacyExampleGen","useDapper":true,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file diff --git a/examples/NpgsqlExample/Models.cs b/examples/NpgsqlExample/Models.cs index 17dfe72a..8ba0003d 100644 --- a/examples/NpgsqlExample/Models.cs +++ b/examples/NpgsqlExample/Models.cs @@ -17,7 +17,7 @@ namespace NpgsqlExampleGen; public readonly record struct PostgresNetworkType(NpgsqlCidr? CCidr, IPAddress? CInet, PhysicalAddress? CMacaddr, string? CMacaddr8); public readonly record struct PostgresArrayType(byte[]? CBytea, bool[]? CBooleanArray, string[]? CTextArray, int[]? CIntegerArray, decimal[]? CDecimalArray, DateTime[]? CDateArray, DateTime[]? CTimestampArray); public readonly record struct PostgresGeometricType(NpgsqlPoint? CPoint, NpgsqlLine? CLine, NpgsqlLSeg? CLseg, NpgsqlBox? CBox, NpgsqlPath? CPath, NpgsqlPolygon? CPolygon, NpgsqlCircle? CCircle); -public readonly record struct PostgresSpecialType(Guid? CUuid, CEnum? CEnum, JsonElement? CJson, JsonElement? CJsonStringOverride, JsonElement? CJsonb, string? CJsonpath, XmlDocument? CXml, XmlDocument? CXmlStringOverride); +public readonly record struct PostgresSpecialType(Guid? CUuid, CEnum? CEnum, CEnum CEnumNotNull, JsonElement? CJson, JsonElement? CJsonStringOverride, JsonElement? CJsonb, string? CJsonpath, XmlDocument? CXml, XmlDocument? CXmlStringOverride); public readonly record struct ExtendedBio(string AuthorName, string Name, ExtendedBioType? BioType); public enum CEnum { diff --git a/examples/NpgsqlExample/QuerySql.cs b/examples/NpgsqlExample/QuerySql.cs index 9db523e5..63317759 100644 --- a/examples/NpgsqlExample/QuerySql.cs +++ b/examples/NpgsqlExample/QuerySql.cs @@ -1679,8 +1679,8 @@ public async Task InsertPostgresNetworkTypesBatch(List GetPostgresSpecialTypes() { if (this.Transaction == null) @@ -1750,7 +1752,8 @@ public async Task InsertPostgresSpecialTypes(InsertPostgresSpecialTypesArgs args }))(reader, 4), CXmlStringOverride = reader.IsDBNull(5) ? null : reader.GetString(5), CUuid = reader.IsDBNull(6) ? null : reader.GetFieldValue(6), - CEnum = reader.IsDBNull(7) ? null : reader.GetString(7).ToCEnum() + CEnum = reader.IsDBNull(7) ? null : reader.GetString(7).ToCEnum(), + CEnumNotNull = reader.GetString(8).ToCEnum() }; } } @@ -1784,7 +1787,8 @@ public async Task InsertPostgresSpecialTypes(InsertPostgresSpecialTypesArgs args }))(reader, 4), CXmlStringOverride = reader.IsDBNull(5) ? null : reader.GetString(5), CUuid = reader.IsDBNull(6) ? null : reader.GetFieldValue(6), - CEnum = reader.IsDBNull(7) ? null : reader.GetString(7).ToCEnum() + CEnum = reader.IsDBNull(7) ? null : reader.GetString(7).ToCEnum(), + CEnumNotNull = reader.GetString(8).ToCEnum() }; } } diff --git a/examples/NpgsqlExample/request.json b/examples/NpgsqlExample/request.json index ab616394..21c77ee6 100644 --- a/examples/NpgsqlExample/request.json +++ b/examples/NpgsqlExample/request.json @@ -594,6 +594,17 @@ "name": "c_enum" } }, + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_special_types" + }, + "type": { + "name": "c_enum" + } + }, { "name": "c_json", "length": -1, @@ -601,7 +612,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" } }, @@ -612,7 +622,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" } }, @@ -35034,7 +35043,7 @@ } }, { - "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum\n)", + "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum,\n $9::c_enum\n)", "name": "InsertPostgresSpecialTypes", "cmd": ":exec", "parameters": [ @@ -35049,7 +35058,7 @@ "name": "postgres_special_types" }, "type": { - "name": "pg_catalog.json" + "name": "json" }, "originalName": "c_json" } @@ -35060,7 +35069,6 @@ "name": "c_json_string_override", "length": -1, "type": { - "schema": "pg_catalog", "name": "json" } } @@ -35136,6 +35144,17 @@ "name": "c_enum" } } + }, + { + "number": 9, + "column": { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "type": { + "name": "c_enum" + } + } } ], "comments": [ @@ -35147,7 +35166,7 @@ } }, { - "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\nFROM postgres_special_types \nLIMIT 1", + "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\nFROM postgres_special_types \nLIMIT 1", "name": "GetPostgresSpecialTypes", "cmd": ":one", "columns": [ @@ -35158,7 +35177,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" }, "originalName": "c_json" @@ -35170,7 +35188,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" }, "originalName": "c_json_string_override" @@ -35240,6 +35257,18 @@ "name": "c_enum" }, "originalName": "c_enum" + }, + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_special_types" + }, + "type": { + "name": "c_enum" + }, + "originalName": "c_enum_not_null" } ], "filename": "query.sql" @@ -35280,7 +35309,7 @@ "name": "postgres_special_types" }, "type": { - "name": "pg_catalog.json" + "name": "json" }, "originalName": "c_json" } @@ -35327,7 +35356,6 @@ "notNull": true, "length": -1, "type": { - "schema": "pg_catalog", "name": "json" } }, @@ -36127,6 +36155,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.30.0", + "sqlc_version": "v1.27.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0OC4wIiwibmFtZXNwYWNlTmFtZSI6Ik5wZ3NxbEV4YW1wbGVHZW4iLCJ1c2VEYXBwZXIiOmZhbHNlLCJvdmVycmlkZURhcHBlclZlcnNpb24iOiIiLCJvdmVycmlkZXMiOlt7ImNvbHVtbiI6IkdldFBvc3RncmVzRnVuY3Rpb25zOm1heF9pbnRlZ2VyIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6ImludCIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiJHZXRQb3N0Z3Jlc0Z1bmN0aW9uczptYXhfdmFyY2hhciIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiR2V0UG9zdGdyZXNGdW5jdGlvbnM6bWF4X3RpbWVzdGFtcCIsImNzaGFycF90eXBlIjp7InR5cGUiOiJEYXRlVGltZSIsIm5vdE51bGwiOnRydWV9fSx7ImNvbHVtbiI6IkdldFBvc3RncmVzU3BlY2lhbFR5cGVzQ250OmNfanNvbiIsImNzaGFycF90eXBlIjp7InR5cGUiOiJKc29uRWxlbWVudCIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiJHZXRQb3N0Z3Jlc1NwZWNpYWxUeXBlc0NudDpjX2pzb25iIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6Ikpzb25FbGVtZW50Iiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6Iio6Y19qc29uX3N0cmluZ19vdmVycmlkZSIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiKjpjX3htbF9zdHJpbmdfb3ZlcnJpZGUiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoic3RyaW5nIiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6Iio6Y19tYWNhZGRyOCIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19XSwiZGVidWdSZXF1ZXN0IjpmYWxzZX0=" } \ No newline at end of file diff --git a/examples/NpgsqlExample/request.message b/examples/NpgsqlExample/request.message index b4c6e3a8..deb6846b 100644 --- a/examples/NpgsqlExample/request.message +++ b/examples/NpgsqlExample/request.message @@ -3,7 +3,7 @@ 2 postgresql-examples/config/postgresql/authors/schema.sql+examples/config/postgresql/types/schema.sql",examples/config/postgresql/authors/query.sql"*examples/config/postgresql/types/query.sqlbš examples/NpgsqlExamplecsharpс{"debugRequest":true,"generateCsproj":true,"namespaceName":"NpgsqlExampleGen","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"notNull":false,"type":"int"}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"notNull":false,"type":"string"}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"notNull":true,"type":"DateTime"}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"*:c_json_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_xml_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_macaddr8","csharp_type":{"notNull":false,"type":"string"}}],"targetFramework":"net8.0","useDapper":false}* -./dist/LocalRunnerль public"publicƒ +./dist/LocalRunner‡э public"Щpublicƒ authors) id0џџџџџџџџџR authorsb  bigserial& name0џџџџџџџџџR authorsbtext# @@ -81,14 +81,13 @@ pg_catalog timestamp c_box0џџџџџџџџџRpostgres_geometric_typesbbox7 c_path0џџџџџџџџџRpostgres_geometric_typesbpath= c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygon; -c_circle0џџџџџџџџџRpostgres_geometric_typesbcircle’ +c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleО postgres_special_types5 c_uuid0џџџџџџџџџRpostgres_special_typesbuuid7 -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumA -c_json0џџџџџџџџџRpostgres_special_typesb -pg_catalogjsonQ -c_json_string_override0џџџџџџџџџRpostgres_special_typesb -pg_catalogjson7 +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumB +c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enum5 +c_json0џџџџџџџџџRpostgres_special_typesbjsonE +c_json_string_override0џџџџџџџџџRpostgres_special_typesbjson7 c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonb= c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10672,8 +10671,8 @@ LIMIT 1GetPostgresNetworkTypesCnt:one"= ) VALUES ($1, $2, $3)InsertPostgresNetworkTypesBatch :copyfrom*IE c_cidr0џџџџџџџџџR publicpostgres_network_typesbcidrzc_cidr*IE c_inet0џџџџџџџџџR publicpostgres_network_typesbinetzc_inet*RN - c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesП -— + c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesћ +М INSERT INTO postgres_special_types ( c_json, @@ -10683,7 +10682,8 @@ INSERT INTO postgres_special_types c_xml, c_xml_string_override, c_uuid, - c_enum + c_enum, + c_enum_not_null ) VALUES ( $1, @@ -10693,11 +10693,11 @@ VALUES ( $5::xml, $6::xml, $7, - $8::c_enum -)InsertPostgresSpecialTypes:exec*VR -c_json0џџџџџџџџџ8R publicpostgres_special_typesbpg_catalog.jsonzc_json*;7 -c_json_string_override0џџџџџџџџџb -pg_catalogjson*NJ + $8::c_enum, + $9::c_enum +)InsertPostgresSpecialTypes:exec*KG +c_json0џџџџџџџџџ8R publicpostgres_special_typesbjsonzc_json*/+ +c_json_string_override0џџџџџџџџџbjson*NJ c_jsonb0џџџџџџџџџ8R publicpostgres_special_typesbjsonbzc_jsonb*'# c_jsonpath0џџџџџџџџџb @@ -10705,8 +10705,9 @@ c_jsonpath0 c_xml0џџџџџџџџџbxml*-) c_xml_string_override0џџџџџџџџџbxml*KG c_uuid0џџџџџџџџџ8R publicpostgres_special_typesbuuidzc_uuid*! -c_enum0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesЕ -­SELECT +c_enum0џџџџџџџџџbc_enum*, ( +c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_types‡ +ТSELECT c_json, c_json_string_override, c_jsonb, @@ -10714,13 +10715,12 @@ c_jsonpath0 c_xml, c_xml_string_override, c_uuid, - c_enum + c_enum, + c_enum_not_null FROM postgres_special_types -LIMIT 1GetPostgresSpecialTypes:one"I -c_json0џџџџџџџџџRpostgres_special_typesb -pg_catalogjsonzc_json"i -c_json_string_override0џџџџџџџџџRpostgres_special_typesb -pg_catalogjsonzc_json_string_override"@ +LIMIT 1GetPostgresSpecialTypes:one"= +c_json0џџџџџџџџџRpostgres_special_typesbjsonzc_json"] +c_json_string_override0џџџџџџџџџRpostgres_special_typesbjsonzc_json_string_override"@ c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonbzc_jsonb"I c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10729,8 +10729,9 @@ c_jsonpath": c_xml0џџџџџџџџџRpostgres_special_typesbxmlzc_xml"Z c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxmlzc_xml_string_override"= c_uuid0џџџџџџџџџRpostgres_special_typesbuuidzc_uuid"? -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum: query.sqlW -%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЎ +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum"S +c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum_not_null: query.sqlW +%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЃ lINSERT INTO postgres_special_types ( c_uuid, @@ -10742,9 +10743,9 @@ VALUES ( $2, $3 )InsertPostgresSpecialTypesBatch :copyfrom*IE -c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*TP -c_json0џџџџџџџџџR publicpostgres_special_typesbpg_catalog.jsonzc_json*LH -c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesч +c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*IE +c_json0џџџџџџџџџR publicpostgres_special_typesbjsonzc_json*LH +c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesл їWITH grouped_json_types AS ( SELECT c_uuid, @@ -10765,9 +10766,8 @@ SELECT cnt FROM grouped_json_types LIMIT 1GetPostgresSpecialTypesCnt:one"9 -c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid") -c_json0џџџџџџџџџb -pg_catalogjson" +c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid" +c_json0џџџџџџџџџbjson" c_jsonb0џџџџџџџџџbjsonb"7 cnt0џџџџџџџџџRgrouped_json_typesbbigintzcnt: query.sqlн Я @@ -10895,4 +10895,4 @@ hSELECT c_point, c_line, c_lseg, c_box, c_path, c_polygon, c_circle FROM postgre c_path0џџџџџџџџџRpostgres_geometric_typesbpathzc_path"H c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygonz c_polygon"E c_circle0џџџџџџџџџRpostgres_geometric_typesbcirclezc_circle: query.sqlU -'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.30.0*˜{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"net8.0","namespaceName":"NpgsqlExampleGen","useDapper":false,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file +'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.27.0*˜{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"net8.0","namespaceName":"NpgsqlExampleGen","useDapper":false,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file diff --git a/examples/NpgsqlLegacyExample/Models.cs b/examples/NpgsqlLegacyExample/Models.cs index 2a06f586..7f3339e1 100644 --- a/examples/NpgsqlLegacyExample/Models.cs +++ b/examples/NpgsqlLegacyExample/Models.cs @@ -83,6 +83,7 @@ public class PostgresSpecialType { public Guid? CUuid { get; set; } public CEnum? CEnum { get; set; } + public CEnum CEnumNotNull { get; set; } public JsonElement? CJson { get; set; } public JsonElement? CJsonStringOverride { get; set; } public JsonElement? CJsonb { get; set; } diff --git a/examples/NpgsqlLegacyExample/QuerySql.cs b/examples/NpgsqlLegacyExample/QuerySql.cs index aab3edac..5e84ab86 100644 --- a/examples/NpgsqlLegacyExample/QuerySql.cs +++ b/examples/NpgsqlLegacyExample/QuerySql.cs @@ -1934,7 +1934,7 @@ public async Task InsertPostgresNetworkTypesBatch(List GetPostgresSpecialTypes() { @@ -2025,7 +2029,8 @@ public async Task GetPostgresSpecialTypes() }))(reader, 4), CXmlStringOverride = reader.IsDBNull(5) ? null : reader.GetString(5), CUuid = reader.IsDBNull(6) ? (Guid? )null : reader.GetFieldValue(6), - CEnum = reader.IsDBNull(7) ? (CEnum? )null : reader.GetString(7).ToCEnum() + CEnum = reader.IsDBNull(7) ? (CEnum? )null : reader.GetString(7).ToCEnum(), + CEnumNotNull = reader.GetString(8).ToCEnum() }; } } @@ -2059,7 +2064,8 @@ public async Task GetPostgresSpecialTypes() }))(reader, 4), CXmlStringOverride = reader.IsDBNull(5) ? null : reader.GetString(5), CUuid = reader.IsDBNull(6) ? (Guid? )null : reader.GetFieldValue(6), - CEnum = reader.IsDBNull(7) ? (CEnum? )null : reader.GetString(7).ToCEnum() + CEnum = reader.IsDBNull(7) ? (CEnum? )null : reader.GetString(7).ToCEnum(), + CEnumNotNull = reader.GetString(8).ToCEnum() }; } } diff --git a/examples/NpgsqlLegacyExample/request.json b/examples/NpgsqlLegacyExample/request.json index 8a47b829..bc967f86 100644 --- a/examples/NpgsqlLegacyExample/request.json +++ b/examples/NpgsqlLegacyExample/request.json @@ -594,6 +594,17 @@ "name": "c_enum" } }, + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_special_types" + }, + "type": { + "name": "c_enum" + } + }, { "name": "c_json", "length": -1, @@ -601,7 +612,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" } }, @@ -612,7 +622,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" } }, @@ -35034,7 +35043,7 @@ } }, { - "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum\n)", + "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum,\n $9::c_enum\n)", "name": "InsertPostgresSpecialTypes", "cmd": ":exec", "parameters": [ @@ -35049,7 +35058,7 @@ "name": "postgres_special_types" }, "type": { - "name": "pg_catalog.json" + "name": "json" }, "originalName": "c_json" } @@ -35060,7 +35069,6 @@ "name": "c_json_string_override", "length": -1, "type": { - "schema": "pg_catalog", "name": "json" } } @@ -35136,6 +35144,17 @@ "name": "c_enum" } } + }, + { + "number": 9, + "column": { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "type": { + "name": "c_enum" + } + } } ], "comments": [ @@ -35147,7 +35166,7 @@ } }, { - "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\nFROM postgres_special_types \nLIMIT 1", + "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\nFROM postgres_special_types \nLIMIT 1", "name": "GetPostgresSpecialTypes", "cmd": ":one", "columns": [ @@ -35158,7 +35177,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" }, "originalName": "c_json" @@ -35170,7 +35188,6 @@ "name": "postgres_special_types" }, "type": { - "schema": "pg_catalog", "name": "json" }, "originalName": "c_json_string_override" @@ -35240,6 +35257,18 @@ "name": "c_enum" }, "originalName": "c_enum" + }, + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_special_types" + }, + "type": { + "name": "c_enum" + }, + "originalName": "c_enum_not_null" } ], "filename": "query.sql" @@ -35280,7 +35309,7 @@ "name": "postgres_special_types" }, "type": { - "name": "pg_catalog.json" + "name": "json" }, "originalName": "c_json" } @@ -35327,7 +35356,6 @@ "notNull": true, "length": -1, "type": { - "schema": "pg_catalog", "name": "json" } }, @@ -36127,6 +36155,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.30.0", + "sqlc_version": "v1.27.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0c3RhbmRhcmQyLjAiLCJuYW1lc3BhY2VOYW1lIjoiTnBnc3FsTGVnYWN5RXhhbXBsZUdlbiIsInVzZURhcHBlciI6ZmFsc2UsIm92ZXJyaWRlRGFwcGVyVmVyc2lvbiI6IiIsIm92ZXJyaWRlcyI6W3siY29sdW1uIjoiR2V0UG9zdGdyZXNGdW5jdGlvbnM6bWF4X2ludGVnZXIiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiaW50Iiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldFBvc3RncmVzRnVuY3Rpb25zOm1heF92YXJjaGFyIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiJHZXRQb3N0Z3Jlc0Z1bmN0aW9uczptYXhfdGltZXN0YW1wIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6IkRhdGVUaW1lIiwibm90TnVsbCI6dHJ1ZX19LHsiY29sdW1uIjoiR2V0UG9zdGdyZXNTcGVjaWFsVHlwZXNDbnQ6Y19qc29uIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6Ikpzb25FbGVtZW50Iiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldFBvc3RncmVzU3BlY2lhbFR5cGVzQ250OmNfanNvbmIiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiSnNvbkVsZW1lbnQiLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiKjpjX2pzb25fc3RyaW5nX292ZXJyaWRlIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiIqOmNfeG1sX3N0cmluZ19vdmVycmlkZSIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiKjpjX21hY2FkZHI4IiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX1dLCJkZWJ1Z1JlcXVlc3QiOmZhbHNlfQ==" } \ No newline at end of file diff --git a/examples/NpgsqlLegacyExample/request.message b/examples/NpgsqlLegacyExample/request.message index 5aeaa545..920cfc59 100644 --- a/examples/NpgsqlLegacyExample/request.message +++ b/examples/NpgsqlLegacyExample/request.message @@ -3,7 +3,7 @@ 2 postgresql-examples/config/postgresql/authors/schema.sql+examples/config/postgresql/types/schema.sql",examples/config/postgresql/authors/query.sql"*examples/config/postgresql/types/query.sqlbЎ examples/NpgsqlLegacyExamplecsharpя{"debugRequest":true,"generateCsproj":true,"namespaceName":"NpgsqlLegacyExampleGen","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"notNull":false,"type":"int"}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"notNull":false,"type":"string"}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"notNull":true,"type":"DateTime"}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"*:c_json_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_xml_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_macaddr8","csharp_type":{"notNull":false,"type":"string"}}],"targetFramework":"netstandard2.0","useDapper":false}* -./dist/LocalRunnerль public"publicƒ +./dist/LocalRunner‡э public"Щpublicƒ authors) id0џџџџџџџџџR authorsb  bigserial& name0џџџџџџџџџR authorsbtext# @@ -81,14 +81,13 @@ pg_catalog timestamp c_box0џџџџџџџџџRpostgres_geometric_typesbbox7 c_path0џџџџџџџџџRpostgres_geometric_typesbpath= c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygon; -c_circle0џџџџџџџџџRpostgres_geometric_typesbcircle’ +c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleО postgres_special_types5 c_uuid0џџџџџџџџџRpostgres_special_typesbuuid7 -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumA -c_json0џџџџџџџџџRpostgres_special_typesb -pg_catalogjsonQ -c_json_string_override0џџџџџџџџџRpostgres_special_typesb -pg_catalogjson7 +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumB +c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enum5 +c_json0џџџџџџџџџRpostgres_special_typesbjsonE +c_json_string_override0џџџџџџџџџRpostgres_special_typesbjson7 c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonb= c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10672,8 +10671,8 @@ LIMIT 1GetPostgresNetworkTypesCnt:one"= ) VALUES ($1, $2, $3)InsertPostgresNetworkTypesBatch :copyfrom*IE c_cidr0џџџџџџџџџR publicpostgres_network_typesbcidrzc_cidr*IE c_inet0џџџџџџџџџR publicpostgres_network_typesbinetzc_inet*RN - c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesП -— + c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesћ +М INSERT INTO postgres_special_types ( c_json, @@ -10683,7 +10682,8 @@ INSERT INTO postgres_special_types c_xml, c_xml_string_override, c_uuid, - c_enum + c_enum, + c_enum_not_null ) VALUES ( $1, @@ -10693,11 +10693,11 @@ VALUES ( $5::xml, $6::xml, $7, - $8::c_enum -)InsertPostgresSpecialTypes:exec*VR -c_json0џџџџџџџџџ8R publicpostgres_special_typesbpg_catalog.jsonzc_json*;7 -c_json_string_override0џџџџџџџџџb -pg_catalogjson*NJ + $8::c_enum, + $9::c_enum +)InsertPostgresSpecialTypes:exec*KG +c_json0џџџџџџџџџ8R publicpostgres_special_typesbjsonzc_json*/+ +c_json_string_override0џџџџџџџџџbjson*NJ c_jsonb0џџџџџџџџџ8R publicpostgres_special_typesbjsonbzc_jsonb*'# c_jsonpath0џџџџџџџџџb @@ -10705,8 +10705,9 @@ c_jsonpath0 c_xml0џџџџџџџџџbxml*-) c_xml_string_override0џџџџџџџџџbxml*KG c_uuid0џџџџџџџџџ8R publicpostgres_special_typesbuuidzc_uuid*! -c_enum0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesЕ -­SELECT +c_enum0џџџџџџџџџbc_enum*, ( +c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_types‡ +ТSELECT c_json, c_json_string_override, c_jsonb, @@ -10714,13 +10715,12 @@ c_jsonpath0 c_xml, c_xml_string_override, c_uuid, - c_enum + c_enum, + c_enum_not_null FROM postgres_special_types -LIMIT 1GetPostgresSpecialTypes:one"I -c_json0џџџџџџџџџRpostgres_special_typesb -pg_catalogjsonzc_json"i -c_json_string_override0џџџџџџџџџRpostgres_special_typesb -pg_catalogjsonzc_json_string_override"@ +LIMIT 1GetPostgresSpecialTypes:one"= +c_json0џџџџџџџџџRpostgres_special_typesbjsonzc_json"] +c_json_string_override0џџџџџџџџџRpostgres_special_typesbjsonzc_json_string_override"@ c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonbzc_jsonb"I c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10729,8 +10729,9 @@ c_jsonpath": c_xml0џџџџџџџџџRpostgres_special_typesbxmlzc_xml"Z c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxmlzc_xml_string_override"= c_uuid0џџџџџџџџџRpostgres_special_typesbuuidzc_uuid"? -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum: query.sqlW -%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЎ +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum"S +c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum_not_null: query.sqlW +%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЃ lINSERT INTO postgres_special_types ( c_uuid, @@ -10742,9 +10743,9 @@ VALUES ( $2, $3 )InsertPostgresSpecialTypesBatch :copyfrom*IE -c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*TP -c_json0џџџџџџџџџR publicpostgres_special_typesbpg_catalog.jsonzc_json*LH -c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesч +c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*IE +c_json0џџџџџџџџџR publicpostgres_special_typesbjsonzc_json*LH +c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesл їWITH grouped_json_types AS ( SELECT c_uuid, @@ -10765,9 +10766,8 @@ SELECT cnt FROM grouped_json_types LIMIT 1GetPostgresSpecialTypesCnt:one"9 -c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid") -c_json0џџџџџџџџџb -pg_catalogjson" +c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid" +c_json0џџџџџџџџџbjson" c_jsonb0џџџџџџџџџbjsonb"7 cnt0џџџџџџџџџRgrouped_json_typesbbigintzcnt: query.sqlн Я @@ -10895,4 +10895,4 @@ hSELECT c_point, c_line, c_lseg, c_box, c_path, c_polygon, c_circle FROM postgre c_path0џџџџџџџџџRpostgres_geometric_typesbpathzc_path"H c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygonz c_polygon"E c_circle0џџџџџџџџџRpostgres_geometric_typesbcirclezc_circle: query.sqlU -'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.30.0*І{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"netstandard2.0","namespaceName":"NpgsqlLegacyExampleGen","useDapper":false,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file +'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.27.0*І{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"netstandard2.0","namespaceName":"NpgsqlLegacyExampleGen","useDapper":false,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file diff --git a/examples/SqliteDapperExample/request.json b/examples/SqliteDapperExample/request.json index 00fc2790..26e13959 100644 --- a/examples/SqliteDapperExample/request.json +++ b/examples/SqliteDapperExample/request.json @@ -1246,6 +1246,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.30.0", + "sqlc_version": "v1.27.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0OC4wIiwibmFtZXNwYWNlTmFtZSI6IlNxbGl0ZURhcHBlckV4YW1wbGVHZW4iLCJ1c2VEYXBwZXIiOnRydWUsIm92ZXJyaWRlRGFwcGVyVmVyc2lvbiI6IiIsIm92ZXJyaWRlcyI6W3siY29sdW1uIjoiR2V0U3FsaXRlRnVuY3Rpb25zOm1heF9pbnRlZ2VyIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6ImludCIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiJHZXRTcWxpdGVGdW5jdGlvbnM6bWF4X3ZhcmNoYXIiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoic3RyaW5nIiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldFNxbGl0ZUZ1bmN0aW9uczptYXhfcmVhbCIsImNzaGFycF90eXBlIjp7InR5cGUiOiJkZWNpbWFsIiwibm90TnVsbCI6dHJ1ZX19XSwiZGVidWdSZXF1ZXN0IjpmYWxzZX0=" } \ No newline at end of file diff --git a/examples/SqliteDapperExample/request.message b/examples/SqliteDapperExample/request.message index d14c5beb20c84acf67d6dc602bf72ff71f7183be..199d63ac948437c58ae0c4b532dc6a74e21ec34f 100644 GIT binary patch delta 15 WcmaE4`^a_!hb)tk`DQNJ8;k%jMFlbd delta 15 WcmaE4`^a_!hb)t^!DcSm8;k%jA_Xh} diff --git a/examples/SqliteDapperLegacyExample/request.json b/examples/SqliteDapperLegacyExample/request.json index a005622b..249c7805 100644 --- a/examples/SqliteDapperLegacyExample/request.json +++ b/examples/SqliteDapperLegacyExample/request.json @@ -1246,6 +1246,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.30.0", + "sqlc_version": "v1.27.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0c3RhbmRhcmQyLjAiLCJuYW1lc3BhY2VOYW1lIjoiU3FsaXRlRGFwcGVyTGVnYWN5RXhhbXBsZUdlbiIsInVzZURhcHBlciI6dHJ1ZSwib3ZlcnJpZGVEYXBwZXJWZXJzaW9uIjoiIiwib3ZlcnJpZGVzIjpbeyJjb2x1bW4iOiJHZXRTcWxpdGVGdW5jdGlvbnM6bWF4X2ludGVnZXIiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiaW50Iiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldFNxbGl0ZUZ1bmN0aW9uczptYXhfdmFyY2hhciIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiR2V0U3FsaXRlRnVuY3Rpb25zOm1heF9yZWFsIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6ImRlY2ltYWwiLCJub3ROdWxsIjp0cnVlfX1dLCJkZWJ1Z1JlcXVlc3QiOmZhbHNlfQ==" } \ No newline at end of file diff --git a/examples/SqliteDapperLegacyExample/request.message b/examples/SqliteDapperLegacyExample/request.message index 6b7900259ff3b2bf0a7ee4fbab94addbc0afc714..1cbcf38dfa53ef46e3f408eef07d293c7b694349 100644 GIT binary patch delta 15 WcmZp%Yq8rPBg<{9 delta 17 YcmZoW$=G(1aYINFlacx6up|Q}06vTc4*&oF diff --git a/examples/MySqlConnectorLegacyExample/request.json b/examples/MySqlConnectorLegacyExample/request.json index 350da4df..9407eaa2 100644 --- a/examples/MySqlConnectorLegacyExample/request.json +++ b/examples/MySqlConnectorLegacyExample/request.json @@ -3770,6 +3770,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.27.0", + "sqlc_version": "v1.30.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0c3RhbmRhcmQyLjAiLCJuYW1lc3BhY2VOYW1lIjoiTXlTcWxDb25uZWN0b3JMZWdhY3lFeGFtcGxlR2VuIiwidXNlRGFwcGVyIjpmYWxzZSwib3ZlcnJpZGVEYXBwZXJWZXJzaW9uIjoiIiwib3ZlcnJpZGVzIjpbeyJjb2x1bW4iOiJHZXRNeXNxbEZ1bmN0aW9uczptYXhfaW50IiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6ImludCIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiJHZXRNeXNxbEZ1bmN0aW9uczptYXhfdmFyY2hhciIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiR2V0TXlzcWxGdW5jdGlvbnM6bWF4X3RpbWVzdGFtcCIsImNzaGFycF90eXBlIjp7InR5cGUiOiJEYXRlVGltZSIsIm5vdE51bGwiOnRydWV9fSx7ImNvbHVtbiI6Iio6Y19qc29uX3N0cmluZ19vdmVycmlkZSIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19XSwiZGVidWdSZXF1ZXN0IjpmYWxzZX0=" } \ No newline at end of file diff --git a/examples/MySqlConnectorLegacyExample/request.message b/examples/MySqlConnectorLegacyExample/request.message index 41fbe903aa0a4a75b9549c6adc03060839354d0a..2356033c8c07bde20d374fa3b750af6e808bb4c8 100644 GIT binary patch delta 17 YcmZ2+l5xdJ#tj)sOvVPAvy$wX07JV5g8%>k delta 17 YcmZ2+l5xdJ#tj)sOh)FLvy$wX07Kpei2wiq diff --git a/examples/NpgsqlDapperExample/request.json b/examples/NpgsqlDapperExample/request.json index fc963105..b5c39ec8 100644 --- a/examples/NpgsqlDapperExample/request.json +++ b/examples/NpgsqlDapperExample/request.json @@ -612,6 +612,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" } }, @@ -622,6 +623,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" } }, @@ -35058,7 +35060,7 @@ "name": "postgres_special_types" }, "type": { - "name": "json" + "name": "pg_catalog.json" }, "originalName": "c_json" } @@ -35069,6 +35071,7 @@ "name": "c_json_string_override", "length": -1, "type": { + "schema": "pg_catalog", "name": "json" } } @@ -35177,6 +35180,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" }, "originalName": "c_json" @@ -35188,6 +35192,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" }, "originalName": "c_json_string_override" @@ -35309,7 +35314,7 @@ "name": "postgres_special_types" }, "type": { - "name": "json" + "name": "pg_catalog.json" }, "originalName": "c_json" } @@ -35356,6 +35361,7 @@ "notNull": true, "length": -1, "type": { + "schema": "pg_catalog", "name": "json" } }, @@ -36155,6 +36161,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.27.0", + "sqlc_version": "v1.30.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0OC4wIiwibmFtZXNwYWNlTmFtZSI6Ik5wZ3NxbERhcHBlckV4YW1wbGVHZW4iLCJ1c2VEYXBwZXIiOnRydWUsIm92ZXJyaWRlRGFwcGVyVmVyc2lvbiI6IiIsIm92ZXJyaWRlcyI6W3siY29sdW1uIjoiR2V0UG9zdGdyZXNGdW5jdGlvbnM6bWF4X2ludGVnZXIiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiaW50Iiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldFBvc3RncmVzRnVuY3Rpb25zOm1heF92YXJjaGFyIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiJHZXRQb3N0Z3Jlc0Z1bmN0aW9uczptYXhfdGltZXN0YW1wIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6IkRhdGVUaW1lIiwibm90TnVsbCI6dHJ1ZX19LHsiY29sdW1uIjoiR2V0UG9zdGdyZXNTcGVjaWFsVHlwZXNDbnQ6Y19qc29uIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6Ikpzb25FbGVtZW50Iiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldFBvc3RncmVzU3BlY2lhbFR5cGVzQ250OmNfanNvbmIiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiSnNvbkVsZW1lbnQiLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiKjpjX2pzb25fc3RyaW5nX292ZXJyaWRlIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiIqOmNfeG1sX3N0cmluZ19vdmVycmlkZSIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiKjpjX21hY2FkZHI4IiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX1dLCJkZWJ1Z1JlcXVlc3QiOmZhbHNlfQ==" } \ No newline at end of file diff --git a/examples/NpgsqlDapperExample/request.message b/examples/NpgsqlDapperExample/request.message index 5029be3b..5993c5c0 100644 --- a/examples/NpgsqlDapperExample/request.message +++ b/examples/NpgsqlDapperExample/request.message @@ -3,7 +3,7 @@ 2 postgresql-examples/config/postgresql/authors/schema.sql+examples/config/postgresql/types/schema.sql",examples/config/postgresql/authors/query.sql"*examples/config/postgresql/types/query.sqlbЅ examples/NpgsqlDapperExamplecsharpц{"debugRequest":true,"generateCsproj":true,"namespaceName":"NpgsqlDapperExampleGen","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"notNull":false,"type":"int"}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"notNull":false,"type":"string"}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"notNull":true,"type":"DateTime"}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"*:c_json_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_xml_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_macaddr8","csharp_type":{"notNull":false,"type":"string"}}],"targetFramework":"net8.0","useDapper":true}* -./dist/LocalRunner‡э public"Щpublicƒ +./dist/LocalRunnerŸэ public"сpublicƒ authors) id0џџџџџџџџџR authorsb  bigserial& name0џџџџџџџџџR authorsbtext# @@ -81,13 +81,15 @@ pg_catalog timestamp c_box0џџџџџџџџџRpostgres_geometric_typesbbox7 c_path0џџџџџџџџџRpostgres_geometric_typesbpath= c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygon; -c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleО +c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleж postgres_special_types5 c_uuid0џџџџџџџџџRpostgres_special_typesbuuid7 c_enum0џџџџџџџџџRpostgres_special_typesbc_enumB -c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enum5 -c_json0џџџџџџџџџRpostgres_special_typesbjsonE -c_json_string_override0џџџџџџџџџRpostgres_special_typesbjson7 +c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumA +c_json0џџџџџџџџџRpostgres_special_typesb +pg_catalogjsonQ +c_json_string_override0џџџџџџџџџRpostgres_special_typesb +pg_catalogjson7 c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonb= c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10671,7 +10673,7 @@ LIMIT 1GetPostgresNetworkTypesCnt:one"= ) VALUES ($1, $2, $3)InsertPostgresNetworkTypesBatch :copyfrom*IE c_cidr0џџџџџџџџџR publicpostgres_network_typesbcidrzc_cidr*IE c_inet0џџџџџџџџџR publicpostgres_network_typesbinetzc_inet*RN - c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesћ + c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_types’ М INSERT INTO postgres_special_types ( @@ -10695,9 +10697,10 @@ VALUES ( $7, $8::c_enum, $9::c_enum -)InsertPostgresSpecialTypes:exec*KG -c_json0џџџџџџџџџ8R publicpostgres_special_typesbjsonzc_json*/+ -c_json_string_override0џџџџџџџџџbjson*NJ +)InsertPostgresSpecialTypes:exec*VR +c_json0џџџџџџџџџ8R publicpostgres_special_typesbpg_catalog.jsonzc_json*;7 +c_json_string_override0џџџџџџџџџb +pg_catalogjson*NJ c_jsonb0џџџџџџџџџ8R publicpostgres_special_typesbjsonbzc_jsonb*'# c_jsonpath0џџџџџџџџџb @@ -10706,7 +10709,7 @@ c_jsonpath0 c_xml_string_override0џџџџџџџџџbxml*KG c_uuid0џџџџџџџџџ8R publicpostgres_special_typesbuuidzc_uuid*! c_enum0џџџџџџџџџbc_enum*, ( -c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_types‡ +c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesŸ ТSELECT c_json, c_json_string_override, @@ -10718,9 +10721,11 @@ c_jsonpath0 c_enum, c_enum_not_null FROM postgres_special_types -LIMIT 1GetPostgresSpecialTypes:one"= -c_json0џџџџџџџџџRpostgres_special_typesbjsonzc_json"] -c_json_string_override0џџџџџџџџџRpostgres_special_typesbjsonzc_json_string_override"@ +LIMIT 1GetPostgresSpecialTypes:one"I +c_json0џџџџџџџџџRpostgres_special_typesb +pg_catalogjsonzc_json"i +c_json_string_override0џџџџџџџџџRpostgres_special_typesb +pg_catalogjsonzc_json_string_override"@ c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonbzc_jsonb"I c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10731,7 +10736,7 @@ c_jsonpath": c_uuid0џџџџџџџџџRpostgres_special_typesbuuidzc_uuid"? c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum"S c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum_not_null: query.sqlW -%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЃ +%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЎ lINSERT INTO postgres_special_types ( c_uuid, @@ -10743,9 +10748,9 @@ VALUES ( $2, $3 )InsertPostgresSpecialTypesBatch :copyfrom*IE -c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*IE -c_json0џџџџџџџџџR publicpostgres_special_typesbjsonzc_json*LH -c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesл +c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*TP +c_json0џџџџџџџџџR publicpostgres_special_typesbpg_catalog.jsonzc_json*LH +c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesч їWITH grouped_json_types AS ( SELECT c_uuid, @@ -10766,8 +10771,9 @@ SELECT cnt FROM grouped_json_types LIMIT 1GetPostgresSpecialTypesCnt:one"9 -c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid" -c_json0џџџџџџџџџbjson" +c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid") +c_json0џџџџџџџџџb +pg_catalogjson" c_jsonb0џџџџџџџџџbjsonb"7 cnt0џџџџџџџџџRgrouped_json_typesbbigintzcnt: query.sqlн Я @@ -10895,4 +10901,4 @@ hSELECT c_point, c_line, c_lseg, c_box, c_path, c_polygon, c_circle FROM postgre c_path0џџџџџџџџџRpostgres_geometric_typesbpathzc_path"H c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygonz c_polygon"E c_circle0џџџџџџџџџRpostgres_geometric_typesbcirclezc_circle: query.sqlU -'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.27.0*{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"net8.0","namespaceName":"NpgsqlDapperExampleGen","useDapper":true,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file +'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.30.0*{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"net8.0","namespaceName":"NpgsqlDapperExampleGen","useDapper":true,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file diff --git a/examples/NpgsqlDapperLegacyExample/request.json b/examples/NpgsqlDapperLegacyExample/request.json index a8f471cf..0d0c2d74 100644 --- a/examples/NpgsqlDapperLegacyExample/request.json +++ b/examples/NpgsqlDapperLegacyExample/request.json @@ -612,6 +612,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" } }, @@ -622,6 +623,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" } }, @@ -35058,7 +35060,7 @@ "name": "postgres_special_types" }, "type": { - "name": "json" + "name": "pg_catalog.json" }, "originalName": "c_json" } @@ -35069,6 +35071,7 @@ "name": "c_json_string_override", "length": -1, "type": { + "schema": "pg_catalog", "name": "json" } } @@ -35177,6 +35180,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" }, "originalName": "c_json" @@ -35188,6 +35192,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" }, "originalName": "c_json_string_override" @@ -35309,7 +35314,7 @@ "name": "postgres_special_types" }, "type": { - "name": "json" + "name": "pg_catalog.json" }, "originalName": "c_json" } @@ -35356,6 +35361,7 @@ "notNull": true, "length": -1, "type": { + "schema": "pg_catalog", "name": "json" } }, @@ -36155,6 +36161,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.27.0", + "sqlc_version": "v1.30.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0c3RhbmRhcmQyLjAiLCJuYW1lc3BhY2VOYW1lIjoiTnBnc3FsRGFwcGVyTGVnYWN5RXhhbXBsZUdlbiIsInVzZURhcHBlciI6dHJ1ZSwib3ZlcnJpZGVEYXBwZXJWZXJzaW9uIjoiIiwib3ZlcnJpZGVzIjpbeyJjb2x1bW4iOiJHZXRQb3N0Z3Jlc0Z1bmN0aW9uczptYXhfaW50ZWdlciIsImNzaGFycF90eXBlIjp7InR5cGUiOiJpbnQiLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiR2V0UG9zdGdyZXNGdW5jdGlvbnM6bWF4X3ZhcmNoYXIiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoic3RyaW5nIiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldFBvc3RncmVzRnVuY3Rpb25zOm1heF90aW1lc3RhbXAiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiRGF0ZVRpbWUiLCJub3ROdWxsIjp0cnVlfX0seyJjb2x1bW4iOiJHZXRQb3N0Z3Jlc1NwZWNpYWxUeXBlc0NudDpjX2pzb24iLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiSnNvbkVsZW1lbnQiLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiR2V0UG9zdGdyZXNTcGVjaWFsVHlwZXNDbnQ6Y19qc29uYiIsImNzaGFycF90eXBlIjp7InR5cGUiOiJKc29uRWxlbWVudCIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiIqOmNfanNvbl9zdHJpbmdfb3ZlcnJpZGUiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoic3RyaW5nIiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6Iio6Y194bWxfc3RyaW5nX292ZXJyaWRlIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiIqOmNfbWFjYWRkcjgiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoic3RyaW5nIiwibm90TnVsbCI6ZmFsc2V9fV0sImRlYnVnUmVxdWVzdCI6ZmFsc2V9" } \ No newline at end of file diff --git a/examples/NpgsqlDapperLegacyExample/request.message b/examples/NpgsqlDapperLegacyExample/request.message index 5b44aafb..3438969b 100644 --- a/examples/NpgsqlDapperLegacyExample/request.message +++ b/examples/NpgsqlDapperLegacyExample/request.message @@ -3,7 +3,7 @@ 2 postgresql-examples/config/postgresql/authors/schema.sql+examples/config/postgresql/types/schema.sql",examples/config/postgresql/authors/query.sql"*examples/config/postgresql/types/query.sqlbЙ "examples/NpgsqlDapperLegacyExamplecsharpє{"debugRequest":true,"generateCsproj":true,"namespaceName":"NpgsqlDapperLegacyExampleGen","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"notNull":false,"type":"int"}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"notNull":false,"type":"string"}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"notNull":true,"type":"DateTime"}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"*:c_json_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_xml_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_macaddr8","csharp_type":{"notNull":false,"type":"string"}}],"targetFramework":"netstandard2.0","useDapper":true}* -./dist/LocalRunner‡э public"Щpublicƒ +./dist/LocalRunnerŸэ public"сpublicƒ authors) id0џџџџџџџџџR authorsb  bigserial& name0џџџџџџџџџR authorsbtext# @@ -81,13 +81,15 @@ pg_catalog timestamp c_box0џџџџџџџџџRpostgres_geometric_typesbbox7 c_path0џџџџџџџџџRpostgres_geometric_typesbpath= c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygon; -c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleО +c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleж postgres_special_types5 c_uuid0џџџџџџџџџRpostgres_special_typesbuuid7 c_enum0џџџџџџџџџRpostgres_special_typesbc_enumB -c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enum5 -c_json0џџџџџџџџџRpostgres_special_typesbjsonE -c_json_string_override0џџџџџџџџџRpostgres_special_typesbjson7 +c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumA +c_json0џџџџџџџџџRpostgres_special_typesb +pg_catalogjsonQ +c_json_string_override0џџџџџџџџџRpostgres_special_typesb +pg_catalogjson7 c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonb= c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10671,7 +10673,7 @@ LIMIT 1GetPostgresNetworkTypesCnt:one"= ) VALUES ($1, $2, $3)InsertPostgresNetworkTypesBatch :copyfrom*IE c_cidr0џџџџџџџџџR publicpostgres_network_typesbcidrzc_cidr*IE c_inet0џџџџџџџџџR publicpostgres_network_typesbinetzc_inet*RN - c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesћ + c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_types’ М INSERT INTO postgres_special_types ( @@ -10695,9 +10697,10 @@ VALUES ( $7, $8::c_enum, $9::c_enum -)InsertPostgresSpecialTypes:exec*KG -c_json0џџџџџџџџџ8R publicpostgres_special_typesbjsonzc_json*/+ -c_json_string_override0џџџџџџџџџbjson*NJ +)InsertPostgresSpecialTypes:exec*VR +c_json0џџџџџџџџџ8R publicpostgres_special_typesbpg_catalog.jsonzc_json*;7 +c_json_string_override0џџџџџџџџџb +pg_catalogjson*NJ c_jsonb0џџџџџџџџџ8R publicpostgres_special_typesbjsonbzc_jsonb*'# c_jsonpath0џџџџџџџџџb @@ -10706,7 +10709,7 @@ c_jsonpath0 c_xml_string_override0џџџџџџџџџbxml*KG c_uuid0џџџџџџџџџ8R publicpostgres_special_typesbuuidzc_uuid*! c_enum0џџџџџџџџџbc_enum*, ( -c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_types‡ +c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesŸ ТSELECT c_json, c_json_string_override, @@ -10718,9 +10721,11 @@ c_jsonpath0 c_enum, c_enum_not_null FROM postgres_special_types -LIMIT 1GetPostgresSpecialTypes:one"= -c_json0џџџџџџџџџRpostgres_special_typesbjsonzc_json"] -c_json_string_override0џџџџџџџџџRpostgres_special_typesbjsonzc_json_string_override"@ +LIMIT 1GetPostgresSpecialTypes:one"I +c_json0џџџџџџџџџRpostgres_special_typesb +pg_catalogjsonzc_json"i +c_json_string_override0џџџџџџџџџRpostgres_special_typesb +pg_catalogjsonzc_json_string_override"@ c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonbzc_jsonb"I c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10731,7 +10736,7 @@ c_jsonpath": c_uuid0џџџџџџџџџRpostgres_special_typesbuuidzc_uuid"? c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum"S c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum_not_null: query.sqlW -%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЃ +%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЎ lINSERT INTO postgres_special_types ( c_uuid, @@ -10743,9 +10748,9 @@ VALUES ( $2, $3 )InsertPostgresSpecialTypesBatch :copyfrom*IE -c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*IE -c_json0џџџџџџџџџR publicpostgres_special_typesbjsonzc_json*LH -c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesл +c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*TP +c_json0џџџџџџџџџR publicpostgres_special_typesbpg_catalog.jsonzc_json*LH +c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesч їWITH grouped_json_types AS ( SELECT c_uuid, @@ -10766,8 +10771,9 @@ SELECT cnt FROM grouped_json_types LIMIT 1GetPostgresSpecialTypesCnt:one"9 -c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid" -c_json0џџџџџџџџџbjson" +c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid") +c_json0џџџџџџџџџb +pg_catalogjson" c_jsonb0џџџџџџџџџbjsonb"7 cnt0џџџџџџџџџRgrouped_json_typesbbigintzcnt: query.sqlн Я @@ -10895,4 +10901,4 @@ hSELECT c_point, c_line, c_lseg, c_box, c_path, c_polygon, c_circle FROM postgre c_path0џџџџџџџџџRpostgres_geometric_typesbpathzc_path"H c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygonz c_polygon"E c_circle0џџџџџџџџџRpostgres_geometric_typesbcirclezc_circle: query.sqlU -'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.27.0*Ћ{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"netstandard2.0","namespaceName":"NpgsqlDapperLegacyExampleGen","useDapper":true,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file +'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.30.0*Ћ{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"netstandard2.0","namespaceName":"NpgsqlDapperLegacyExampleGen","useDapper":true,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file diff --git a/examples/NpgsqlExample/request.json b/examples/NpgsqlExample/request.json index 21c77ee6..a5ce50b7 100644 --- a/examples/NpgsqlExample/request.json +++ b/examples/NpgsqlExample/request.json @@ -612,6 +612,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" } }, @@ -622,6 +623,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" } }, @@ -35058,7 +35060,7 @@ "name": "postgres_special_types" }, "type": { - "name": "json" + "name": "pg_catalog.json" }, "originalName": "c_json" } @@ -35069,6 +35071,7 @@ "name": "c_json_string_override", "length": -1, "type": { + "schema": "pg_catalog", "name": "json" } } @@ -35177,6 +35180,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" }, "originalName": "c_json" @@ -35188,6 +35192,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" }, "originalName": "c_json_string_override" @@ -35309,7 +35314,7 @@ "name": "postgres_special_types" }, "type": { - "name": "json" + "name": "pg_catalog.json" }, "originalName": "c_json" } @@ -35356,6 +35361,7 @@ "notNull": true, "length": -1, "type": { + "schema": "pg_catalog", "name": "json" } }, @@ -36155,6 +36161,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.27.0", + "sqlc_version": "v1.30.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0OC4wIiwibmFtZXNwYWNlTmFtZSI6Ik5wZ3NxbEV4YW1wbGVHZW4iLCJ1c2VEYXBwZXIiOmZhbHNlLCJvdmVycmlkZURhcHBlclZlcnNpb24iOiIiLCJvdmVycmlkZXMiOlt7ImNvbHVtbiI6IkdldFBvc3RncmVzRnVuY3Rpb25zOm1heF9pbnRlZ2VyIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6ImludCIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiJHZXRQb3N0Z3Jlc0Z1bmN0aW9uczptYXhfdmFyY2hhciIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiR2V0UG9zdGdyZXNGdW5jdGlvbnM6bWF4X3RpbWVzdGFtcCIsImNzaGFycF90eXBlIjp7InR5cGUiOiJEYXRlVGltZSIsIm5vdE51bGwiOnRydWV9fSx7ImNvbHVtbiI6IkdldFBvc3RncmVzU3BlY2lhbFR5cGVzQ250OmNfanNvbiIsImNzaGFycF90eXBlIjp7InR5cGUiOiJKc29uRWxlbWVudCIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiJHZXRQb3N0Z3Jlc1NwZWNpYWxUeXBlc0NudDpjX2pzb25iIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6Ikpzb25FbGVtZW50Iiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6Iio6Y19qc29uX3N0cmluZ19vdmVycmlkZSIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiKjpjX3htbF9zdHJpbmdfb3ZlcnJpZGUiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoic3RyaW5nIiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6Iio6Y19tYWNhZGRyOCIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19XSwiZGVidWdSZXF1ZXN0IjpmYWxzZX0=" } \ No newline at end of file diff --git a/examples/NpgsqlExample/request.message b/examples/NpgsqlExample/request.message index deb6846b..1edb1cf0 100644 --- a/examples/NpgsqlExample/request.message +++ b/examples/NpgsqlExample/request.message @@ -3,7 +3,7 @@ 2 postgresql-examples/config/postgresql/authors/schema.sql+examples/config/postgresql/types/schema.sql",examples/config/postgresql/authors/query.sql"*examples/config/postgresql/types/query.sqlbš examples/NpgsqlExamplecsharpс{"debugRequest":true,"generateCsproj":true,"namespaceName":"NpgsqlExampleGen","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"notNull":false,"type":"int"}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"notNull":false,"type":"string"}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"notNull":true,"type":"DateTime"}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"*:c_json_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_xml_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_macaddr8","csharp_type":{"notNull":false,"type":"string"}}],"targetFramework":"net8.0","useDapper":false}* -./dist/LocalRunner‡э public"Щpublicƒ +./dist/LocalRunnerŸэ public"сpublicƒ authors) id0џџџџџџџџџR authorsb  bigserial& name0џџџџџџџџџR authorsbtext# @@ -81,13 +81,15 @@ pg_catalog timestamp c_box0џџџџџџџџџRpostgres_geometric_typesbbox7 c_path0џџџџџџџџџRpostgres_geometric_typesbpath= c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygon; -c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleО +c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleж postgres_special_types5 c_uuid0џџџџџџџџџRpostgres_special_typesbuuid7 c_enum0џџџџџџџџџRpostgres_special_typesbc_enumB -c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enum5 -c_json0џџџџџџџџџRpostgres_special_typesbjsonE -c_json_string_override0џџџџџџџџџRpostgres_special_typesbjson7 +c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumA +c_json0џџџџџџџџџRpostgres_special_typesb +pg_catalogjsonQ +c_json_string_override0џџџџџџџџџRpostgres_special_typesb +pg_catalogjson7 c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonb= c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10671,7 +10673,7 @@ LIMIT 1GetPostgresNetworkTypesCnt:one"= ) VALUES ($1, $2, $3)InsertPostgresNetworkTypesBatch :copyfrom*IE c_cidr0џџџџџџџџџR publicpostgres_network_typesbcidrzc_cidr*IE c_inet0џџџџџџџџџR publicpostgres_network_typesbinetzc_inet*RN - c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesћ + c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_types’ М INSERT INTO postgres_special_types ( @@ -10695,9 +10697,10 @@ VALUES ( $7, $8::c_enum, $9::c_enum -)InsertPostgresSpecialTypes:exec*KG -c_json0џџџџџџџџџ8R publicpostgres_special_typesbjsonzc_json*/+ -c_json_string_override0џџџџџџџџџbjson*NJ +)InsertPostgresSpecialTypes:exec*VR +c_json0џџџџџџџџџ8R publicpostgres_special_typesbpg_catalog.jsonzc_json*;7 +c_json_string_override0џџџџџџџџџb +pg_catalogjson*NJ c_jsonb0џџџџџџџџџ8R publicpostgres_special_typesbjsonbzc_jsonb*'# c_jsonpath0џџџџџџџџџb @@ -10706,7 +10709,7 @@ c_jsonpath0 c_xml_string_override0џџџџџџџџџbxml*KG c_uuid0џџџџџџџџџ8R publicpostgres_special_typesbuuidzc_uuid*! c_enum0џџџџџџџџџbc_enum*, ( -c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_types‡ +c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesŸ ТSELECT c_json, c_json_string_override, @@ -10718,9 +10721,11 @@ c_jsonpath0 c_enum, c_enum_not_null FROM postgres_special_types -LIMIT 1GetPostgresSpecialTypes:one"= -c_json0џџџџџџџџџRpostgres_special_typesbjsonzc_json"] -c_json_string_override0џџџџџџџџџRpostgres_special_typesbjsonzc_json_string_override"@ +LIMIT 1GetPostgresSpecialTypes:one"I +c_json0џџџџџџџџџRpostgres_special_typesb +pg_catalogjsonzc_json"i +c_json_string_override0џџџџџџџџџRpostgres_special_typesb +pg_catalogjsonzc_json_string_override"@ c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonbzc_jsonb"I c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10731,7 +10736,7 @@ c_jsonpath": c_uuid0џџџџџџџџџRpostgres_special_typesbuuidzc_uuid"? c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum"S c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum_not_null: query.sqlW -%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЃ +%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЎ lINSERT INTO postgres_special_types ( c_uuid, @@ -10743,9 +10748,9 @@ VALUES ( $2, $3 )InsertPostgresSpecialTypesBatch :copyfrom*IE -c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*IE -c_json0џџџџџџџџџR publicpostgres_special_typesbjsonzc_json*LH -c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesл +c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*TP +c_json0џџџџџџџџџR publicpostgres_special_typesbpg_catalog.jsonzc_json*LH +c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesч їWITH grouped_json_types AS ( SELECT c_uuid, @@ -10766,8 +10771,9 @@ SELECT cnt FROM grouped_json_types LIMIT 1GetPostgresSpecialTypesCnt:one"9 -c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid" -c_json0џџџџџџџџџbjson" +c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid") +c_json0џџџџџџџџџb +pg_catalogjson" c_jsonb0џџџџџџџџџbjsonb"7 cnt0џџџџџџџџџRgrouped_json_typesbbigintzcnt: query.sqlн Я @@ -10895,4 +10901,4 @@ hSELECT c_point, c_line, c_lseg, c_box, c_path, c_polygon, c_circle FROM postgre c_path0џџџџџџџџџRpostgres_geometric_typesbpathzc_path"H c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygonz c_polygon"E c_circle0џџџџџџџџџRpostgres_geometric_typesbcirclezc_circle: query.sqlU -'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.27.0*˜{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"net8.0","namespaceName":"NpgsqlExampleGen","useDapper":false,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file +'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.30.0*˜{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"net8.0","namespaceName":"NpgsqlExampleGen","useDapper":false,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file diff --git a/examples/NpgsqlLegacyExample/request.json b/examples/NpgsqlLegacyExample/request.json index bc967f86..8fc24d65 100644 --- a/examples/NpgsqlLegacyExample/request.json +++ b/examples/NpgsqlLegacyExample/request.json @@ -612,6 +612,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" } }, @@ -622,6 +623,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" } }, @@ -35058,7 +35060,7 @@ "name": "postgres_special_types" }, "type": { - "name": "json" + "name": "pg_catalog.json" }, "originalName": "c_json" } @@ -35069,6 +35071,7 @@ "name": "c_json_string_override", "length": -1, "type": { + "schema": "pg_catalog", "name": "json" } } @@ -35177,6 +35180,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" }, "originalName": "c_json" @@ -35188,6 +35192,7 @@ "name": "postgres_special_types" }, "type": { + "schema": "pg_catalog", "name": "json" }, "originalName": "c_json_string_override" @@ -35309,7 +35314,7 @@ "name": "postgres_special_types" }, "type": { - "name": "json" + "name": "pg_catalog.json" }, "originalName": "c_json" } @@ -35356,6 +35361,7 @@ "notNull": true, "length": -1, "type": { + "schema": "pg_catalog", "name": "json" } }, @@ -36155,6 +36161,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.27.0", + "sqlc_version": "v1.30.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0c3RhbmRhcmQyLjAiLCJuYW1lc3BhY2VOYW1lIjoiTnBnc3FsTGVnYWN5RXhhbXBsZUdlbiIsInVzZURhcHBlciI6ZmFsc2UsIm92ZXJyaWRlRGFwcGVyVmVyc2lvbiI6IiIsIm92ZXJyaWRlcyI6W3siY29sdW1uIjoiR2V0UG9zdGdyZXNGdW5jdGlvbnM6bWF4X2ludGVnZXIiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiaW50Iiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldFBvc3RncmVzRnVuY3Rpb25zOm1heF92YXJjaGFyIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiJHZXRQb3N0Z3Jlc0Z1bmN0aW9uczptYXhfdGltZXN0YW1wIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6IkRhdGVUaW1lIiwibm90TnVsbCI6dHJ1ZX19LHsiY29sdW1uIjoiR2V0UG9zdGdyZXNTcGVjaWFsVHlwZXNDbnQ6Y19qc29uIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6Ikpzb25FbGVtZW50Iiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldFBvc3RncmVzU3BlY2lhbFR5cGVzQ250OmNfanNvbmIiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiSnNvbkVsZW1lbnQiLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiKjpjX2pzb25fc3RyaW5nX292ZXJyaWRlIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiIqOmNfeG1sX3N0cmluZ19vdmVycmlkZSIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiKjpjX21hY2FkZHI4IiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6InN0cmluZyIsIm5vdE51bGwiOmZhbHNlfX1dLCJkZWJ1Z1JlcXVlc3QiOmZhbHNlfQ==" } \ No newline at end of file diff --git a/examples/NpgsqlLegacyExample/request.message b/examples/NpgsqlLegacyExample/request.message index 920cfc59..e51f7c3f 100644 --- a/examples/NpgsqlLegacyExample/request.message +++ b/examples/NpgsqlLegacyExample/request.message @@ -3,7 +3,7 @@ 2 postgresql-examples/config/postgresql/authors/schema.sql+examples/config/postgresql/types/schema.sql",examples/config/postgresql/authors/query.sql"*examples/config/postgresql/types/query.sqlbЎ examples/NpgsqlLegacyExamplecsharpя{"debugRequest":true,"generateCsproj":true,"namespaceName":"NpgsqlLegacyExampleGen","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"notNull":false,"type":"int"}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"notNull":false,"type":"string"}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"notNull":true,"type":"DateTime"}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"*:c_json_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_xml_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_macaddr8","csharp_type":{"notNull":false,"type":"string"}}],"targetFramework":"netstandard2.0","useDapper":false}* -./dist/LocalRunner‡э public"Щpublicƒ +./dist/LocalRunnerŸэ public"сpublicƒ authors) id0џџџџџџџџџR authorsb  bigserial& name0џџџџџџџџџR authorsbtext# @@ -81,13 +81,15 @@ pg_catalog timestamp c_box0џџџџџџџџџRpostgres_geometric_typesbbox7 c_path0џџџџџџџџџRpostgres_geometric_typesbpath= c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygon; -c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleО +c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleж postgres_special_types5 c_uuid0џџџџџџџџџRpostgres_special_typesbuuid7 c_enum0џџџџџџџџџRpostgres_special_typesbc_enumB -c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enum5 -c_json0џџџџџџџџџRpostgres_special_typesbjsonE -c_json_string_override0џџџџџџџџџRpostgres_special_typesbjson7 +c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumA +c_json0џџџџџџџџџRpostgres_special_typesb +pg_catalogjsonQ +c_json_string_override0џџџџџџџџџRpostgres_special_typesb +pg_catalogjson7 c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonb= c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10671,7 +10673,7 @@ LIMIT 1GetPostgresNetworkTypesCnt:one"= ) VALUES ($1, $2, $3)InsertPostgresNetworkTypesBatch :copyfrom*IE c_cidr0џџџџџџџџџR publicpostgres_network_typesbcidrzc_cidr*IE c_inet0џџџџџџџџџR publicpostgres_network_typesbinetzc_inet*RN - c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesћ + c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_types’ М INSERT INTO postgres_special_types ( @@ -10695,9 +10697,10 @@ VALUES ( $7, $8::c_enum, $9::c_enum -)InsertPostgresSpecialTypes:exec*KG -c_json0џџџџџџџџџ8R publicpostgres_special_typesbjsonzc_json*/+ -c_json_string_override0џџџџџџџџџbjson*NJ +)InsertPostgresSpecialTypes:exec*VR +c_json0џџџџџџџџџ8R publicpostgres_special_typesbpg_catalog.jsonzc_json*;7 +c_json_string_override0џџџџџџџџџb +pg_catalogjson*NJ c_jsonb0џџџџџџџџџ8R publicpostgres_special_typesbjsonbzc_jsonb*'# c_jsonpath0џџџџџџџџџb @@ -10706,7 +10709,7 @@ c_jsonpath0 c_xml_string_override0џџџџџџџџџbxml*KG c_uuid0џџџџџџџџџ8R publicpostgres_special_typesbuuidzc_uuid*! c_enum0џџџџџџџџџbc_enum*, ( -c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_types‡ +c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesŸ ТSELECT c_json, c_json_string_override, @@ -10718,9 +10721,11 @@ c_jsonpath0 c_enum, c_enum_not_null FROM postgres_special_types -LIMIT 1GetPostgresSpecialTypes:one"= -c_json0џџџџџџџџџRpostgres_special_typesbjsonzc_json"] -c_json_string_override0џџџџџџџџџRpostgres_special_typesbjsonzc_json_string_override"@ +LIMIT 1GetPostgresSpecialTypes:one"I +c_json0џџџџџџџџџRpostgres_special_typesb +pg_catalogjsonzc_json"i +c_json_string_override0џџџџџџџџџRpostgres_special_typesb +pg_catalogjsonzc_json_string_override"@ c_jsonb0џџџџџџџџџRpostgres_special_typesbjsonbzc_jsonb"I c_jsonpath0џџџџџџџџџRpostgres_special_typesb @@ -10731,7 +10736,7 @@ c_jsonpath": c_uuid0џџџџџџџџџRpostgres_special_typesbuuidzc_uuid"? c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum"S c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum_not_null: query.sqlW -%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЃ +%TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЎ lINSERT INTO postgres_special_types ( c_uuid, @@ -10743,9 +10748,9 @@ VALUES ( $2, $3 )InsertPostgresSpecialTypesBatch :copyfrom*IE -c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*IE -c_json0џџџџџџџџџR publicpostgres_special_typesbjsonzc_json*LH -c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesл +c_uuid0џџџџџџџџџR publicpostgres_special_typesbuuidzc_uuid*TP +c_json0џџџџџџџџџR publicpostgres_special_typesbpg_catalog.jsonzc_json*LH +c_jsonb0џџџџџџџџџR publicpostgres_special_typesbjsonbzc_jsonb: query.sqlBpostgres_special_typesч їWITH grouped_json_types AS ( SELECT c_uuid, @@ -10766,8 +10771,9 @@ SELECT cnt FROM grouped_json_types LIMIT 1GetPostgresSpecialTypesCnt:one"9 -c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid" -c_json0џџџџџџџџџbjson" +c_uuid0џџџџџџџџџRgrouped_json_typesbuuidzc_uuid") +c_json0џџџџџџџџџb +pg_catalogjson" c_jsonb0џџџџџџџџџbjsonb"7 cnt0џџџџџџџџџRgrouped_json_typesbbigintzcnt: query.sqlн Я @@ -10895,4 +10901,4 @@ hSELECT c_point, c_line, c_lseg, c_box, c_path, c_polygon, c_circle FROM postgre c_path0џџџџџџџџџRpostgres_geometric_typesbpathzc_path"H c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygonz c_polygon"E c_circle0џџџџџџџџџRpostgres_geometric_typesbcirclezc_circle: query.sqlU -'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.27.0*І{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"netstandard2.0","namespaceName":"NpgsqlLegacyExampleGen","useDapper":false,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file +'TRUNCATE TABLE postgres_geometric_typesTruncatePostgresGeoTypes:exec: query.sql"v1.30.0*І{"overrideDriverVersion":"","generateCsproj":true,"targetFramework":"netstandard2.0","namespaceName":"NpgsqlLegacyExampleGen","useDapper":false,"overrideDapperVersion":"","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"type":"int","notNull":false}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"type":"string","notNull":false}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"type":"DateTime","notNull":true}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"type":"JsonElement","notNull":false}},{"column":"*:c_json_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_xml_string_override","csharp_type":{"type":"string","notNull":false}},{"column":"*:c_macaddr8","csharp_type":{"type":"string","notNull":false}}],"debugRequest":false} \ No newline at end of file diff --git a/examples/SqliteDapperExample/request.json b/examples/SqliteDapperExample/request.json index 26e13959..00fc2790 100644 --- a/examples/SqliteDapperExample/request.json +++ b/examples/SqliteDapperExample/request.json @@ -1246,6 +1246,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.27.0", + "sqlc_version": "v1.30.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0OC4wIiwibmFtZXNwYWNlTmFtZSI6IlNxbGl0ZURhcHBlckV4YW1wbGVHZW4iLCJ1c2VEYXBwZXIiOnRydWUsIm92ZXJyaWRlRGFwcGVyVmVyc2lvbiI6IiIsIm92ZXJyaWRlcyI6W3siY29sdW1uIjoiR2V0U3FsaXRlRnVuY3Rpb25zOm1heF9pbnRlZ2VyIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6ImludCIsIm5vdE51bGwiOmZhbHNlfX0seyJjb2x1bW4iOiJHZXRTcWxpdGVGdW5jdGlvbnM6bWF4X3ZhcmNoYXIiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoic3RyaW5nIiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldFNxbGl0ZUZ1bmN0aW9uczptYXhfcmVhbCIsImNzaGFycF90eXBlIjp7InR5cGUiOiJkZWNpbWFsIiwibm90TnVsbCI6dHJ1ZX19XSwiZGVidWdSZXF1ZXN0IjpmYWxzZX0=" } \ No newline at end of file diff --git a/examples/SqliteDapperExample/request.message b/examples/SqliteDapperExample/request.message index 199d63ac948437c58ae0c4b532dc6a74e21ec34f..d14c5beb20c84acf67d6dc602bf72ff71f7183be 100644 GIT binary patch delta 15 WcmaE4`^a_!hb)t^!DcSm8;k%jA_Xh} delta 15 WcmaE4`^a_!hb)tk`DQNJ8;k%jMFlbd diff --git a/examples/SqliteDapperLegacyExample/request.json b/examples/SqliteDapperLegacyExample/request.json index 249c7805..a005622b 100644 --- a/examples/SqliteDapperLegacyExample/request.json +++ b/examples/SqliteDapperLegacyExample/request.json @@ -1246,6 +1246,6 @@ "filename": "query.sql" } ], - "sqlc_version": "v1.27.0", + "sqlc_version": "v1.30.0", "plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0c3RhbmRhcmQyLjAiLCJuYW1lc3BhY2VOYW1lIjoiU3FsaXRlRGFwcGVyTGVnYWN5RXhhbXBsZUdlbiIsInVzZURhcHBlciI6dHJ1ZSwib3ZlcnJpZGVEYXBwZXJWZXJzaW9uIjoiIiwib3ZlcnJpZGVzIjpbeyJjb2x1bW4iOiJHZXRTcWxpdGVGdW5jdGlvbnM6bWF4X2ludGVnZXIiLCJjc2hhcnBfdHlwZSI6eyJ0eXBlIjoiaW50Iiwibm90TnVsbCI6ZmFsc2V9fSx7ImNvbHVtbiI6IkdldFNxbGl0ZUZ1bmN0aW9uczptYXhfdmFyY2hhciIsImNzaGFycF90eXBlIjp7InR5cGUiOiJzdHJpbmciLCJub3ROdWxsIjpmYWxzZX19LHsiY29sdW1uIjoiR2V0U3FsaXRlRnVuY3Rpb25zOm1heF9yZWFsIiwiY3NoYXJwX3R5cGUiOnsidHlwZSI6ImRlY2ltYWwiLCJub3ROdWxsIjp0cnVlfX1dLCJkZWJ1Z1JlcXVlc3QiOmZhbHNlfQ==" } \ No newline at end of file diff --git a/examples/SqliteDapperLegacyExample/request.message b/examples/SqliteDapperLegacyExample/request.message index 1cbcf38dfa53ef46e3f408eef07d293c7b694349..6b7900259ff3b2bf0a7ee4fbab94addbc0afc714 100644 GIT binary patch delta 15 WcmZp%Yq8rPBg Date: Thu, 25 Sep 2025 14:06:52 +0300 Subject: [PATCH 04/10] fix tests --- end2end/EndToEndScaffold/Config.cs | 2 + .../Templates/PostgresTests.cs | 45 ++++--- .../NpgsqlDapperTester.generated.cs | 43 ++++--- .../EndToEndTests/NpgsqlTester.generated.cs | 43 ++++--- .../NpgsqlDapperTester.generated.cs | 43 ++++--- .../NpgsqlTester.generated.cs | 43 ++++--- examples/NpgsqlDapperExample/Models.cs | 5 +- examples/NpgsqlDapperExample/QuerySql.cs | 64 +++++++++- examples/NpgsqlDapperExample/request.json | 94 +++++++++----- examples/NpgsqlDapperExample/request.message | 46 ++++--- examples/NpgsqlDapperLegacyExample/Models.cs | 5 +- .../NpgsqlDapperLegacyExample/QuerySql.cs | 64 +++++++++- .../NpgsqlDapperLegacyExample/request.json | 94 +++++++++----- .../NpgsqlDapperLegacyExample/request.message | 46 ++++--- examples/NpgsqlExample/Models.cs | 3 +- examples/NpgsqlExample/QuerySql.cs | 116 +++++++++++++++-- examples/NpgsqlExample/request.json | 94 +++++++++----- examples/NpgsqlExample/request.message | 46 ++++--- examples/NpgsqlLegacyExample/Models.cs | 5 +- examples/NpgsqlLegacyExample/QuerySql.cs | 120 ++++++++++++++++-- examples/NpgsqlLegacyExample/request.json | 94 +++++++++----- examples/NpgsqlLegacyExample/request.message | 46 ++++--- examples/config/postgresql/types/query.sql | 25 +++- examples/config/postgresql/types/schema.sql | 5 +- 24 files changed, 872 insertions(+), 319 deletions(-) diff --git a/end2end/EndToEndScaffold/Config.cs b/end2end/EndToEndScaffold/Config.cs index 3d734c95..c529a977 100644 --- a/end2end/EndToEndScaffold/Config.cs +++ b/end2end/EndToEndScaffold/Config.cs @@ -56,6 +56,7 @@ public enum KnownTestType PostgresJsonDataTypes, PostgresXmlDataTypes, PostgresEnumDataType, + PostgresNotNullTypes, // :copyfrom (Batch) PostgresStringCopyFrom, @@ -171,6 +172,7 @@ internal static class Config KnownTestType.PostgresNetworkDataTypes, KnownTestType.PostgresXmlDataTypes, KnownTestType.PostgresEnumDataType, + KnownTestType.PostgresNotNullTypes, KnownTestType.PostgresFullTextSearchDataTypes, // :copyfrom (Batch) diff --git a/end2end/EndToEndScaffold/Templates/PostgresTests.cs b/end2end/EndToEndScaffold/Templates/PostgresTests.cs index ce6dde9f..287bf1cb 100644 --- a/end2end/EndToEndScaffold/Templates/PostgresTests.cs +++ b/end2end/EndToEndScaffold/Templates/PostgresTests.cs @@ -482,7 +482,6 @@ await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialType CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, - CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow @@ -491,7 +490,6 @@ await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialType CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, - CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); @@ -507,7 +505,6 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CJsonb.Value.GetRawText(), Is.EqualTo(y.CJsonb.Value.GetRawText())); Assert.That(x.CJsonStringOverride, Is.EqualTo(y.CJsonStringOverride)); Assert.That(x.CJsonpath, Is.EqualTo(y.CJsonpath)); - Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } """ @@ -569,14 +566,12 @@ public void TestPostgresInvalidJson() QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", - CEnumNotNull = CEnum.Small })); Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", - CEnumNotNull = CEnum.Small })); } """ @@ -1025,13 +1020,11 @@ public async Task TestPostgresGuidDataTypes(Guid? cUuid) await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, - CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CUuid = cUuid, - CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual{{Consts.UnknownRecordValuePlaceholder}}); @@ -1039,7 +1032,6 @@ await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialType void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CUuid, Is.EqualTo(y.CUuid)); - Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } """ @@ -1102,13 +1094,11 @@ public async Task TestPostgresXmlDataTypes(string cXml) await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, - CEnumNotNull = CEnum.Small }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CXml = parsedXml, - CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); @@ -1119,7 +1109,6 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CXml == null, Is.EqualTo(y.CXml == null)); if (x.CXml != null) Assert.That(x.CXml.OuterXml, Is.EqualTo(y.CXml.OuterXml)); - Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } """ @@ -1135,7 +1124,6 @@ public void TestPostgresInvalidXml() QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", - CEnumNotNull = CEnum.Small })); } """ @@ -1204,20 +1192,18 @@ void AssertSingularEquals(QuerySql.GetPostgresNetworkTypesCntRow x, QuerySql.Get { Impl = $$""" [Test] - [TestCase(CEnum.Medium, CEnum.Big)] - [TestCase(null, CEnum.Small)] - public async Task TestPostgresEnumTypes(CEnum? cEnum, CEnum cEnumNotNull) + [TestCase(CEnum.Medium)] + [TestCase(null)] + public async Task TestPostgresEnumTypes(CEnum? cEnum) { await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, - CEnumNotNull = cEnumNotNull }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CEnum = cEnum, - CEnumNotNull = cEnumNotNull }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual{{Consts.UnknownRecordValuePlaceholder}}); @@ -1225,6 +1211,31 @@ await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialType void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CEnum, Is.EqualTo(y.CEnum)); + } + } + """ + }, + [KnownTestType.PostgresNotNullTypes] = new TestImpl + { + Impl = $$""" + [Test] + [TestCase(CEnum.Small)] + public async Task TestPostgresNotNullTypes(CEnum cEnumNotNull) + { + await QuerySql.InsertPostgresNotNullTypes(new QuerySql.InsertPostgresNotNullTypesArgs + { + CEnumNotNull = cEnumNotNull + }); + + var expected = new QuerySql.GetPostgresNotNullTypesRow + { + CEnumNotNull = cEnumNotNull + }; + var actual = await QuerySql.GetPostgresNotNullTypes(); + AssertSingularEquals(expected, actual{{Consts.UnknownRecordValuePlaceholder}}); + + void AssertSingularEquals(QuerySql.GetPostgresNotNullTypesRow x, QuerySql.GetPostgresNotNullTypesRow y) + { Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } diff --git a/end2end/EndToEndTests/NpgsqlDapperTester.generated.cs b/end2end/EndToEndTests/NpgsqlDapperTester.generated.cs index 5919dd35..34c90bf1 100644 --- a/end2end/EndToEndTests/NpgsqlDapperTester.generated.cs +++ b/end2end/EndToEndTests/NpgsqlDapperTester.generated.cs @@ -400,14 +400,14 @@ void AssertSingularEquals(QuerySql.GetPostgresFunctionsRow x, QuerySql.GetPostgr [Test] public void TestPostgresInvalidJson() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", CEnumNotNull = CEnum.Small })); - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", CEnumNotNull = CEnum.Small })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", })); } [Test] public void TestPostgresInvalidXml() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", CEnumNotNull = CEnum.Small })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", })); } [Test] @@ -564,18 +564,16 @@ private static IEnumerable PostgresGuidDataTypesTestCases [TestCaseSource(nameof(PostgresGuidDataTypesTestCases))] public async Task TestPostgresGuidDataTypes(Guid? cUuid) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, CEnumNotNull = CEnum.Small }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CUuid = cUuid, - CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CUuid, Is.EqualTo(y.CUuid)); - Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -680,14 +678,13 @@ public async Task TestPostgresJsonDataTypes(string cJson, string cJsonpath) JsonElement? cParsedJson = null; if (cJson != null) cParsedJson = JsonDocument.Parse(cJson).RootElement; - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, CEnumNotNull = CEnum.Small }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, - CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -701,7 +698,6 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CJsonb.Value.GetRawText(), Is.EqualTo(y.CJsonb.Value.GetRawText())); Assert.That(x.CJsonStringOverride, Is.EqualTo(y.CJsonStringOverride)); Assert.That(x.CJsonpath, Is.EqualTo(y.CJsonpath)); - Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -717,11 +713,10 @@ public async Task TestPostgresXmlDataTypes(string cXml) parsedXml.LoadXml(cXml); } - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, CEnumNotNull = CEnum.Small }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CXml = parsedXml, - CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -730,26 +725,40 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CXml == null, Is.EqualTo(y.CXml == null)); if (x.CXml != null) Assert.That(x.CXml.OuterXml, Is.EqualTo(y.CXml.OuterXml)); - Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } [Test] - [TestCase(CEnum.Medium, CEnum.Big)] - [TestCase(null, CEnum.Small)] - public async Task TestPostgresEnumTypes(CEnum? cEnum, CEnum cEnumNotNull) + [TestCase(CEnum.Medium)] + [TestCase(null)] + public async Task TestPostgresEnumTypes(CEnum? cEnum) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, CEnumNotNull = cEnumNotNull }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CEnum = cEnum, - CEnumNotNull = cEnumNotNull }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CEnum, Is.EqualTo(y.CEnum)); + } + } + + [Test] + [TestCase(CEnum.Small)] + public async Task TestPostgresNotNullTypes(CEnum cEnumNotNull) + { + await QuerySql.InsertPostgresNotNullTypes(new QuerySql.InsertPostgresNotNullTypesArgs { CEnumNotNull = cEnumNotNull }); + var expected = new QuerySql.GetPostgresNotNullTypesRow + { + CEnumNotNull = cEnumNotNull + }; + var actual = await QuerySql.GetPostgresNotNullTypes(); + AssertSingularEquals(expected, actual); + void AssertSingularEquals(QuerySql.GetPostgresNotNullTypesRow x, QuerySql.GetPostgresNotNullTypesRow y) + { Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } diff --git a/end2end/EndToEndTests/NpgsqlTester.generated.cs b/end2end/EndToEndTests/NpgsqlTester.generated.cs index 07043341..7ddba617 100644 --- a/end2end/EndToEndTests/NpgsqlTester.generated.cs +++ b/end2end/EndToEndTests/NpgsqlTester.generated.cs @@ -400,14 +400,14 @@ void AssertSingularEquals(QuerySql.GetPostgresFunctionsRow x, QuerySql.GetPostgr [Test] public void TestPostgresInvalidJson() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", CEnumNotNull = CEnum.Small })); - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", CEnumNotNull = CEnum.Small })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", })); } [Test] public void TestPostgresInvalidXml() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", CEnumNotNull = CEnum.Small })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", })); } [Test] @@ -564,18 +564,16 @@ private static IEnumerable PostgresGuidDataTypesTestCases [TestCaseSource(nameof(PostgresGuidDataTypesTestCases))] public async Task TestPostgresGuidDataTypes(Guid? cUuid) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, CEnumNotNull = CEnum.Small }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CUuid = cUuid, - CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual.Value); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CUuid, Is.EqualTo(y.CUuid)); - Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -680,14 +678,13 @@ public async Task TestPostgresJsonDataTypes(string cJson, string cJsonpath) JsonElement? cParsedJson = null; if (cJson != null) cParsedJson = JsonDocument.Parse(cJson).RootElement; - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, CEnumNotNull = CEnum.Small }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, - CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual.Value); @@ -701,7 +698,6 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CJsonb.Value.GetRawText(), Is.EqualTo(y.CJsonb.Value.GetRawText())); Assert.That(x.CJsonStringOverride, Is.EqualTo(y.CJsonStringOverride)); Assert.That(x.CJsonpath, Is.EqualTo(y.CJsonpath)); - Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -717,11 +713,10 @@ public async Task TestPostgresXmlDataTypes(string cXml) parsedXml.LoadXml(cXml); } - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, CEnumNotNull = CEnum.Small }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CXml = parsedXml, - CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual.Value); @@ -730,26 +725,40 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CXml == null, Is.EqualTo(y.CXml == null)); if (x.CXml != null) Assert.That(x.CXml.OuterXml, Is.EqualTo(y.CXml.OuterXml)); - Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } [Test] - [TestCase(CEnum.Medium, CEnum.Big)] - [TestCase(null, CEnum.Small)] - public async Task TestPostgresEnumTypes(CEnum? cEnum, CEnum cEnumNotNull) + [TestCase(CEnum.Medium)] + [TestCase(null)] + public async Task TestPostgresEnumTypes(CEnum? cEnum) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, CEnumNotNull = cEnumNotNull }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CEnum = cEnum, - CEnumNotNull = cEnumNotNull }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual.Value); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CEnum, Is.EqualTo(y.CEnum)); + } + } + + [Test] + [TestCase(CEnum.Small)] + public async Task TestPostgresNotNullTypes(CEnum cEnumNotNull) + { + await QuerySql.InsertPostgresNotNullTypes(new QuerySql.InsertPostgresNotNullTypesArgs { CEnumNotNull = cEnumNotNull }); + var expected = new QuerySql.GetPostgresNotNullTypesRow + { + CEnumNotNull = cEnumNotNull + }; + var actual = await QuerySql.GetPostgresNotNullTypes(); + AssertSingularEquals(expected, actual.Value); + void AssertSingularEquals(QuerySql.GetPostgresNotNullTypesRow x, QuerySql.GetPostgresNotNullTypesRow y) + { Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } diff --git a/end2end/EndToEndTestsLegacy/NpgsqlDapperTester.generated.cs b/end2end/EndToEndTestsLegacy/NpgsqlDapperTester.generated.cs index 24eb18c3..a412be47 100644 --- a/end2end/EndToEndTestsLegacy/NpgsqlDapperTester.generated.cs +++ b/end2end/EndToEndTestsLegacy/NpgsqlDapperTester.generated.cs @@ -400,14 +400,14 @@ void AssertSingularEquals(QuerySql.GetPostgresFunctionsRow x, QuerySql.GetPostgr [Test] public void TestPostgresInvalidJson() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", CEnumNotNull = CEnum.Small })); - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", CEnumNotNull = CEnum.Small })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", })); } [Test] public void TestPostgresInvalidXml() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", CEnumNotNull = CEnum.Small })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", })); } [Test] @@ -564,18 +564,16 @@ private static IEnumerable PostgresGuidDataTypesTestCases [TestCaseSource(nameof(PostgresGuidDataTypesTestCases))] public async Task TestPostgresGuidDataTypes(Guid? cUuid) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, CEnumNotNull = CEnum.Small }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CUuid = cUuid, - CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CUuid, Is.EqualTo(y.CUuid)); - Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -680,14 +678,13 @@ public async Task TestPostgresJsonDataTypes(string cJson, string cJsonpath) JsonElement? cParsedJson = null; if (cJson != null) cParsedJson = JsonDocument.Parse(cJson).RootElement; - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, CEnumNotNull = CEnum.Small }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, - CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -701,7 +698,6 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CJsonb.Value.GetRawText(), Is.EqualTo(y.CJsonb.Value.GetRawText())); Assert.That(x.CJsonStringOverride, Is.EqualTo(y.CJsonStringOverride)); Assert.That(x.CJsonpath, Is.EqualTo(y.CJsonpath)); - Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -717,11 +713,10 @@ public async Task TestPostgresXmlDataTypes(string cXml) parsedXml.LoadXml(cXml); } - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, CEnumNotNull = CEnum.Small }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CXml = parsedXml, - CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -730,26 +725,40 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CXml == null, Is.EqualTo(y.CXml == null)); if (x.CXml != null) Assert.That(x.CXml.OuterXml, Is.EqualTo(y.CXml.OuterXml)); - Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } [Test] - [TestCase(CEnum.Medium, CEnum.Big)] - [TestCase(null, CEnum.Small)] - public async Task TestPostgresEnumTypes(CEnum? cEnum, CEnum cEnumNotNull) + [TestCase(CEnum.Medium)] + [TestCase(null)] + public async Task TestPostgresEnumTypes(CEnum? cEnum) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, CEnumNotNull = cEnumNotNull }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CEnum = cEnum, - CEnumNotNull = cEnumNotNull }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CEnum, Is.EqualTo(y.CEnum)); + } + } + + [Test] + [TestCase(CEnum.Small)] + public async Task TestPostgresNotNullTypes(CEnum cEnumNotNull) + { + await QuerySql.InsertPostgresNotNullTypes(new QuerySql.InsertPostgresNotNullTypesArgs { CEnumNotNull = cEnumNotNull }); + var expected = new QuerySql.GetPostgresNotNullTypesRow + { + CEnumNotNull = cEnumNotNull + }; + var actual = await QuerySql.GetPostgresNotNullTypes(); + AssertSingularEquals(expected, actual); + void AssertSingularEquals(QuerySql.GetPostgresNotNullTypesRow x, QuerySql.GetPostgresNotNullTypesRow y) + { Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } diff --git a/end2end/EndToEndTestsLegacy/NpgsqlTester.generated.cs b/end2end/EndToEndTestsLegacy/NpgsqlTester.generated.cs index ce2e02e8..98da1dd1 100644 --- a/end2end/EndToEndTestsLegacy/NpgsqlTester.generated.cs +++ b/end2end/EndToEndTestsLegacy/NpgsqlTester.generated.cs @@ -400,14 +400,14 @@ void AssertSingularEquals(QuerySql.GetPostgresFunctionsRow x, QuerySql.GetPostgr [Test] public void TestPostgresInvalidJson() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", CEnumNotNull = CEnum.Small })); - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", CEnumNotNull = CEnum.Small })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", })); } [Test] public void TestPostgresInvalidXml() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", CEnumNotNull = CEnum.Small })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", })); } [Test] @@ -564,18 +564,16 @@ private static IEnumerable PostgresGuidDataTypesTestCases [TestCaseSource(nameof(PostgresGuidDataTypesTestCases))] public async Task TestPostgresGuidDataTypes(Guid? cUuid) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, CEnumNotNull = CEnum.Small }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CUuid = cUuid, - CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CUuid, Is.EqualTo(y.CUuid)); - Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -680,14 +678,13 @@ public async Task TestPostgresJsonDataTypes(string cJson, string cJsonpath) JsonElement? cParsedJson = null; if (cJson != null) cParsedJson = JsonDocument.Parse(cJson).RootElement; - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, CEnumNotNull = CEnum.Small }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, - CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -701,7 +698,6 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CJsonb.Value.GetRawText(), Is.EqualTo(y.CJsonb.Value.GetRawText())); Assert.That(x.CJsonStringOverride, Is.EqualTo(y.CJsonStringOverride)); Assert.That(x.CJsonpath, Is.EqualTo(y.CJsonpath)); - Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } @@ -717,11 +713,10 @@ public async Task TestPostgresXmlDataTypes(string cXml) parsedXml.LoadXml(cXml); } - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, CEnumNotNull = CEnum.Small }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CXml = parsedXml, - CEnumNotNull = CEnum.Small }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -730,26 +725,40 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos Assert.That(x.CXml == null, Is.EqualTo(y.CXml == null)); if (x.CXml != null) Assert.That(x.CXml.OuterXml, Is.EqualTo(y.CXml.OuterXml)); - Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } [Test] - [TestCase(CEnum.Medium, CEnum.Big)] - [TestCase(null, CEnum.Small)] - public async Task TestPostgresEnumTypes(CEnum? cEnum, CEnum cEnumNotNull) + [TestCase(CEnum.Medium)] + [TestCase(null)] + public async Task TestPostgresEnumTypes(CEnum? cEnum) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, CEnumNotNull = cEnumNotNull }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CEnum = cEnum, - CEnumNotNull = cEnumNotNull }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPostgresSpecialTypesRow y) { Assert.That(x.CEnum, Is.EqualTo(y.CEnum)); + } + } + + [Test] + [TestCase(CEnum.Small)] + public async Task TestPostgresNotNullTypes(CEnum cEnumNotNull) + { + await QuerySql.InsertPostgresNotNullTypes(new QuerySql.InsertPostgresNotNullTypesArgs { CEnumNotNull = cEnumNotNull }); + var expected = new QuerySql.GetPostgresNotNullTypesRow + { + CEnumNotNull = cEnumNotNull + }; + var actual = await QuerySql.GetPostgresNotNullTypes(); + AssertSingularEquals(expected, actual); + void AssertSingularEquals(QuerySql.GetPostgresNotNullTypesRow x, QuerySql.GetPostgresNotNullTypesRow y) + { Assert.That(x.CEnumNotNull, Is.EqualTo(y.CEnumNotNull)); } } diff --git a/examples/NpgsqlDapperExample/Models.cs b/examples/NpgsqlDapperExample/Models.cs index 5ce18c7a..1be88179 100644 --- a/examples/NpgsqlDapperExample/Models.cs +++ b/examples/NpgsqlDapperExample/Models.cs @@ -82,7 +82,6 @@ public class PostgresSpecialType { public Guid? CUuid { get; init; } public CEnum? CEnum { get; init; } - public required CEnum CEnumNotNull { get; init; } public JsonElement? CJson { get; init; } public JsonElement? CJsonStringOverride { get; init; } public JsonElement? CJsonb { get; init; } @@ -90,6 +89,10 @@ public class PostgresSpecialType public XmlDocument? CXml { get; init; } public XmlDocument? CXmlStringOverride { get; init; } }; +public class PostgresNotNullType +{ + public required CEnum CEnumNotNull { get; init; } +}; public class ExtendedBio { public required string AuthorName { get; init; } diff --git a/examples/NpgsqlDapperExample/QuerySql.cs b/examples/NpgsqlDapperExample/QuerySql.cs index 839cb034..c3577ca0 100644 --- a/examples/NpgsqlDapperExample/QuerySql.cs +++ b/examples/NpgsqlDapperExample/QuerySql.cs @@ -1148,7 +1148,7 @@ public async Task InsertPostgresNetworkTypesBatch(List(); + queryParams.Add("c_enum_not_null", args.CEnumNotNull.Stringify()); + if (this.Transaction == null) + { + using (var connection = new NpgsqlConnection(ConnectionString)) + await connection.ExecuteAsync(InsertPostgresNotNullTypesSql, queryParams); + return; + } + + if (this.Transaction?.Connection == null || this.Transaction?.Connection.State != System.Data.ConnectionState.Open) + throw new InvalidOperationException("Transaction is provided, but its connection is null."); + await this.Transaction.Connection.ExecuteAsync(InsertPostgresNotNullTypesSql, queryParams, transaction: this.Transaction); + } + + private const string GetPostgresNotNullTypesSql = "SELECT c_enum_not_null FROM postgres_not_null_types LIMIT 1"; + public class GetPostgresNotNullTypesRow + { + public required CEnum CEnumNotNull { get; init; } + }; + public async Task GetPostgresNotNullTypes() + { + if (this.Transaction == null) + { + using (var connection = new NpgsqlConnection(ConnectionString)) + { + var result = await connection.QueryFirstOrDefaultAsync(GetPostgresNotNullTypesSql); + return result; + } + } + + if (this.Transaction?.Connection == null || this.Transaction?.Connection.State != System.Data.ConnectionState.Open) + throw new InvalidOperationException("Transaction is provided, but its connection is null."); + return await this.Transaction.Connection.QueryFirstOrDefaultAsync(GetPostgresNotNullTypesSql, transaction: this.Transaction); + } + + private const string TruncatePostgresNotNullTypesSql = "TRUNCATE TABLE postgres_not_null_types"; + public async Task TruncatePostgresNotNullTypes() + { + if (this.Transaction == null) + { + using (var connection = new NpgsqlConnection(ConnectionString)) + await connection.ExecuteAsync(TruncatePostgresNotNullTypesSql); + return; + } + + if (this.Transaction?.Connection == null || this.Transaction?.Connection.State != System.Data.ConnectionState.Open) + throw new InvalidOperationException("Transaction is provided, but its connection is null."); + await this.Transaction.Connection.ExecuteAsync(TruncatePostgresNotNullTypesSql, transaction: this.Transaction); + } + + private const string GetPostgresSpecialTypesSql = "SELECT c_json, c_json_string_override, c_jsonb, c_jsonpath, c_xml, c_xml_string_override, c_uuid, c_enum FROM postgres_special_types LIMIT 1"; public class GetPostgresSpecialTypesRow { public JsonElement? CJson { get; init; } @@ -1196,7 +1251,6 @@ public class GetPostgresSpecialTypesRow public string? CXmlStringOverride { get; init; } public Guid? CUuid { get; init; } public CEnum? CEnum { get; init; } - public required CEnum CEnumNotNull { get; init; } }; public async Task GetPostgresSpecialTypes() { diff --git a/examples/NpgsqlDapperExample/request.json b/examples/NpgsqlDapperExample/request.json index b5c39ec8..6d9405cf 100644 --- a/examples/NpgsqlDapperExample/request.json +++ b/examples/NpgsqlDapperExample/request.json @@ -594,17 +594,6 @@ "name": "c_enum" } }, - { - "name": "c_enum_not_null", - "notNull": true, - "length": -1, - "table": { - "name": "postgres_special_types" - }, - "type": { - "name": "c_enum" - } - }, { "name": "c_json", "length": -1, @@ -668,6 +657,24 @@ } } ] + }, + { + "rel": { + "name": "postgres_not_null_types" + }, + "columns": [ + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_not_null_types" + }, + "type": { + "name": "c_enum" + } + } + ] } ], "enums": [ @@ -35045,7 +35052,7 @@ } }, { - "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum,\n $9::c_enum\n)", + "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum\n)", "name": "InsertPostgresSpecialTypes", "cmd": ":exec", "parameters": [ @@ -35147,9 +35154,23 @@ "name": "c_enum" } } - }, + } + ], + "comments": [ + " Special types " + ], + "filename": "query.sql", + "insert_into_table": { + "name": "postgres_special_types" + } + }, + { + "text": "INSERT INTO postgres_not_null_types\n(\n c_enum_not_null\n)\nVALUES (\n $1::c_enum\n)", + "name": "InsertPostgresNotNullTypes", + "cmd": ":exec", + "parameters": [ { - "number": 9, + "number": 1, "column": { "name": "c_enum_not_null", "notNull": true, @@ -35160,16 +35181,39 @@ } } ], - "comments": [ - " Special types " - ], "filename": "query.sql", "insert_into_table": { - "name": "postgres_special_types" + "name": "postgres_not_null_types" } }, { - "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\nFROM postgres_special_types \nLIMIT 1", + "text": "SELECT\n c_enum_not_null\nFROM postgres_not_null_types \nLIMIT 1", + "name": "GetPostgresNotNullTypes", + "cmd": ":one", + "columns": [ + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_not_null_types" + }, + "type": { + "name": "c_enum" + }, + "originalName": "c_enum_not_null" + } + ], + "filename": "query.sql" + }, + { + "text": "TRUNCATE TABLE postgres_not_null_types", + "name": "TruncatePostgresNotNullTypes", + "cmd": ":exec", + "filename": "query.sql" + }, + { + "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\nFROM postgres_special_types \nLIMIT 1", "name": "GetPostgresSpecialTypes", "cmd": ":one", "columns": [ @@ -35262,18 +35306,6 @@ "name": "c_enum" }, "originalName": "c_enum" - }, - { - "name": "c_enum_not_null", - "notNull": true, - "length": -1, - "table": { - "name": "postgres_special_types" - }, - "type": { - "name": "c_enum" - }, - "originalName": "c_enum_not_null" } ], "filename": "query.sql" diff --git a/examples/NpgsqlDapperExample/request.message b/examples/NpgsqlDapperExample/request.message index 5993c5c0..f88a261e 100644 --- a/examples/NpgsqlDapperExample/request.message +++ b/examples/NpgsqlDapperExample/request.message @@ -3,7 +3,7 @@ 2 postgresql-examples/config/postgresql/authors/schema.sql+examples/config/postgresql/types/schema.sql",examples/config/postgresql/authors/query.sql"*examples/config/postgresql/types/query.sqlbЅ examples/NpgsqlDapperExamplecsharpц{"debugRequest":true,"generateCsproj":true,"namespaceName":"NpgsqlDapperExampleGen","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"notNull":false,"type":"int"}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"notNull":false,"type":"string"}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"notNull":true,"type":"DateTime"}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"*:c_json_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_xml_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_macaddr8","csharp_type":{"notNull":false,"type":"string"}}],"targetFramework":"net8.0","useDapper":true}* -./dist/LocalRunnerŸэ public"сpublicƒ +./dist/LocalRunnerНэ public"џpublicƒ authors) id0џџџџџџџџџR authorsb  bigserial& name0џџџџџџџџџR authorsbtext# @@ -81,11 +81,10 @@ pg_catalog timestamp c_box0џџџџџџџџџRpostgres_geometric_typesbbox7 c_path0џџџџџџџџџRpostgres_geometric_typesbpath= c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygon; -c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleж +c_circle0џџџџџџџџџRpostgres_geometric_typesbcircle’ postgres_special_types5 c_uuid0џџџџџџџџџRpostgres_special_typesbuuid7 -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumB -c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumA +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumA c_json0џџџџџџџџџRpostgres_special_typesb pg_catalogjsonQ c_json_string_override0џџџџџџџџџRpostgres_special_typesb @@ -95,7 +94,9 @@ pg_catalogjson7 c_jsonpath0џџџџџџџџџRpostgres_special_typesb jsonpath3 c_xml0џџџџџџџџџRpostgres_special_typesbxmlC -c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxml" +c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxml` +postgres_not_null_typesC +c_enum_not_null0џџџџџџџџџRpostgres_not_null_typesbc_enum" c_enumsmallmediumbig" pg_temp"цВ pg_catalog‰ & @@ -10673,8 +10674,8 @@ LIMIT 1GetPostgresNetworkTypesCnt:one"= ) VALUES ($1, $2, $3)InsertPostgresNetworkTypesBatch :copyfrom*IE c_cidr0џџџџџџџџџR publicpostgres_network_typesbcidrzc_cidr*IE c_inet0џџџџџџџџџR publicpostgres_network_typesbinetzc_inet*RN - c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_types’ -М + c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesП +— INSERT INTO postgres_special_types ( c_json, @@ -10684,8 +10685,7 @@ INSERT INTO postgres_special_types c_xml, c_xml_string_override, c_uuid, - c_enum, - c_enum_not_null + c_enum ) VALUES ( $1, @@ -10695,8 +10695,7 @@ VALUES ( $5::xml, $6::xml, $7, - $8::c_enum, - $9::c_enum + $8::c_enum )InsertPostgresSpecialTypes:exec*VR c_json0џџџџџџџџџ8R publicpostgres_special_typesbpg_catalog.jsonzc_json*;7 c_json_string_override0џџџџџџџџџb @@ -10708,9 +10707,22 @@ c_jsonpath0 c_xml0џџџџџџџџџbxml*-) c_xml_string_override0џџџџџџџџџbxml*KG c_uuid0џџџџџџџџџ8R publicpostgres_special_typesbuuidzc_uuid*! -c_enum0џџџџџџџџџbc_enum*, ( -c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesŸ -ТSELECT +c_enum0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesЮ +UINSERT INTO postgres_not_null_types +( + c_enum_not_null +) +VALUES ( + $1::c_enum +)InsertPostgresNotNullTypes:exec*,( +c_enum_not_null0џџџџџџџџџbc_enum: query.sqlBpostgres_not_null_typesТ +@SELECT + c_enum_not_null +FROM postgres_not_null_types +LIMIT 1GetPostgresNotNullTypes:one"T +c_enum_not_null0џџџџџџџџџRpostgres_not_null_typesbc_enumzc_enum_not_null: query.sqlX +&TRUNCATE TABLE postgres_not_null_typesTruncatePostgresNotNullTypes:exec: query.sqlЕ +­SELECT c_json, c_json_string_override, c_jsonb, @@ -10718,8 +10730,7 @@ c_jsonpath0 c_xml, c_xml_string_override, c_uuid, - c_enum, - c_enum_not_null + c_enum FROM postgres_special_types LIMIT 1GetPostgresSpecialTypes:one"I c_json0џџџџџџџџџRpostgres_special_typesb @@ -10734,8 +10745,7 @@ c_jsonpath": c_xml0џџџџџџџџџRpostgres_special_typesbxmlzc_xml"Z c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxmlzc_xml_string_override"= c_uuid0џџџџџџџџџRpostgres_special_typesbuuidzc_uuid"? -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum"S -c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum_not_null: query.sqlW +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum: query.sqlW %TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЎ lINSERT INTO postgres_special_types ( diff --git a/examples/NpgsqlDapperLegacyExample/Models.cs b/examples/NpgsqlDapperLegacyExample/Models.cs index ba6f85e7..aa6d7b9f 100644 --- a/examples/NpgsqlDapperLegacyExample/Models.cs +++ b/examples/NpgsqlDapperLegacyExample/Models.cs @@ -83,7 +83,6 @@ public class PostgresSpecialType { public Guid? CUuid { get; set; } public CEnum? CEnum { get; set; } - public CEnum CEnumNotNull { get; set; } public JsonElement? CJson { get; set; } public JsonElement? CJsonStringOverride { get; set; } public JsonElement? CJsonb { get; set; } @@ -91,6 +90,10 @@ public class PostgresSpecialType public XmlDocument CXml { get; set; } public XmlDocument CXmlStringOverride { get; set; } }; + public class PostgresNotNullType + { + public CEnum CEnumNotNull { get; set; } + }; public class ExtendedBio { public string AuthorName { get; set; } diff --git a/examples/NpgsqlDapperLegacyExample/QuerySql.cs b/examples/NpgsqlDapperLegacyExample/QuerySql.cs index 7e30659c..4f076194 100644 --- a/examples/NpgsqlDapperLegacyExample/QuerySql.cs +++ b/examples/NpgsqlDapperLegacyExample/QuerySql.cs @@ -1149,7 +1149,7 @@ public async Task InsertPostgresNetworkTypesBatch(List(); + queryParams.Add("c_enum_not_null", args.CEnumNotNull.Stringify()); + if (this.Transaction == null) + { + using (var connection = new NpgsqlConnection(ConnectionString)) + await connection.ExecuteAsync(InsertPostgresNotNullTypesSql, queryParams); + return; + } + + if (this.Transaction?.Connection == null || this.Transaction?.Connection.State != System.Data.ConnectionState.Open) + throw new InvalidOperationException("Transaction is provided, but its connection is null."); + await this.Transaction.Connection.ExecuteAsync(InsertPostgresNotNullTypesSql, queryParams, transaction: this.Transaction); + } + + private const string GetPostgresNotNullTypesSql = "SELECT c_enum_not_null FROM postgres_not_null_types LIMIT 1"; + public class GetPostgresNotNullTypesRow + { + public CEnum CEnumNotNull { get; set; } + }; + public async Task GetPostgresNotNullTypes() + { + if (this.Transaction == null) + { + using (var connection = new NpgsqlConnection(ConnectionString)) + { + var result = await connection.QueryFirstOrDefaultAsync(GetPostgresNotNullTypesSql); + return result; + } + } + + if (this.Transaction?.Connection == null || this.Transaction?.Connection.State != System.Data.ConnectionState.Open) + throw new InvalidOperationException("Transaction is provided, but its connection is null."); + return await this.Transaction.Connection.QueryFirstOrDefaultAsync(GetPostgresNotNullTypesSql, transaction: this.Transaction); + } + + private const string TruncatePostgresNotNullTypesSql = "TRUNCATE TABLE postgres_not_null_types"; + public async Task TruncatePostgresNotNullTypes() + { + if (this.Transaction == null) + { + using (var connection = new NpgsqlConnection(ConnectionString)) + await connection.ExecuteAsync(TruncatePostgresNotNullTypesSql); + return; + } + + if (this.Transaction?.Connection == null || this.Transaction?.Connection.State != System.Data.ConnectionState.Open) + throw new InvalidOperationException("Transaction is provided, but its connection is null."); + await this.Transaction.Connection.ExecuteAsync(TruncatePostgresNotNullTypesSql, transaction: this.Transaction); + } + + private const string GetPostgresSpecialTypesSql = "SELECT c_json, c_json_string_override, c_jsonb, c_jsonpath, c_xml, c_xml_string_override, c_uuid, c_enum FROM postgres_special_types LIMIT 1"; public class GetPostgresSpecialTypesRow { public JsonElement? CJson { get; set; } @@ -1197,7 +1252,6 @@ public class GetPostgresSpecialTypesRow public string CXmlStringOverride { get; set; } public Guid? CUuid { get; set; } public CEnum? CEnum { get; set; } - public CEnum CEnumNotNull { get; set; } }; public async Task GetPostgresSpecialTypes() { diff --git a/examples/NpgsqlDapperLegacyExample/request.json b/examples/NpgsqlDapperLegacyExample/request.json index 0d0c2d74..a0ee73f5 100644 --- a/examples/NpgsqlDapperLegacyExample/request.json +++ b/examples/NpgsqlDapperLegacyExample/request.json @@ -594,17 +594,6 @@ "name": "c_enum" } }, - { - "name": "c_enum_not_null", - "notNull": true, - "length": -1, - "table": { - "name": "postgres_special_types" - }, - "type": { - "name": "c_enum" - } - }, { "name": "c_json", "length": -1, @@ -668,6 +657,24 @@ } } ] + }, + { + "rel": { + "name": "postgres_not_null_types" + }, + "columns": [ + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_not_null_types" + }, + "type": { + "name": "c_enum" + } + } + ] } ], "enums": [ @@ -35045,7 +35052,7 @@ } }, { - "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum,\n $9::c_enum\n)", + "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum\n)", "name": "InsertPostgresSpecialTypes", "cmd": ":exec", "parameters": [ @@ -35147,9 +35154,23 @@ "name": "c_enum" } } - }, + } + ], + "comments": [ + " Special types " + ], + "filename": "query.sql", + "insert_into_table": { + "name": "postgres_special_types" + } + }, + { + "text": "INSERT INTO postgres_not_null_types\n(\n c_enum_not_null\n)\nVALUES (\n $1::c_enum\n)", + "name": "InsertPostgresNotNullTypes", + "cmd": ":exec", + "parameters": [ { - "number": 9, + "number": 1, "column": { "name": "c_enum_not_null", "notNull": true, @@ -35160,16 +35181,39 @@ } } ], - "comments": [ - " Special types " - ], "filename": "query.sql", "insert_into_table": { - "name": "postgres_special_types" + "name": "postgres_not_null_types" } }, { - "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\nFROM postgres_special_types \nLIMIT 1", + "text": "SELECT\n c_enum_not_null\nFROM postgres_not_null_types \nLIMIT 1", + "name": "GetPostgresNotNullTypes", + "cmd": ":one", + "columns": [ + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_not_null_types" + }, + "type": { + "name": "c_enum" + }, + "originalName": "c_enum_not_null" + } + ], + "filename": "query.sql" + }, + { + "text": "TRUNCATE TABLE postgres_not_null_types", + "name": "TruncatePostgresNotNullTypes", + "cmd": ":exec", + "filename": "query.sql" + }, + { + "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\nFROM postgres_special_types \nLIMIT 1", "name": "GetPostgresSpecialTypes", "cmd": ":one", "columns": [ @@ -35262,18 +35306,6 @@ "name": "c_enum" }, "originalName": "c_enum" - }, - { - "name": "c_enum_not_null", - "notNull": true, - "length": -1, - "table": { - "name": "postgres_special_types" - }, - "type": { - "name": "c_enum" - }, - "originalName": "c_enum_not_null" } ], "filename": "query.sql" diff --git a/examples/NpgsqlDapperLegacyExample/request.message b/examples/NpgsqlDapperLegacyExample/request.message index 3438969b..39b9ff61 100644 --- a/examples/NpgsqlDapperLegacyExample/request.message +++ b/examples/NpgsqlDapperLegacyExample/request.message @@ -3,7 +3,7 @@ 2 postgresql-examples/config/postgresql/authors/schema.sql+examples/config/postgresql/types/schema.sql",examples/config/postgresql/authors/query.sql"*examples/config/postgresql/types/query.sqlbЙ "examples/NpgsqlDapperLegacyExamplecsharpє{"debugRequest":true,"generateCsproj":true,"namespaceName":"NpgsqlDapperLegacyExampleGen","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"notNull":false,"type":"int"}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"notNull":false,"type":"string"}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"notNull":true,"type":"DateTime"}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"*:c_json_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_xml_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_macaddr8","csharp_type":{"notNull":false,"type":"string"}}],"targetFramework":"netstandard2.0","useDapper":true}* -./dist/LocalRunnerŸэ public"сpublicƒ +./dist/LocalRunnerНэ public"џpublicƒ authors) id0џџџџџџџџџR authorsb  bigserial& name0џџџџџџџџџR authorsbtext# @@ -81,11 +81,10 @@ pg_catalog timestamp c_box0џџџџџџџџџRpostgres_geometric_typesbbox7 c_path0џџџџџџџџџRpostgres_geometric_typesbpath= c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygon; -c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleж +c_circle0џџџџџџџџџRpostgres_geometric_typesbcircle’ postgres_special_types5 c_uuid0џџџџџџџџџRpostgres_special_typesbuuid7 -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumB -c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumA +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumA c_json0џџџџџџџџџRpostgres_special_typesb pg_catalogjsonQ c_json_string_override0џџџџџџџџџRpostgres_special_typesb @@ -95,7 +94,9 @@ pg_catalogjson7 c_jsonpath0џџџџџџџџџRpostgres_special_typesb jsonpath3 c_xml0џџџџџџџџџRpostgres_special_typesbxmlC -c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxml" +c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxml` +postgres_not_null_typesC +c_enum_not_null0џџџџџџџџџRpostgres_not_null_typesbc_enum" c_enumsmallmediumbig" pg_temp"цВ pg_catalog‰ & @@ -10673,8 +10674,8 @@ LIMIT 1GetPostgresNetworkTypesCnt:one"= ) VALUES ($1, $2, $3)InsertPostgresNetworkTypesBatch :copyfrom*IE c_cidr0џџџџџџџџџR publicpostgres_network_typesbcidrzc_cidr*IE c_inet0џџџџџџџџџR publicpostgres_network_typesbinetzc_inet*RN - c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_types’ -М + c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesП +— INSERT INTO postgres_special_types ( c_json, @@ -10684,8 +10685,7 @@ INSERT INTO postgres_special_types c_xml, c_xml_string_override, c_uuid, - c_enum, - c_enum_not_null + c_enum ) VALUES ( $1, @@ -10695,8 +10695,7 @@ VALUES ( $5::xml, $6::xml, $7, - $8::c_enum, - $9::c_enum + $8::c_enum )InsertPostgresSpecialTypes:exec*VR c_json0џџџџџџџџџ8R publicpostgres_special_typesbpg_catalog.jsonzc_json*;7 c_json_string_override0џџџџџџџџџb @@ -10708,9 +10707,22 @@ c_jsonpath0 c_xml0џџџџџџџџџbxml*-) c_xml_string_override0џџџџџџџџџbxml*KG c_uuid0џџџџџџџџџ8R publicpostgres_special_typesbuuidzc_uuid*! -c_enum0џџџџџџџџџbc_enum*, ( -c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesŸ -ТSELECT +c_enum0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesЮ +UINSERT INTO postgres_not_null_types +( + c_enum_not_null +) +VALUES ( + $1::c_enum +)InsertPostgresNotNullTypes:exec*,( +c_enum_not_null0џџџџџџџџџbc_enum: query.sqlBpostgres_not_null_typesТ +@SELECT + c_enum_not_null +FROM postgres_not_null_types +LIMIT 1GetPostgresNotNullTypes:one"T +c_enum_not_null0џџџџџџџџџRpostgres_not_null_typesbc_enumzc_enum_not_null: query.sqlX +&TRUNCATE TABLE postgres_not_null_typesTruncatePostgresNotNullTypes:exec: query.sqlЕ +­SELECT c_json, c_json_string_override, c_jsonb, @@ -10718,8 +10730,7 @@ c_jsonpath0 c_xml, c_xml_string_override, c_uuid, - c_enum, - c_enum_not_null + c_enum FROM postgres_special_types LIMIT 1GetPostgresSpecialTypes:one"I c_json0џџџџџџџџџRpostgres_special_typesb @@ -10734,8 +10745,7 @@ c_jsonpath": c_xml0џџџџџџџџџRpostgres_special_typesbxmlzc_xml"Z c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxmlzc_xml_string_override"= c_uuid0џџџџџџџџџRpostgres_special_typesbuuidzc_uuid"? -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum"S -c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum_not_null: query.sqlW +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum: query.sqlW %TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЎ lINSERT INTO postgres_special_types ( diff --git a/examples/NpgsqlExample/Models.cs b/examples/NpgsqlExample/Models.cs index 8ba0003d..ed9abc3d 100644 --- a/examples/NpgsqlExample/Models.cs +++ b/examples/NpgsqlExample/Models.cs @@ -17,7 +17,8 @@ namespace NpgsqlExampleGen; public readonly record struct PostgresNetworkType(NpgsqlCidr? CCidr, IPAddress? CInet, PhysicalAddress? CMacaddr, string? CMacaddr8); public readonly record struct PostgresArrayType(byte[]? CBytea, bool[]? CBooleanArray, string[]? CTextArray, int[]? CIntegerArray, decimal[]? CDecimalArray, DateTime[]? CDateArray, DateTime[]? CTimestampArray); public readonly record struct PostgresGeometricType(NpgsqlPoint? CPoint, NpgsqlLine? CLine, NpgsqlLSeg? CLseg, NpgsqlBox? CBox, NpgsqlPath? CPath, NpgsqlPolygon? CPolygon, NpgsqlCircle? CCircle); -public readonly record struct PostgresSpecialType(Guid? CUuid, CEnum? CEnum, CEnum CEnumNotNull, JsonElement? CJson, JsonElement? CJsonStringOverride, JsonElement? CJsonb, string? CJsonpath, XmlDocument? CXml, XmlDocument? CXmlStringOverride); +public readonly record struct PostgresSpecialType(Guid? CUuid, CEnum? CEnum, JsonElement? CJson, JsonElement? CJsonStringOverride, JsonElement? CJsonb, string? CJsonpath, XmlDocument? CXml, XmlDocument? CXmlStringOverride); +public readonly record struct PostgresNotNullType(CEnum CEnumNotNull); public readonly record struct ExtendedBio(string AuthorName, string Name, ExtendedBioType? BioType); public enum CEnum { diff --git a/examples/NpgsqlExample/QuerySql.cs b/examples/NpgsqlExample/QuerySql.cs index 63317759..fb06f2aa 100644 --- a/examples/NpgsqlExample/QuerySql.cs +++ b/examples/NpgsqlExample/QuerySql.cs @@ -1679,8 +1679,8 @@ public async Task InsertPostgresNetworkTypesBatch(List GetPostgresNotNullTypes() + { + if (this.Transaction == null) + { + using (var connection = NpgsqlDataSource.Create(ConnectionString!)) + { + using (var command = connection.CreateCommand(GetPostgresNotNullTypesSql)) + { + using (var reader = await command.ExecuteReaderAsync()) + { + if (await reader.ReadAsync()) + { + return new GetPostgresNotNullTypesRow + { + CEnumNotNull = reader.GetString(0).ToCEnum() + }; + } + } + } + } + + return null; + } + + if (this.Transaction?.Connection == null || this.Transaction?.Connection.State != System.Data.ConnectionState.Open) + throw new InvalidOperationException("Transaction is provided, but its connection is null."); + using (var command = this.Transaction.Connection.CreateCommand()) + { + command.CommandText = GetPostgresNotNullTypesSql; + command.Transaction = this.Transaction; + using (var reader = await command.ExecuteReaderAsync()) + { + if (await reader.ReadAsync()) + { + return new GetPostgresNotNullTypesRow + { + CEnumNotNull = reader.GetString(0).ToCEnum() + }; + } + } + } + + return null; + } + + private const string TruncatePostgresNotNullTypesSql = "TRUNCATE TABLE postgres_not_null_types"; + public async Task TruncatePostgresNotNullTypes() + { + if (this.Transaction == null) + { + using (var connection = NpgsqlDataSource.Create(ConnectionString!)) + { + using (var command = connection.CreateCommand(TruncatePostgresNotNullTypesSql)) + { + await command.ExecuteNonQueryAsync(); + } + } + + return; + } + + if (this.Transaction?.Connection == null || this.Transaction?.Connection.State != System.Data.ConnectionState.Open) + throw new InvalidOperationException("Transaction is provided, but its connection is null."); + using (var command = this.Transaction.Connection.CreateCommand()) + { + command.CommandText = TruncatePostgresNotNullTypesSql; + command.Transaction = this.Transaction; + await command.ExecuteNonQueryAsync(); + } + } + + private const string GetPostgresSpecialTypesSql = "SELECT c_json, c_json_string_override, c_jsonb, c_jsonpath, c_xml, c_xml_string_override, c_uuid, c_enum FROM postgres_special_types LIMIT 1"; + public readonly record struct GetPostgresSpecialTypesRow(JsonElement? CJson, string? CJsonStringOverride, JsonElement? CJsonb, string? CJsonpath, XmlDocument? CXml, string? CXmlStringOverride, Guid? CUuid, CEnum? CEnum); public async Task GetPostgresSpecialTypes() { if (this.Transaction == null) @@ -1752,8 +1852,7 @@ public async Task InsertPostgresSpecialTypes(InsertPostgresSpecialTypesArgs args }))(reader, 4), CXmlStringOverride = reader.IsDBNull(5) ? null : reader.GetString(5), CUuid = reader.IsDBNull(6) ? null : reader.GetFieldValue(6), - CEnum = reader.IsDBNull(7) ? null : reader.GetString(7).ToCEnum(), - CEnumNotNull = reader.GetString(8).ToCEnum() + CEnum = reader.IsDBNull(7) ? null : reader.GetString(7).ToCEnum() }; } } @@ -1787,8 +1886,7 @@ public async Task InsertPostgresSpecialTypes(InsertPostgresSpecialTypesArgs args }))(reader, 4), CXmlStringOverride = reader.IsDBNull(5) ? null : reader.GetString(5), CUuid = reader.IsDBNull(6) ? null : reader.GetFieldValue(6), - CEnum = reader.IsDBNull(7) ? null : reader.GetString(7).ToCEnum(), - CEnumNotNull = reader.GetString(8).ToCEnum() + CEnum = reader.IsDBNull(7) ? null : reader.GetString(7).ToCEnum() }; } } diff --git a/examples/NpgsqlExample/request.json b/examples/NpgsqlExample/request.json index a5ce50b7..2c2d156b 100644 --- a/examples/NpgsqlExample/request.json +++ b/examples/NpgsqlExample/request.json @@ -594,17 +594,6 @@ "name": "c_enum" } }, - { - "name": "c_enum_not_null", - "notNull": true, - "length": -1, - "table": { - "name": "postgres_special_types" - }, - "type": { - "name": "c_enum" - } - }, { "name": "c_json", "length": -1, @@ -668,6 +657,24 @@ } } ] + }, + { + "rel": { + "name": "postgres_not_null_types" + }, + "columns": [ + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_not_null_types" + }, + "type": { + "name": "c_enum" + } + } + ] } ], "enums": [ @@ -35045,7 +35052,7 @@ } }, { - "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum,\n $9::c_enum\n)", + "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum\n)", "name": "InsertPostgresSpecialTypes", "cmd": ":exec", "parameters": [ @@ -35147,9 +35154,23 @@ "name": "c_enum" } } - }, + } + ], + "comments": [ + " Special types " + ], + "filename": "query.sql", + "insert_into_table": { + "name": "postgres_special_types" + } + }, + { + "text": "INSERT INTO postgres_not_null_types\n(\n c_enum_not_null\n)\nVALUES (\n $1::c_enum\n)", + "name": "InsertPostgresNotNullTypes", + "cmd": ":exec", + "parameters": [ { - "number": 9, + "number": 1, "column": { "name": "c_enum_not_null", "notNull": true, @@ -35160,16 +35181,39 @@ } } ], - "comments": [ - " Special types " - ], "filename": "query.sql", "insert_into_table": { - "name": "postgres_special_types" + "name": "postgres_not_null_types" } }, { - "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\nFROM postgres_special_types \nLIMIT 1", + "text": "SELECT\n c_enum_not_null\nFROM postgres_not_null_types \nLIMIT 1", + "name": "GetPostgresNotNullTypes", + "cmd": ":one", + "columns": [ + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_not_null_types" + }, + "type": { + "name": "c_enum" + }, + "originalName": "c_enum_not_null" + } + ], + "filename": "query.sql" + }, + { + "text": "TRUNCATE TABLE postgres_not_null_types", + "name": "TruncatePostgresNotNullTypes", + "cmd": ":exec", + "filename": "query.sql" + }, + { + "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\nFROM postgres_special_types \nLIMIT 1", "name": "GetPostgresSpecialTypes", "cmd": ":one", "columns": [ @@ -35262,18 +35306,6 @@ "name": "c_enum" }, "originalName": "c_enum" - }, - { - "name": "c_enum_not_null", - "notNull": true, - "length": -1, - "table": { - "name": "postgres_special_types" - }, - "type": { - "name": "c_enum" - }, - "originalName": "c_enum_not_null" } ], "filename": "query.sql" diff --git a/examples/NpgsqlExample/request.message b/examples/NpgsqlExample/request.message index 1edb1cf0..029e158b 100644 --- a/examples/NpgsqlExample/request.message +++ b/examples/NpgsqlExample/request.message @@ -3,7 +3,7 @@ 2 postgresql-examples/config/postgresql/authors/schema.sql+examples/config/postgresql/types/schema.sql",examples/config/postgresql/authors/query.sql"*examples/config/postgresql/types/query.sqlbš examples/NpgsqlExamplecsharpс{"debugRequest":true,"generateCsproj":true,"namespaceName":"NpgsqlExampleGen","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"notNull":false,"type":"int"}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"notNull":false,"type":"string"}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"notNull":true,"type":"DateTime"}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"*:c_json_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_xml_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_macaddr8","csharp_type":{"notNull":false,"type":"string"}}],"targetFramework":"net8.0","useDapper":false}* -./dist/LocalRunnerŸэ public"сpublicƒ +./dist/LocalRunnerНэ public"џpublicƒ authors) id0џџџџџџџџџR authorsb  bigserial& name0џџџџџџџџџR authorsbtext# @@ -81,11 +81,10 @@ pg_catalog timestamp c_box0џџџџџџџџџRpostgres_geometric_typesbbox7 c_path0џџџџџџџџџRpostgres_geometric_typesbpath= c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygon; -c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleж +c_circle0џџџџџџџџџRpostgres_geometric_typesbcircle’ postgres_special_types5 c_uuid0џџџџџџџџџRpostgres_special_typesbuuid7 -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumB -c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumA +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumA c_json0џџџџџџџџџRpostgres_special_typesb pg_catalogjsonQ c_json_string_override0џџџџџџџџџRpostgres_special_typesb @@ -95,7 +94,9 @@ pg_catalogjson7 c_jsonpath0џџџџџџџџџRpostgres_special_typesb jsonpath3 c_xml0џџџџџџџџџRpostgres_special_typesbxmlC -c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxml" +c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxml` +postgres_not_null_typesC +c_enum_not_null0џџџџџџџџџRpostgres_not_null_typesbc_enum" c_enumsmallmediumbig" pg_temp"цВ pg_catalog‰ & @@ -10673,8 +10674,8 @@ LIMIT 1GetPostgresNetworkTypesCnt:one"= ) VALUES ($1, $2, $3)InsertPostgresNetworkTypesBatch :copyfrom*IE c_cidr0џџџџџџџџџR publicpostgres_network_typesbcidrzc_cidr*IE c_inet0џџџџџџџџџR publicpostgres_network_typesbinetzc_inet*RN - c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_types’ -М + c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesП +— INSERT INTO postgres_special_types ( c_json, @@ -10684,8 +10685,7 @@ INSERT INTO postgres_special_types c_xml, c_xml_string_override, c_uuid, - c_enum, - c_enum_not_null + c_enum ) VALUES ( $1, @@ -10695,8 +10695,7 @@ VALUES ( $5::xml, $6::xml, $7, - $8::c_enum, - $9::c_enum + $8::c_enum )InsertPostgresSpecialTypes:exec*VR c_json0џџџџџџџџџ8R publicpostgres_special_typesbpg_catalog.jsonzc_json*;7 c_json_string_override0џџџџџџџџџb @@ -10708,9 +10707,22 @@ c_jsonpath0 c_xml0џџџџџџџџџbxml*-) c_xml_string_override0џџџџџџџџџbxml*KG c_uuid0џџџџџџџџџ8R publicpostgres_special_typesbuuidzc_uuid*! -c_enum0џџџџџџџџџbc_enum*, ( -c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesŸ -ТSELECT +c_enum0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesЮ +UINSERT INTO postgres_not_null_types +( + c_enum_not_null +) +VALUES ( + $1::c_enum +)InsertPostgresNotNullTypes:exec*,( +c_enum_not_null0џџџџџџџџџbc_enum: query.sqlBpostgres_not_null_typesТ +@SELECT + c_enum_not_null +FROM postgres_not_null_types +LIMIT 1GetPostgresNotNullTypes:one"T +c_enum_not_null0џџџџџџџџџRpostgres_not_null_typesbc_enumzc_enum_not_null: query.sqlX +&TRUNCATE TABLE postgres_not_null_typesTruncatePostgresNotNullTypes:exec: query.sqlЕ +­SELECT c_json, c_json_string_override, c_jsonb, @@ -10718,8 +10730,7 @@ c_jsonpath0 c_xml, c_xml_string_override, c_uuid, - c_enum, - c_enum_not_null + c_enum FROM postgres_special_types LIMIT 1GetPostgresSpecialTypes:one"I c_json0џџџџџџџџџRpostgres_special_typesb @@ -10734,8 +10745,7 @@ c_jsonpath": c_xml0џџџџџџџџџRpostgres_special_typesbxmlzc_xml"Z c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxmlzc_xml_string_override"= c_uuid0џџџџџџџџџRpostgres_special_typesbuuidzc_uuid"? -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum"S -c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum_not_null: query.sqlW +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum: query.sqlW %TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЎ lINSERT INTO postgres_special_types ( diff --git a/examples/NpgsqlLegacyExample/Models.cs b/examples/NpgsqlLegacyExample/Models.cs index 7f3339e1..8cac7f32 100644 --- a/examples/NpgsqlLegacyExample/Models.cs +++ b/examples/NpgsqlLegacyExample/Models.cs @@ -83,7 +83,6 @@ public class PostgresSpecialType { public Guid? CUuid { get; set; } public CEnum? CEnum { get; set; } - public CEnum CEnumNotNull { get; set; } public JsonElement? CJson { get; set; } public JsonElement? CJsonStringOverride { get; set; } public JsonElement? CJsonb { get; set; } @@ -91,6 +90,10 @@ public class PostgresSpecialType public XmlDocument CXml { get; set; } public XmlDocument CXmlStringOverride { get; set; } }; + public class PostgresNotNullType + { + public CEnum CEnumNotNull { get; set; } + }; public class ExtendedBio { public string AuthorName { get; set; } diff --git a/examples/NpgsqlLegacyExample/QuerySql.cs b/examples/NpgsqlLegacyExample/QuerySql.cs index 5e84ab86..aaa0c4af 100644 --- a/examples/NpgsqlLegacyExample/QuerySql.cs +++ b/examples/NpgsqlLegacyExample/QuerySql.cs @@ -1934,7 +1934,7 @@ public async Task InsertPostgresNetworkTypesBatch(List GetPostgresNotNullTypes() + { + if (this.Transaction == null) + { + using (var connection = NpgsqlDataSource.Create(ConnectionString)) + { + using (var command = connection.CreateCommand(GetPostgresNotNullTypesSql)) + { + using (var reader = await command.ExecuteReaderAsync()) + { + if (await reader.ReadAsync()) + { + return new GetPostgresNotNullTypesRow + { + CEnumNotNull = reader.GetString(0).ToCEnum() + }; + } + } + } + } + + return null; + } + + if (this.Transaction?.Connection == null || this.Transaction?.Connection.State != System.Data.ConnectionState.Open) + throw new InvalidOperationException("Transaction is provided, but its connection is null."); + using (var command = this.Transaction.Connection.CreateCommand()) + { + command.CommandText = GetPostgresNotNullTypesSql; + command.Transaction = this.Transaction; + using (var reader = await command.ExecuteReaderAsync()) + { + if (await reader.ReadAsync()) + { + return new GetPostgresNotNullTypesRow + { + CEnumNotNull = reader.GetString(0).ToCEnum() + }; + } + } + } + + return null; + } + + private const string TruncatePostgresNotNullTypesSql = "TRUNCATE TABLE postgres_not_null_types"; + public async Task TruncatePostgresNotNullTypes() + { + if (this.Transaction == null) + { + using (var connection = NpgsqlDataSource.Create(ConnectionString)) + { + using (var command = connection.CreateCommand(TruncatePostgresNotNullTypesSql)) + { + await command.ExecuteNonQueryAsync(); + } + } + + return; + } + + if (this.Transaction?.Connection == null || this.Transaction?.Connection.State != System.Data.ConnectionState.Open) + throw new InvalidOperationException("Transaction is provided, but its connection is null."); + using (var command = this.Transaction.Connection.CreateCommand()) + { + command.CommandText = TruncatePostgresNotNullTypesSql; + command.Transaction = this.Transaction; + await command.ExecuteNonQueryAsync(); + } + } + + private const string GetPostgresSpecialTypesSql = "SELECT c_json, c_json_string_override, c_jsonb, c_jsonpath, c_xml, c_xml_string_override, c_uuid, c_enum FROM postgres_special_types LIMIT 1"; public class GetPostgresSpecialTypesRow { public JsonElement? CJson { get; set; } @@ -2001,7 +2106,6 @@ public class GetPostgresSpecialTypesRow public string CXmlStringOverride { get; set; } public Guid? CUuid { get; set; } public CEnum? CEnum { get; set; } - public CEnum CEnumNotNull { get; set; } }; public async Task GetPostgresSpecialTypes() { @@ -2029,8 +2133,7 @@ public async Task GetPostgresSpecialTypes() }))(reader, 4), CXmlStringOverride = reader.IsDBNull(5) ? null : reader.GetString(5), CUuid = reader.IsDBNull(6) ? (Guid? )null : reader.GetFieldValue(6), - CEnum = reader.IsDBNull(7) ? (CEnum? )null : reader.GetString(7).ToCEnum(), - CEnumNotNull = reader.GetString(8).ToCEnum() + CEnum = reader.IsDBNull(7) ? (CEnum? )null : reader.GetString(7).ToCEnum() }; } } @@ -2064,8 +2167,7 @@ public async Task GetPostgresSpecialTypes() }))(reader, 4), CXmlStringOverride = reader.IsDBNull(5) ? null : reader.GetString(5), CUuid = reader.IsDBNull(6) ? (Guid? )null : reader.GetFieldValue(6), - CEnum = reader.IsDBNull(7) ? (CEnum? )null : reader.GetString(7).ToCEnum(), - CEnumNotNull = reader.GetString(8).ToCEnum() + CEnum = reader.IsDBNull(7) ? (CEnum? )null : reader.GetString(7).ToCEnum() }; } } diff --git a/examples/NpgsqlLegacyExample/request.json b/examples/NpgsqlLegacyExample/request.json index 8fc24d65..81511b76 100644 --- a/examples/NpgsqlLegacyExample/request.json +++ b/examples/NpgsqlLegacyExample/request.json @@ -594,17 +594,6 @@ "name": "c_enum" } }, - { - "name": "c_enum_not_null", - "notNull": true, - "length": -1, - "table": { - "name": "postgres_special_types" - }, - "type": { - "name": "c_enum" - } - }, { "name": "c_json", "length": -1, @@ -668,6 +657,24 @@ } } ] + }, + { + "rel": { + "name": "postgres_not_null_types" + }, + "columns": [ + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_not_null_types" + }, + "type": { + "name": "c_enum" + } + } + ] } ], "enums": [ @@ -35045,7 +35052,7 @@ } }, { - "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum,\n $9::c_enum\n)", + "text": "\nINSERT INTO postgres_special_types\n(\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\n)\nVALUES (\n $1, \n $2::json, \n $3,\n $4::jsonpath,\n $5::xml,\n $6::xml,\n $7,\n $8::c_enum\n)", "name": "InsertPostgresSpecialTypes", "cmd": ":exec", "parameters": [ @@ -35147,9 +35154,23 @@ "name": "c_enum" } } - }, + } + ], + "comments": [ + " Special types " + ], + "filename": "query.sql", + "insert_into_table": { + "name": "postgres_special_types" + } + }, + { + "text": "INSERT INTO postgres_not_null_types\n(\n c_enum_not_null\n)\nVALUES (\n $1::c_enum\n)", + "name": "InsertPostgresNotNullTypes", + "cmd": ":exec", + "parameters": [ { - "number": 9, + "number": 1, "column": { "name": "c_enum_not_null", "notNull": true, @@ -35160,16 +35181,39 @@ } } ], - "comments": [ - " Special types " - ], "filename": "query.sql", "insert_into_table": { - "name": "postgres_special_types" + "name": "postgres_not_null_types" } }, { - "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum,\n c_enum_not_null\nFROM postgres_special_types \nLIMIT 1", + "text": "SELECT\n c_enum_not_null\nFROM postgres_not_null_types \nLIMIT 1", + "name": "GetPostgresNotNullTypes", + "cmd": ":one", + "columns": [ + { + "name": "c_enum_not_null", + "notNull": true, + "length": -1, + "table": { + "name": "postgres_not_null_types" + }, + "type": { + "name": "c_enum" + }, + "originalName": "c_enum_not_null" + } + ], + "filename": "query.sql" + }, + { + "text": "TRUNCATE TABLE postgres_not_null_types", + "name": "TruncatePostgresNotNullTypes", + "cmd": ":exec", + "filename": "query.sql" + }, + { + "text": "SELECT\n c_json,\n c_json_string_override,\n c_jsonb,\n c_jsonpath,\n c_xml,\n c_xml_string_override,\n c_uuid,\n c_enum\nFROM postgres_special_types \nLIMIT 1", "name": "GetPostgresSpecialTypes", "cmd": ":one", "columns": [ @@ -35262,18 +35306,6 @@ "name": "c_enum" }, "originalName": "c_enum" - }, - { - "name": "c_enum_not_null", - "notNull": true, - "length": -1, - "table": { - "name": "postgres_special_types" - }, - "type": { - "name": "c_enum" - }, - "originalName": "c_enum_not_null" } ], "filename": "query.sql" diff --git a/examples/NpgsqlLegacyExample/request.message b/examples/NpgsqlLegacyExample/request.message index e51f7c3f..879ab23b 100644 --- a/examples/NpgsqlLegacyExample/request.message +++ b/examples/NpgsqlLegacyExample/request.message @@ -3,7 +3,7 @@ 2 postgresql-examples/config/postgresql/authors/schema.sql+examples/config/postgresql/types/schema.sql",examples/config/postgresql/authors/query.sql"*examples/config/postgresql/types/query.sqlbЎ examples/NpgsqlLegacyExamplecsharpя{"debugRequest":true,"generateCsproj":true,"namespaceName":"NpgsqlLegacyExampleGen","overrides":[{"column":"GetPostgresFunctions:max_integer","csharp_type":{"notNull":false,"type":"int"}},{"column":"GetPostgresFunctions:max_varchar","csharp_type":{"notNull":false,"type":"string"}},{"column":"GetPostgresFunctions:max_timestamp","csharp_type":{"notNull":true,"type":"DateTime"}},{"column":"GetPostgresSpecialTypesCnt:c_json","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"GetPostgresSpecialTypesCnt:c_jsonb","csharp_type":{"notNull":false,"type":"JsonElement"}},{"column":"*:c_json_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_xml_string_override","csharp_type":{"notNull":false,"type":"string"}},{"column":"*:c_macaddr8","csharp_type":{"notNull":false,"type":"string"}}],"targetFramework":"netstandard2.0","useDapper":false}* -./dist/LocalRunnerŸэ public"сpublicƒ +./dist/LocalRunnerНэ public"џpublicƒ authors) id0џџџџџџџџџR authorsb  bigserial& name0џџџџџџџџџR authorsbtext# @@ -81,11 +81,10 @@ pg_catalog timestamp c_box0џџџџџџџџџRpostgres_geometric_typesbbox7 c_path0џџџџџџџџџRpostgres_geometric_typesbpath= c_polygon0џџџџџџџџџRpostgres_geometric_typesb polygon; -c_circle0џџџџџџџџџRpostgres_geometric_typesbcircleж +c_circle0џџџџџџџџџRpostgres_geometric_typesbcircle’ postgres_special_types5 c_uuid0џџџџџџџџџRpostgres_special_typesbuuid7 -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumB -c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumA +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumA c_json0џџџџџџџџџRpostgres_special_typesb pg_catalogjsonQ c_json_string_override0џџџџџџџџџRpostgres_special_typesb @@ -95,7 +94,9 @@ pg_catalogjson7 c_jsonpath0џџџџџџџџџRpostgres_special_typesb jsonpath3 c_xml0џџџџџџџџџRpostgres_special_typesbxmlC -c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxml" +c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxml` +postgres_not_null_typesC +c_enum_not_null0џџџџџџџџџRpostgres_not_null_typesbc_enum" c_enumsmallmediumbig" pg_temp"цВ pg_catalog‰ & @@ -10673,8 +10674,8 @@ LIMIT 1GetPostgresNetworkTypesCnt:one"= ) VALUES ($1, $2, $3)InsertPostgresNetworkTypesBatch :copyfrom*IE c_cidr0џџџџџџџџџR publicpostgres_network_typesbcidrzc_cidr*IE c_inet0џџџџџџџџџR publicpostgres_network_typesbinetzc_inet*RN - c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_types’ -М + c_macaddr0џџџџџџџџџR publicpostgres_network_typesb macaddrz c_macaddr: query.sqlBpostgres_network_typesП +— INSERT INTO postgres_special_types ( c_json, @@ -10684,8 +10685,7 @@ INSERT INTO postgres_special_types c_xml, c_xml_string_override, c_uuid, - c_enum, - c_enum_not_null + c_enum ) VALUES ( $1, @@ -10695,8 +10695,7 @@ VALUES ( $5::xml, $6::xml, $7, - $8::c_enum, - $9::c_enum + $8::c_enum )InsertPostgresSpecialTypes:exec*VR c_json0џџџџџџџџџ8R publicpostgres_special_typesbpg_catalog.jsonzc_json*;7 c_json_string_override0џџџџџџџџџb @@ -10708,9 +10707,22 @@ c_jsonpath0 c_xml0џџџџџџџџџbxml*-) c_xml_string_override0џџџџџџџџџbxml*KG c_uuid0џџџџџџџџџ8R publicpostgres_special_typesbuuidzc_uuid*! -c_enum0џџџџџџџџџbc_enum*, ( -c_enum_not_null0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesŸ -ТSELECT +c_enum0џџџџџџџџџbc_enum2 Special types : query.sqlBpostgres_special_typesЮ +UINSERT INTO postgres_not_null_types +( + c_enum_not_null +) +VALUES ( + $1::c_enum +)InsertPostgresNotNullTypes:exec*,( +c_enum_not_null0џџџџџџџџџbc_enum: query.sqlBpostgres_not_null_typesТ +@SELECT + c_enum_not_null +FROM postgres_not_null_types +LIMIT 1GetPostgresNotNullTypes:one"T +c_enum_not_null0џџџџџџџџџRpostgres_not_null_typesbc_enumzc_enum_not_null: query.sqlX +&TRUNCATE TABLE postgres_not_null_typesTruncatePostgresNotNullTypes:exec: query.sqlЕ +­SELECT c_json, c_json_string_override, c_jsonb, @@ -10718,8 +10730,7 @@ c_jsonpath0 c_xml, c_xml_string_override, c_uuid, - c_enum, - c_enum_not_null + c_enum FROM postgres_special_types LIMIT 1GetPostgresSpecialTypes:one"I c_json0џџџџџџџџџRpostgres_special_typesb @@ -10734,8 +10745,7 @@ c_jsonpath": c_xml0џџџџџџџџџRpostgres_special_typesbxmlzc_xml"Z c_xml_string_override0џџџџџџџџџRpostgres_special_typesbxmlzc_xml_string_override"= c_uuid0џџџџџџџџџRpostgres_special_typesbuuidzc_uuid"? -c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum"S -c_enum_not_null0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum_not_null: query.sqlW +c_enum0џџџџџџџџџRpostgres_special_typesbc_enumzc_enum: query.sqlW %TRUNCATE TABLE postgres_special_typesTruncatePostgresSpecialTypes:exec: query.sqlЎ lINSERT INTO postgres_special_types ( diff --git a/examples/config/postgresql/types/query.sql b/examples/config/postgresql/types/query.sql index 088d72a0..5f890076 100644 --- a/examples/config/postgresql/types/query.sql +++ b/examples/config/postgresql/types/query.sql @@ -240,8 +240,7 @@ INSERT INTO postgres_special_types c_xml, c_xml_string_override, c_uuid, - c_enum, - c_enum_not_null + c_enum ) VALUES ( sqlc.narg('c_json'), @@ -251,10 +250,27 @@ VALUES ( sqlc.narg('c_xml')::xml, sqlc.narg('c_xml_string_override')::xml, sqlc.narg('c_uuid'), - sqlc.narg('c_enum')::c_enum, + sqlc.narg('c_enum')::c_enum +); + +-- name: InsertPostgresNotNullTypes :exec +INSERT INTO postgres_not_null_types +( + c_enum_not_null +) +VALUES ( sqlc.arg('c_enum_not_null')::c_enum ); +-- name: GetPostgresNotNullTypes :one +SELECT + c_enum_not_null +FROM postgres_not_null_types +LIMIT 1; + +-- name: TruncatePostgresNotNullTypes :exec +TRUNCATE TABLE postgres_not_null_types; + -- name: GetPostgresSpecialTypes :one SELECT c_json, @@ -264,8 +280,7 @@ SELECT c_xml, c_xml_string_override, c_uuid, - c_enum, - c_enum_not_null + c_enum FROM postgres_special_types LIMIT 1; diff --git a/examples/config/postgresql/types/schema.sql b/examples/config/postgresql/types/schema.sql index ed16c84c..b35715c0 100644 --- a/examples/config/postgresql/types/schema.sql +++ b/examples/config/postgresql/types/schema.sql @@ -66,11 +66,14 @@ CREATE TYPE c_enum AS ENUM ('small', 'medium', 'big'); CREATE TABLE postgres_special_types ( c_uuid UUID, c_enum c_enum, - c_enum_not_null c_enum NOT NULL DEFAULT 'small', c_json JSON, c_json_string_override JSON, c_jsonb JSONB, c_jsonpath JSONPATH, c_xml XML, c_xml_string_override XML +); + +CREATE TABLE postgres_not_null_types ( + c_enum_not_null c_enum NOT NULL DEFAULT 'small' ); \ No newline at end of file From 06ad931b8e9f87f25c30c3f9345f022fe5ea284a Mon Sep 17 00:00:00 2001 From: Doron Eli Rachman Date: Thu, 25 Sep 2025 14:10:25 +0300 Subject: [PATCH 05/10] fix typos --- .../Templates/PostgresTests.cs | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/end2end/EndToEndScaffold/Templates/PostgresTests.cs b/end2end/EndToEndScaffold/Templates/PostgresTests.cs index 287bf1cb..01f8f2a6 100644 --- a/end2end/EndToEndScaffold/Templates/PostgresTests.cs +++ b/end2end/EndToEndScaffold/Templates/PostgresTests.cs @@ -481,7 +481,7 @@ await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialType CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, - CJsonpath = cJsonpath, + CJsonpath = cJsonpath }); var expected = new QuerySql.GetPostgresSpecialTypesRow @@ -489,7 +489,7 @@ await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialType CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, - CJsonpath = cJsonpath, + CJsonpath = cJsonpath }; var actual = await QuerySql.GetPostgresSpecialTypes(); @@ -565,13 +565,13 @@ public void TestPostgresInvalidJson() Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { - CJsonStringOverride = "SOME INVALID JSON", + CJsonStringOverride = "SOME INVALID JSON" })); Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { - CJsonpath = "SOME INVALID JSONPATH", + CJsonpath = "SOME INVALID JSONPATH" })); } """ @@ -1019,12 +1019,12 @@ public async Task TestPostgresGuidDataTypes(Guid? cUuid) { await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { - CUuid = cUuid, + CUuid = cUuid }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CUuid = cUuid, + CUuid = cUuid }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual{{Consts.UnknownRecordValuePlaceholder}}); @@ -1093,12 +1093,12 @@ public async Task TestPostgresXmlDataTypes(string cXml) await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { - CXml = parsedXml, + CXml = parsedXml }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CXml = parsedXml, + CXml = parsedXml }; var actual = await QuerySql.GetPostgresSpecialTypes(); @@ -1123,7 +1123,7 @@ public void TestPostgresInvalidXml() Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { - CXmlStringOverride = "SOME INVALID XML", + CXmlStringOverride = "SOME INVALID XML" })); } """ @@ -1192,18 +1192,20 @@ void AssertSingularEquals(QuerySql.GetPostgresNetworkTypesCntRow x, QuerySql.Get { Impl = $$""" [Test] + [TestCase(CEnum.Small)] [TestCase(CEnum.Medium)] + [TestCase(CEnum.Big)] [TestCase(null)] public async Task TestPostgresEnumTypes(CEnum? cEnum) { await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { - CEnum = cEnum, + CEnum = cEnum }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CEnum = cEnum, + CEnum = cEnum }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual{{Consts.UnknownRecordValuePlaceholder}}); From 0ba07df35dfb770029aa14972f4eb339f72a023d Mon Sep 17 00:00:00 2001 From: Doron Eli Rachman Date: Thu, 25 Sep 2025 14:11:16 +0300 Subject: [PATCH 06/10] add trancate --- end2end/EndToEndTests/NpgsqlTester.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/end2end/EndToEndTests/NpgsqlTester.cs b/end2end/EndToEndTests/NpgsqlTester.cs index adddd5ba..25c73241 100644 --- a/end2end/EndToEndTests/NpgsqlTester.cs +++ b/end2end/EndToEndTests/NpgsqlTester.cs @@ -21,5 +21,6 @@ public async Task EmptyTestsTables() await QuerySql.TruncatePostgresNetworkTypes(); await QuerySql.TruncatePostgresArrayTypes(); await QuerySql.TruncatePostgresSpecialTypes(); + await QuerySql.TruncatePostgresNotNullTypes(); } } \ No newline at end of file From c63c25d64d0fa422c920a0f967ef8efc4aae0b49 Mon Sep 17 00:00:00 2001 From: Doron Eli Rachman Date: Thu, 25 Sep 2025 14:13:31 +0300 Subject: [PATCH 07/10] fix types --- .../NpgsqlDapperTester.generated.cs | 24 ++++++++++--------- .../EndToEndTests/NpgsqlTester.generated.cs | 24 ++++++++++--------- .../NpgsqlDapperTester.generated.cs | 24 ++++++++++--------- .../NpgsqlTester.generated.cs | 24 ++++++++++--------- 4 files changed, 52 insertions(+), 44 deletions(-) diff --git a/end2end/EndToEndTests/NpgsqlDapperTester.generated.cs b/end2end/EndToEndTests/NpgsqlDapperTester.generated.cs index 34c90bf1..4d667348 100644 --- a/end2end/EndToEndTests/NpgsqlDapperTester.generated.cs +++ b/end2end/EndToEndTests/NpgsqlDapperTester.generated.cs @@ -400,14 +400,14 @@ void AssertSingularEquals(QuerySql.GetPostgresFunctionsRow x, QuerySql.GetPostgr [Test] public void TestPostgresInvalidJson() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", })); - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON" })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH" })); } [Test] public void TestPostgresInvalidXml() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML" })); } [Test] @@ -564,10 +564,10 @@ private static IEnumerable PostgresGuidDataTypesTestCases [TestCaseSource(nameof(PostgresGuidDataTypesTestCases))] public async Task TestPostgresGuidDataTypes(Guid? cUuid) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CUuid = cUuid, + CUuid = cUuid }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -678,13 +678,13 @@ public async Task TestPostgresJsonDataTypes(string cJson, string cJsonpath) JsonElement? cParsedJson = null; if (cJson != null) cParsedJson = JsonDocument.Parse(cJson).RootElement; - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, - CJsonpath = cJsonpath, + CJsonpath = cJsonpath }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -713,10 +713,10 @@ public async Task TestPostgresXmlDataTypes(string cXml) parsedXml.LoadXml(cXml); } - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CXml = parsedXml, + CXml = parsedXml }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -729,14 +729,16 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos } [Test] + [TestCase(CEnum.Small)] [TestCase(CEnum.Medium)] + [TestCase(CEnum.Big)] [TestCase(null)] public async Task TestPostgresEnumTypes(CEnum? cEnum) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CEnum = cEnum, + CEnum = cEnum }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); diff --git a/end2end/EndToEndTests/NpgsqlTester.generated.cs b/end2end/EndToEndTests/NpgsqlTester.generated.cs index 7ddba617..1a467a17 100644 --- a/end2end/EndToEndTests/NpgsqlTester.generated.cs +++ b/end2end/EndToEndTests/NpgsqlTester.generated.cs @@ -400,14 +400,14 @@ void AssertSingularEquals(QuerySql.GetPostgresFunctionsRow x, QuerySql.GetPostgr [Test] public void TestPostgresInvalidJson() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", })); - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON" })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH" })); } [Test] public void TestPostgresInvalidXml() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML" })); } [Test] @@ -564,10 +564,10 @@ private static IEnumerable PostgresGuidDataTypesTestCases [TestCaseSource(nameof(PostgresGuidDataTypesTestCases))] public async Task TestPostgresGuidDataTypes(Guid? cUuid) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CUuid = cUuid, + CUuid = cUuid }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual.Value); @@ -678,13 +678,13 @@ public async Task TestPostgresJsonDataTypes(string cJson, string cJsonpath) JsonElement? cParsedJson = null; if (cJson != null) cParsedJson = JsonDocument.Parse(cJson).RootElement; - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, - CJsonpath = cJsonpath, + CJsonpath = cJsonpath }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual.Value); @@ -713,10 +713,10 @@ public async Task TestPostgresXmlDataTypes(string cXml) parsedXml.LoadXml(cXml); } - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CXml = parsedXml, + CXml = parsedXml }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual.Value); @@ -729,14 +729,16 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos } [Test] + [TestCase(CEnum.Small)] [TestCase(CEnum.Medium)] + [TestCase(CEnum.Big)] [TestCase(null)] public async Task TestPostgresEnumTypes(CEnum? cEnum) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CEnum = cEnum, + CEnum = cEnum }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual.Value); diff --git a/end2end/EndToEndTestsLegacy/NpgsqlDapperTester.generated.cs b/end2end/EndToEndTestsLegacy/NpgsqlDapperTester.generated.cs index a412be47..9138efad 100644 --- a/end2end/EndToEndTestsLegacy/NpgsqlDapperTester.generated.cs +++ b/end2end/EndToEndTestsLegacy/NpgsqlDapperTester.generated.cs @@ -400,14 +400,14 @@ void AssertSingularEquals(QuerySql.GetPostgresFunctionsRow x, QuerySql.GetPostgr [Test] public void TestPostgresInvalidJson() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", })); - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON" })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH" })); } [Test] public void TestPostgresInvalidXml() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML" })); } [Test] @@ -564,10 +564,10 @@ private static IEnumerable PostgresGuidDataTypesTestCases [TestCaseSource(nameof(PostgresGuidDataTypesTestCases))] public async Task TestPostgresGuidDataTypes(Guid? cUuid) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CUuid = cUuid, + CUuid = cUuid }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -678,13 +678,13 @@ public async Task TestPostgresJsonDataTypes(string cJson, string cJsonpath) JsonElement? cParsedJson = null; if (cJson != null) cParsedJson = JsonDocument.Parse(cJson).RootElement; - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, - CJsonpath = cJsonpath, + CJsonpath = cJsonpath }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -713,10 +713,10 @@ public async Task TestPostgresXmlDataTypes(string cXml) parsedXml.LoadXml(cXml); } - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CXml = parsedXml, + CXml = parsedXml }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -729,14 +729,16 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos } [Test] + [TestCase(CEnum.Small)] [TestCase(CEnum.Medium)] + [TestCase(CEnum.Big)] [TestCase(null)] public async Task TestPostgresEnumTypes(CEnum? cEnum) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CEnum = cEnum, + CEnum = cEnum }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); diff --git a/end2end/EndToEndTestsLegacy/NpgsqlTester.generated.cs b/end2end/EndToEndTestsLegacy/NpgsqlTester.generated.cs index 98da1dd1..e40e92e5 100644 --- a/end2end/EndToEndTestsLegacy/NpgsqlTester.generated.cs +++ b/end2end/EndToEndTestsLegacy/NpgsqlTester.generated.cs @@ -400,14 +400,14 @@ void AssertSingularEquals(QuerySql.GetPostgresFunctionsRow x, QuerySql.GetPostgr [Test] public void TestPostgresInvalidJson() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON", })); - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH", })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonStringOverride = "SOME INVALID JSON" })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJsonpath = "SOME INVALID JSONPATH" })); } [Test] public void TestPostgresInvalidXml() { - Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML", })); + Assert.ThrowsAsync(async () => await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXmlStringOverride = "SOME INVALID XML" })); } [Test] @@ -564,10 +564,10 @@ private static IEnumerable PostgresGuidDataTypesTestCases [TestCaseSource(nameof(PostgresGuidDataTypesTestCases))] public async Task TestPostgresGuidDataTypes(Guid? cUuid) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CUuid = cUuid }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CUuid = cUuid, + CUuid = cUuid }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -678,13 +678,13 @@ public async Task TestPostgresJsonDataTypes(string cJson, string cJsonpath) JsonElement? cParsedJson = null; if (cJson != null) cParsedJson = JsonDocument.Parse(cJson).RootElement; - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, CJsonpath = cJsonpath }); var expected = new QuerySql.GetPostgresSpecialTypesRow { CJson = cParsedJson, CJsonb = cParsedJson, CJsonStringOverride = cJson, - CJsonpath = cJsonpath, + CJsonpath = cJsonpath }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -713,10 +713,10 @@ public async Task TestPostgresXmlDataTypes(string cXml) parsedXml.LoadXml(cXml); } - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CXml = parsedXml }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CXml = parsedXml, + CXml = parsedXml }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); @@ -729,14 +729,16 @@ void AssertSingularEquals(QuerySql.GetPostgresSpecialTypesRow x, QuerySql.GetPos } [Test] + [TestCase(CEnum.Small)] [TestCase(CEnum.Medium)] + [TestCase(CEnum.Big)] [TestCase(null)] public async Task TestPostgresEnumTypes(CEnum? cEnum) { - await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum, }); + await QuerySql.InsertPostgresSpecialTypes(new QuerySql.InsertPostgresSpecialTypesArgs { CEnum = cEnum }); var expected = new QuerySql.GetPostgresSpecialTypesRow { - CEnum = cEnum, + CEnum = cEnum }; var actual = await QuerySql.GetPostgresSpecialTypes(); AssertSingularEquals(expected, actual); From 6c5a098730ccd30450864b1deeee2658db498141 Mon Sep 17 00:00:00 2001 From: Doron Eli Rachman Date: Thu, 25 Sep 2025 14:19:12 +0300 Subject: [PATCH 08/10] fix build --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 11b88b36..8ad548b4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -53,7 +53,7 @@ jobs: shell: bash run: | set -e - WASI_SDK_PATH="$(pwd)/${{ env.WASI_SDK_FOLDER_NAME }}" dotnet publish WasmRunner -c release + WASI_SDK_PATH="$(pwd)/${{ env.WASI_SDK_FOLDER_NAME }}" dotnet publish WasmRunner -c release -f net8.0 ./scripts/wasm/copy_plugin_to.sh dist - name: upload wasm plugin as artifact From 16ee7fa29dfdb1a642b5f372c6ac58fa2a12ef26 Mon Sep 17 00:00:00 2001 From: Doron Eli Rachman Date: Thu, 25 Sep 2025 14:27:02 +0300 Subject: [PATCH 09/10] fix build --- .github/workflows/build.yml | 4 ++-- global.json | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 global.json diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8ad548b4..6fd52799 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,7 +33,7 @@ jobs: - name: Setup Dotnet uses: actions/setup-dotnet@v4 with: - dotnet-version: ${{ env.DOTNET_VERSION }} + global-json-file: global.json - name: install Wasi workload run: dotnet workload install wasi-experimental @@ -53,7 +53,7 @@ jobs: shell: bash run: | set -e - WASI_SDK_PATH="$(pwd)/${{ env.WASI_SDK_FOLDER_NAME }}" dotnet publish WasmRunner -c release -f net8.0 + WASI_SDK_PATH="$(pwd)/${{ env.WASI_SDK_FOLDER_NAME }}" dotnet publish WasmRunner -c release ./scripts/wasm/copy_plugin_to.sh dist - name: upload wasm plugin as artifact diff --git a/global.json b/global.json new file mode 100644 index 00000000..1978c843 --- /dev/null +++ b/global.json @@ -0,0 +1,5 @@ +{ + "sdk": { + "version": "8.0.303" + } +} \ No newline at end of file From 9fdc016a715dfcb350596a764ef018f309996ad9 Mon Sep 17 00:00:00 2001 From: Doron Eli Rachman Date: Thu, 25 Sep 2025 14:30:35 +0300 Subject: [PATCH 10/10] move dotnet version to global.json file --- .github/workflows/build.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6fd52799..fed4c605 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,7 +6,6 @@ defaults: env: SQLC_VERSION: 1.30.0 WASI_SDK_VERSION: 22 - DOTNET_VERSION: '8.0.x' on: push: @@ -74,7 +73,7 @@ jobs: - name: Set up .NET uses: actions/setup-dotnet@v4 with: - dotnet-version: ${{ env.DOTNET_VERSION }} + global-json-file: global.json - name: .NET Lint uses: zyactions/dotnet-lint@v1 @@ -101,7 +100,7 @@ jobs: - name: Setup Dotnet uses: actions/setup-dotnet@v4 with: - dotnet-version: ${{ env.DOTNET_VERSION }} + global-json-file: global.json - uses: sqlc-dev/setup-sqlc@v4 with: