Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit f7ce670

Browse files
committed
fix pgsql tests
1 parent 08e9176 commit f7ce670

File tree

6 files changed

+41
-15
lines changed

6 files changed

+41
-15
lines changed

src/ServiceStack.OrmLite.PostgreSQL/PostgreSQLDialectProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ public override void PrepareParameterizedInsertStatement<T>(IDbCommand cmd, ICol
288288
sbReturningColumns.Append(GetQuotedColumnName(fieldDef.FieldName));
289289
}
290290

291-
if (ShouldSkipInsert(fieldDef))
291+
if (ShouldSkipInsert(fieldDef) && !fieldDef.AutoId)
292292
continue;
293293

294294
if (sbColumnNames.Length > 0)

src/ServiceStack.OrmLite.SqlServer/SqlServerOrmLiteDialectProvider.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ public override string ToInsertRowStatement(IDbCommand cmd, object objWithProper
271271
sbReturningColumns.Append("INSERTED." + GetQuotedColumnName(fieldDef.FieldName));
272272
}
273273

274-
if (ShouldSkipInsert(fieldDef))
274+
if (ShouldSkipInsert(fieldDef) && !fieldDef.AutoId)
275275
continue;
276276

277277
if (sbColumnNames.Length > 0)
@@ -425,7 +425,7 @@ public override void PrepareInsertRowStatement<T>(IDbCommand dbCmd, Dictionary<s
425425
sbReturningColumns.Append("INSERTED." + GetQuotedColumnName(fieldDef.FieldName));
426426
}
427427

428-
if (ShouldSkipInsert(fieldDef))
428+
if (ShouldSkipInsert(fieldDef) && !fieldDef.AutoId)
429429
continue;
430430

431431
var value = entry.Value;

tests/ServiceStack.OrmLite.Tests/Async/AutoQueryTestsAsync.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ public async Task Can_Select_custom_fields_using_dynamic_Async()
151151
}
152152
else
153153
{
154-
sb.AppendLine(result.first_name + "," + result.last_name + "," + result.name);
154+
sb.AppendLine(result.first_name + "," + result.last_name + "," + result.Name);
155155
}
156156
}
157157

@@ -173,7 +173,7 @@ public async Task Can_Select_custom_fields_using_dynamic_Async()
173173
}
174174
else
175175
{
176-
sb.AppendLine(result.name);
176+
sb.AppendLine(result.Name);
177177
}
178178
}
179179

tests/ServiceStack.OrmLite.Tests/AutoIdTests.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Threading.Tasks;
33
using NUnit.Framework;
44
using ServiceStack.DataAnnotations;
5+
using ServiceStack.Text;
56

67
namespace ServiceStack.OrmLite.Tests
78
{
@@ -138,6 +139,27 @@ public void Uses_existing_Guid_Id_if_not_Empty()
138139
Assert.That(fromDb.Id, Is.EqualTo(existingGuid));
139140
}
140141
}
142+
143+
[Test]
144+
public void Uses_existing_Guid_Id_if_not_Empty_for_row_inserts()
145+
{
146+
using (var db = OpenDbConnection())
147+
{
148+
db.DropAndCreateTable<GuidAutoId>();
149+
150+
var existingGuid = Guid.NewGuid();
151+
var guidA = new GuidAutoId { Id = existingGuid, Name = "A" };
152+
153+
db.Exec(cmd => {
154+
cmd.CommandText = db.GetDialectProvider().ToInsertRowStatement(cmd, guidA);
155+
db.GetDialectProvider().SetParameterValues<GuidAutoId>(cmd, guidA);
156+
cmd.ExecuteNonQuery();
157+
});
158+
159+
var fromDb = db.SingleById<GuidAutoId>(existingGuid);
160+
Assert.That(fromDb.Id, Is.EqualTo(existingGuid));
161+
}
162+
}
141163
}
142164

143165
}

tests/ServiceStack.OrmLite.Tests/AutoQueryTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ public void Can_Select_custom_fields_using_dynamic()
372372
foreach (var result in results)
373373
{
374374
if (Dialect == Dialect.PostgreSql)
375-
sb.AppendLine(result.first_name + "," + result.last_name + "," + result.name);
375+
sb.AppendLine(result.first_name + "," + result.last_name + "," + result.Name);
376376
else if (Dialect == Dialect.Firebird)
377377
sb.AppendLine(result.FIRSTNAME + "," + result.LASTNAME + "," + result.NAME);
378378
else
@@ -392,7 +392,7 @@ public void Can_Select_custom_fields_using_dynamic()
392392
foreach (var result in results)
393393
{
394394
if (Dialect == Dialect.PostgreSql)
395-
sb.AppendLine(result.name);
395+
sb.AppendLine(result.Name);
396396
else if (Dialect == Dialect.Firebird)
397397
sb.AppendLine(result.NAME);
398398
else

tests/ServiceStack.OrmLite.Tests/Issues/JoinAliasIntIssue.cs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ public void Can_create_query_with_int_JoinAlias()
8080
[Test]
8181
public void Can_create_query_with_int_TableAlias()
8282
{
83+
OrmLiteUtils.PrintSql();
84+
8385
using (var db = OpenDbConnection())
8486
{
8587
db.DropAndCreateTable<Teamuser>();
@@ -114,21 +116,23 @@ public void Can_create_query_with_int_TableAlias()
114116
where: x => x.Id == 1);
115117

116118
var q = db.From<Team>();
117-
q.Join<Teamuser>((t, u) => t.Id == u.TeamId, db.TableAlias("Teamuser"));
118-
q.Join<Teamuser>((t, u) => t.TeamLeaderId == u.Id, db.TableAlias("Leader"));
119+
q.Join<Teamuser>((t, u) => t.Id == u.TeamId, db.TableAlias("tu"));
120+
q.Join<Teamuser>((t, u) => t.TeamLeaderId == u.Id, db.TableAlias("leader"));
119121
q.Where<Team, Teamuser>((t, u) => t.Id == Sql.TableAlias(u.TeamId, "Leader"));
120-
q.Where<Teamuser>(u => Sql.TableAlias(u.Id, "Leader") == 1);
121-
q.Where<Team, Teamuser>((t, u) => Sql.TableAlias(t.Id, q.DialectProvider.GetQuotedTableName(ModelDefinition<Team>.Definition)) == Sql.TableAlias(u.TeamId, "Leader")); // Workaround, but only works for fields, not constants
122-
q.Where<Team, Teamuser>((user, leader) => Sql.TableAlias(user.Id, "Teamuser") < Sql.TableAlias(leader.Id, "Leader"));
122+
q.Where<Teamuser>(u => Sql.TableAlias(u.Id, "leader") == 1);
123+
q.Where<Team, Teamuser>((t, u) => Sql.TableAlias(t.Id, q.DialectProvider.GetQuotedTableName(ModelDefinition<Team>.Definition)) == Sql.TableAlias(u.TeamId, "leader")); // Workaround, but only works for fields, not constants
124+
q.Where<Team, Teamuser>((user, leader) => Sql.TableAlias(user.Id, "tu") < Sql.TableAlias(leader.Id, "leader"));
123125
q.Select<Team, Teamuser, Teamuser>((t, u, l) => new
124126
{
125-
TeamName = Sql.As(t.Name, "TeamName"),
126-
UserName = Sql.As(u.Name, "UserName"),
127-
LeaderName = Sql.As(l.Name, "LeaderName")
127+
TeamName = t.Name,
128+
UserName = Sql.TableAlias(u.Name, "tu"),
129+
LeaderName = Sql.TableAlias(l.Name, "leader"),
128130
});
129131

130132
var results = db.Select<dynamic>(q);
131133
}
134+
135+
OrmLiteUtils.UnPrintSql();
132136
}
133137

134138
}

0 commit comments

Comments
 (0)