Skip to content

Commit

Permalink
Summary of the changes (#26566)
Browse files Browse the repository at this point in the history
- Generated SQL >> CREATE SEQUENCE wrong when using decimal
   was generating (18, 2) which SQL returned an error
- Added tests for int, long, short, byte, decimal

Fixes #26562
  • Loading branch information
bobbyangers committed Nov 8, 2021
1 parent c5aa799 commit dbc86fd
Show file tree
Hide file tree
Showing 4 changed files with 78 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -874,7 +874,7 @@ protected override void Generate(

builder
.Append(" AS ")
.Append(typeMapping.StoreType);
.Append(typeMapping.StoreTypeNameBase);
}

builder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1354,6 +1354,30 @@ public virtual Task Create_sequence()
Assert.Equal("TestSequence", sequence.Name);
});


[ConditionalFact]
public virtual Task Create_sequence_long()
=> Test(
builder => { },
builder => builder.HasSequence<long>("TestSequence"),
model =>
{
var sequence = Assert.Single(model.Sequences);
Assert.Equal("TestSequence", sequence.Name);
});

[ConditionalFact]
public virtual Task Create_sequence_short()
=> Test(
builder => { },
builder => builder.HasSequence<short>("TestSequence"),
model =>
{
var sequence = Assert.Single(model.Sequences);
Assert.Equal("TestSequence", sequence.Name);
});


[ConditionalFact]
public virtual Task Create_sequence_all_settings()
=> Test(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1765,6 +1765,53 @@ public override async Task Create_sequence()
@"CREATE SEQUENCE [TestSequence] AS int START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE;");
}

[ConditionalFact]
public async Task Create_sequence_byte()
{
await Test(
builder => { },
builder => builder.HasSequence<byte>("TestSequence"),
model =>
{
var sequence = Assert.Single(model.Sequences);
Assert.Equal("TestSequence", sequence.Name);
});
AssertSql(
@"CREATE SEQUENCE [TestSequence] AS tinyint START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE;");
}

[ConditionalFact]
public async Task Create_sequence_decimal()
{
await Test(
builder => { },
builder => builder.HasSequence<decimal>("TestSequence"),
model =>
{
var sequence = Assert.Single(model.Sequences);
Assert.Equal("TestSequence", sequence.Name);
});

AssertSql(
@"CREATE SEQUENCE [TestSequence] AS decimal START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE;");
}

public override async Task Create_sequence_long()
{
await base.Create_sequence_long();

AssertSql(
@"CREATE SEQUENCE [TestSequence] START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE;");
}

public override async Task Create_sequence_short()
{
await base.Create_sequence_short();

AssertSql(
@"CREATE SEQUENCE [TestSequence] AS smallint START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE;");
}

public override async Task Create_sequence_all_settings()
{
await base.Create_sequence_all_settings();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -922,6 +922,12 @@ await Test(
public override Task Create_sequence()
=> AssertNotSupportedAsync(base.Create_sequence, SqliteStrings.SequencesNotSupported);

public override Task Create_sequence_long()
=> AssertNotSupportedAsync(base.Create_sequence_long, SqliteStrings.SequencesNotSupported);

public override Task Create_sequence_short()
=> AssertNotSupportedAsync(base.Create_sequence_short, SqliteStrings.SequencesNotSupported);

public override Task Create_sequence_all_settings()
=> AssertNotSupportedAsync(base.Create_sequence_all_settings, SqliteStrings.SequencesNotSupported);

Expand Down

0 comments on commit dbc86fd

Please sign in to comment.