Skip to content

Commit b1b8e7d

Browse files
fix: upgrade sqlc version to 1.30 (#312)
* fix: upgrade sqlc version to 1.30 * fix: refactor anonymous Func definition to delegates
1 parent d8c5a07 commit b1b8e7d

34 files changed

Lines changed: 178 additions & 122 deletions

File tree

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ defaults:
44
shell: bash
55

66
env:
7-
SQLC_VERSION: 1.27.0
7+
SQLC_VERSION: 1.30.0
88
WASI_SDK_VERSION: 22
99
DOTNET_VERSION: '8.0.x'
1010

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ defaults:
55

66
env:
77
DOTNET_VERSION: '8.0.x'
8-
SQLC_VERSION: 1.27.0
8+
SQLC_VERSION: 1.30.0
99

1010
on:
1111
push:

CodegenTests/test-requests/DefaultSchemaEnum/request.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,6 @@
100100
}
101101
}
102102
],
103-
"sqlc_version": "v1.27.0",
103+
"sqlc_version": "v1.30.0",
104104
"plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0OC4wIiwibmFtZXNwYWNlTmFtZSI6IiIsInVzZURhcHBlciI6ZmFsc2UsIm92ZXJyaWRlRGFwcGVyVmVyc2lvbiI6IiIsIm92ZXJyaWRlcyI6bnVsbCwiZGVidWdSZXF1ZXN0IjpmYWxzZX0="
105105
}

CodegenTests/test-requests/DefaultSchemaEnum/request.message

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@
1010
dummy_column0R dummy_tablebdummy_table_dummy_columnz dummy_column: query.sql�
1111
1INSERT INTO dummy_table (dummy_column) VALUES (?)
1212
TestInsert:exec*UQ
13-
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}
13+
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}

CodegenTests/test-requests/SchemaScopedEnum/request.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,6 @@
8080
"filename": "query.sql"
8181
}
8282
],
83-
"sqlc_version": "v1.27.0",
83+
"sqlc_version": "v1.30.0",
8484
"plugin_options": "eyJvdmVycmlkZURyaXZlclZlcnNpb24iOiIiLCJnZW5lcmF0ZUNzcHJvaiI6dHJ1ZSwidGFyZ2V0RnJhbWV3b3JrIjoibmV0OC4wIiwibmFtZXNwYWNlTmFtZSI6IiIsInVzZURhcHBlciI6ZmFsc2UsIm92ZXJyaWRlRGFwcGVyVmVyc2lvbiI6IiIsIm92ZXJyaWRlcyI6bnVsbCwiZGVidWdSZXF1ZXN0IjpmYWxzZX0="
8585
}

CodegenTests/test-requests/SchemaScopedEnum/request.message

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
 dummy_schema dummy_tableI
88
dummy_column0R dummy_schema dummy_tablebdummy_table_dummy_column�
99
9SELECT dummy_column FROM dummy_schema.dummy_table LIMIT 1Test:one"W
10-
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}
10+
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}

Drivers/ColumnMapping.cs

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,30 @@ namespace SqlcGenCsharp.Drivers;
55

66
public record DbTypeInfo(int? Length = null, string? NpgsqlTypeOverride = null);
77

8+
public delegate string ReaderFn(int ordinal);
9+
10+
public delegate string WriterFn(string el, bool notNull, bool isDapper);
11+
12+
public delegate string ConvertFunc(string el);
13+
14+
public delegate string SqlMapperImplFunc(bool isDotnetCore);
15+
816
public class ColumnMapping(
917
Dictionary<string, DbTypeInfo> dbTypes,
10-
Func<int, string> readerFn,
11-
Func<int, string>? readerArrayFn = null,
18+
ReaderFn readerFn,
19+
ReaderFn? readerArrayFn = null,
1220
string? usingDirective = null,
13-
Func<string, bool, bool, string>? writerFn = null,
14-
Func<string, string>? convertFunc = null,
21+
WriterFn? writerFn = null,
22+
ConvertFunc? convertFunc = null,
1523
string? sqlMapper = null,
16-
Func<bool, string>? sqlMapperImpl = null)
24+
SqlMapperImplFunc? sqlMapperImpl = null)
1725
{
1826
public Dictionary<string, DbTypeInfo> DbTypes { get; } = dbTypes;
19-
public Func<int, string> ReaderFn { get; } = readerFn;
20-
public Func<int, string>? ReaderArrayFn { get; } = readerArrayFn;
27+
public ReaderFn ReaderFn { get; } = readerFn;
28+
public ReaderFn? ReaderArrayFn { get; } = readerArrayFn;
2129
public string? UsingDirective { get; } = usingDirective;
22-
public Func<string, bool, bool, string>? WriterFn { get; } = writerFn;
23-
public Func<string, string>? ConvertFunc { get; } = convertFunc;
30+
public WriterFn? WriterFn { get; } = writerFn;
31+
public ConvertFunc? ConvertFunc { get; } = convertFunc;
2432
public string? SqlMapper { get; } = sqlMapper;
25-
public Func<bool, string>? SqlMapperImpl { get; } = sqlMapperImpl;
33+
public SqlMapperImplFunc? SqlMapperImpl { get; } = sqlMapperImpl;
2634
}

Drivers/DbDriver.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ private static bool DoesColumnMappingApply(ColumnMapping columnMapping, Column c
330330
return typeInfo.Length.Value == column.Length;
331331
}
332332

333-
public virtual Func<string, bool, bool, string>? GetWriterFn(Column column, Query query)
333+
public virtual WriterFn? GetWriterFn(Column column, Query query)
334334
{
335335
var csharpType = GetCsharpTypeWithoutNullableSuffix(column, query);
336336
var writerFn = ColumnMappings.GetValueOrDefault(csharpType)?.WriterFn;

Drivers/MySqlConnectorDriver.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ public sealed partial class MySqlConnectorDriver(
156156

157157
public override string TransactionClassName => "MySqlTransaction";
158158

159-
private static readonly Func<bool, string> JsonElementTypeHandler = _ => $$"""
159+
private static readonly SqlMapperImplFunc JsonElementTypeHandler = _ => $$"""
160160
private class JsonElementTypeHandler : SqlMapper.TypeHandler<JsonElement>
161161
{
162162
public override JsonElement Parse(object value)
@@ -613,7 +613,7 @@ private bool IsSetDataType(Column column)
613613
return enumType is not null && IsSetDataType(column, enumType);
614614
}
615615

616-
public override Func<string, bool, bool, string>? GetWriterFn(Column column, Query query)
616+
public override WriterFn? GetWriterFn(Column column, Query query)
617617
{
618618
var csharpType = GetCsharpTypeWithoutNullableSuffix(column, query);
619619
var writerFn = ColumnMappings.GetValueOrDefault(csharpType)?.WriterFn;

Drivers/NpgsqlDriver.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ public NpgsqlDriver(
345345

346346
public override string TransactionClassName => "NpgsqlTransaction";
347347

348-
private static readonly Func<bool, string> JsonElementTypeHandler = _ => $$"""
348+
private static readonly SqlMapperImplFunc JsonElementTypeHandler = _ => $$"""
349349
private class JsonElementTypeHandler : SqlMapper.TypeHandler<JsonElement>
350350
{
351351
public override JsonElement Parse(object value)
@@ -362,7 +362,7 @@ public override void SetValue(IDbDataParameter parameter, JsonElement value)
362362
}
363363
""";
364364

365-
private static readonly Func<bool, string> XmlDocumentTypeHandler = isDotnetCore => $$"""
365+
private static readonly SqlMapperImplFunc XmlDocumentTypeHandler = isDotnetCore => $$"""
366366
private class XmlDocumentTypeHandler : SqlMapper.TypeHandler<XmlDocument>
367367
{
368368
public override XmlDocument Parse(object value)
@@ -597,7 +597,7 @@ string AddRowsToCopyCommand()
597597
}
598598
}
599599

600-
public override Func<string, bool, bool, string>? GetWriterFn(Column column, Query query)
600+
public override WriterFn? GetWriterFn(Column column, Query query)
601601
{
602602
var csharpType = GetCsharpTypeWithoutNullableSuffix(column, query);
603603
var writerFn = ColumnMappings.GetValueOrDefault(csharpType)?.WriterFn;

0 commit comments

Comments
 (0)