Skip to content

Commit e618035

Browse files
fix: add example of storing datetime value as Sqlite integer
1 parent 7712c7f commit e618035

14 files changed

Lines changed: 51 additions & 55 deletions

File tree

examples/SqliteDapperExample/QuerySql.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -575,7 +575,7 @@ public async Task InsertSqliteTypesBatch(List<InsertSqliteTypesBatchArgs> args)
575575
}
576576
}
577577

578-
private const string GetSqliteTypesSql = "SELECT c_integer, c_real, c_text, c_blob, created_at, updated_at FROM types_sqlite LIMIT 1";
578+
private const string GetSqliteTypesSql = "SELECT c_integer, c_real, c_text, c_blob, created_at, datetime(updated_at, 'unixepoch') AS updated_at FROM types_sqlite LIMIT 1";
579579
public class GetSqliteTypesRow
580580
{
581581
public int? CInteger { get; init; }
@@ -601,7 +601,7 @@ public class GetSqliteTypesRow
601601
return await this.Transaction.Connection.QueryFirstOrDefaultAsync<GetSqliteTypesRow?>(GetSqliteTypesSql, transaction: this.Transaction);
602602
}
603603

604-
private const string GetSqliteTypesCntSql = "SELECT c_integer, c_real, c_text, c_blob, COUNT(*) AS cnt FROM types_sqlite GROUP BY c_integer, c_real, c_text, c_blob LIMIT 1";
604+
private const string GetSqliteTypesCntSql = "SELECT c_integer, c_real, c_text, c_blob, count(*) AS cnt FROM types_sqlite GROUP BY c_integer, c_real, c_text, c_blob LIMIT 1";
605605
public class GetSqliteTypesCntRow
606606
{
607607
public int? CInteger { get; init; }
@@ -626,7 +626,7 @@ public class GetSqliteTypesCntRow
626626
return await this.Transaction.Connection.QueryFirstOrDefaultAsync<GetSqliteTypesCntRow?>(GetSqliteTypesCntSql, transaction: this.Transaction);
627627
}
628628

629-
private const string GetSqliteFunctionsSql = "SELECT MAX(c_integer) AS max_integer, MAX(c_real) AS max_real, MAX(c_text) AS max_text FROM types_sqlite";
629+
private const string GetSqliteFunctionsSql = "SELECT max(c_integer) AS max_integer, max(c_real) AS max_real, max(c_text) AS max_text FROM types_sqlite";
630630
public class GetSqliteFunctionsRow
631631
{
632632
public int? MaxInteger { get; init; }

examples/SqliteDapperExample/request.json

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1115,7 +1115,7 @@
11151115
}
11161116
},
11171117
{
1118-
"text": "SELECT c_integer, c_real, c_text, c_blob, created_at, updated_at FROM types_sqlite LIMIT 1",
1118+
"text": "SELECT\n c_integer,\n c_real,\n c_text,\n c_blob,\n created_at,\n datetime(updated_at, 'unixepoch') AS updated_at\nFROM types_sqlite\nLIMIT 1",
11191119
"name": "GetSqliteTypes",
11201120
"cmd": ":one",
11211121
"columns": [
@@ -1177,19 +1177,16 @@
11771177
{
11781178
"name": "updated_at",
11791179
"length": -1,
1180-
"table": {
1181-
"name": "types_sqlite"
1182-
},
1180+
"isFuncCall": true,
11831181
"type": {
1184-
"name": "INTEGER"
1185-
},
1186-
"originalName": "updated_at"
1182+
"name": "any"
1183+
}
11871184
}
11881185
],
11891186
"filename": "query.sql"
11901187
},
11911188
{
1192-
"text": "SELECT\n c_integer,\n c_real,\n c_text,\n c_blob,\n COUNT(*) AS cnt\nFROM types_sqlite\nGROUP BY c_integer, c_real, c_text, c_blob\nLIMIT 1",
1189+
"text": "SELECT\n c_integer,\n c_real,\n c_text,\n c_blob,\n count(*) AS cnt\nFROM types_sqlite\nGROUP BY c_integer, c_real, c_text, c_blob\nLIMIT 1",
11931190
"name": "GetSqliteTypesCnt",
11941191
"cmd": ":one",
11951192
"columns": [
@@ -1250,7 +1247,7 @@
12501247
"filename": "query.sql"
12511248
},
12521249
{
1253-
"text": "SELECT\n MAX(c_integer) AS max_integer,\n MAX(c_real) AS max_real,\n MAX(c_text) AS max_text\nFROM types_sqlite",
1250+
"text": "SELECT\n max(c_integer) AS max_integer,\n max(c_real) AS max_real,\n max(c_text) AS max_text\nFROM types_sqlite",
12541251
"name": "GetSqliteFunctions",
12551252
"cmd": ":one",
12561253
"columns": [
32 Bytes
Binary file not shown.

examples/SqliteDapperLegacyExample/QuerySql.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -576,7 +576,7 @@ public async Task InsertSqliteTypesBatch(List<InsertSqliteTypesBatchArgs> args)
576576
}
577577
}
578578

579-
private const string GetSqliteTypesSql = "SELECT c_integer, c_real, c_text, c_blob, created_at, updated_at FROM types_sqlite LIMIT 1";
579+
private const string GetSqliteTypesSql = "SELECT c_integer, c_real, c_text, c_blob, created_at, datetime(updated_at, 'unixepoch') AS updated_at FROM types_sqlite LIMIT 1";
580580
public class GetSqliteTypesRow
581581
{
582582
public int? CInteger { get; set; }
@@ -602,7 +602,7 @@ public async Task<GetSqliteTypesRow> GetSqliteTypes()
602602
return await this.Transaction.Connection.QueryFirstOrDefaultAsync<GetSqliteTypesRow>(GetSqliteTypesSql, transaction: this.Transaction);
603603
}
604604

605-
private const string GetSqliteTypesCntSql = "SELECT c_integer, c_real, c_text, c_blob, COUNT(*) AS cnt FROM types_sqlite GROUP BY c_integer, c_real, c_text, c_blob LIMIT 1";
605+
private const string GetSqliteTypesCntSql = "SELECT c_integer, c_real, c_text, c_blob, count(*) AS cnt FROM types_sqlite GROUP BY c_integer, c_real, c_text, c_blob LIMIT 1";
606606
public class GetSqliteTypesCntRow
607607
{
608608
public int? CInteger { get; set; }
@@ -627,7 +627,7 @@ public async Task<GetSqliteTypesCntRow> GetSqliteTypesCnt()
627627
return await this.Transaction.Connection.QueryFirstOrDefaultAsync<GetSqliteTypesCntRow>(GetSqliteTypesCntSql, transaction: this.Transaction);
628628
}
629629

630-
private const string GetSqliteFunctionsSql = "SELECT MAX(c_integer) AS max_integer, MAX(c_real) AS max_real, MAX(c_text) AS max_text FROM types_sqlite";
630+
private const string GetSqliteFunctionsSql = "SELECT max(c_integer) AS max_integer, max(c_real) AS max_real, max(c_text) AS max_text FROM types_sqlite";
631631
public class GetSqliteFunctionsRow
632632
{
633633
public int? MaxInteger { get; set; }

examples/SqliteDapperLegacyExample/request.json

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1115,7 +1115,7 @@
11151115
}
11161116
},
11171117
{
1118-
"text": "SELECT c_integer, c_real, c_text, c_blob, created_at, updated_at FROM types_sqlite LIMIT 1",
1118+
"text": "SELECT\n c_integer,\n c_real,\n c_text,\n c_blob,\n created_at,\n datetime(updated_at, 'unixepoch') AS updated_at\nFROM types_sqlite\nLIMIT 1",
11191119
"name": "GetSqliteTypes",
11201120
"cmd": ":one",
11211121
"columns": [
@@ -1177,19 +1177,16 @@
11771177
{
11781178
"name": "updated_at",
11791179
"length": -1,
1180-
"table": {
1181-
"name": "types_sqlite"
1182-
},
1180+
"isFuncCall": true,
11831181
"type": {
1184-
"name": "INTEGER"
1185-
},
1186-
"originalName": "updated_at"
1182+
"name": "any"
1183+
}
11871184
}
11881185
],
11891186
"filename": "query.sql"
11901187
},
11911188
{
1192-
"text": "SELECT\n c_integer,\n c_real,\n c_text,\n c_blob,\n COUNT(*) AS cnt\nFROM types_sqlite\nGROUP BY c_integer, c_real, c_text, c_blob\nLIMIT 1",
1189+
"text": "SELECT\n c_integer,\n c_real,\n c_text,\n c_blob,\n count(*) AS cnt\nFROM types_sqlite\nGROUP BY c_integer, c_real, c_text, c_blob\nLIMIT 1",
11931190
"name": "GetSqliteTypesCnt",
11941191
"cmd": ":one",
11951192
"columns": [
@@ -1250,7 +1247,7 @@
12501247
"filename": "query.sql"
12511248
},
12521249
{
1253-
"text": "SELECT\n MAX(c_integer) AS max_integer,\n MAX(c_real) AS max_real,\n MAX(c_text) AS max_text\nFROM types_sqlite",
1250+
"text": "SELECT\n max(c_integer) AS max_integer,\n max(c_real) AS max_real,\n max(c_text) AS max_text\nFROM types_sqlite",
12541251
"name": "GetSqliteFunctions",
12551252
"cmd": ":one",
12561253
"columns": [
32 Bytes
Binary file not shown.

examples/SqliteExample/QuerySql.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -740,7 +740,7 @@ public async Task InsertSqliteTypesBatch(List<InsertSqliteTypesBatchArgs> args)
740740
}
741741
}
742742

743-
private const string GetSqliteTypesSql = "SELECT c_integer, c_real, c_text, c_blob, created_at, updated_at FROM types_sqlite LIMIT 1";
743+
private const string GetSqliteTypesSql = "SELECT c_integer, c_real, c_text, c_blob, created_at, datetime(updated_at, 'unixepoch') AS updated_at FROM types_sqlite LIMIT 1";
744744
public readonly record struct GetSqliteTypesRow(int? CInteger, decimal? CReal, string? CText, byte[]? CBlob, DateTime CreatedAt, DateTime? UpdatedAt);
745745
public async Task<GetSqliteTypesRow?> GetSqliteTypes()
746746
{
@@ -798,7 +798,7 @@ public async Task InsertSqliteTypesBatch(List<InsertSqliteTypesBatchArgs> args)
798798
return null;
799799
}
800800

801-
private const string GetSqliteTypesCntSql = "SELECT c_integer, c_real, c_text, c_blob, COUNT(*) AS cnt FROM types_sqlite GROUP BY c_integer, c_real, c_text, c_blob LIMIT 1";
801+
private const string GetSqliteTypesCntSql = "SELECT c_integer, c_real, c_text, c_blob, count(*) AS cnt FROM types_sqlite GROUP BY c_integer, c_real, c_text, c_blob LIMIT 1";
802802
public readonly record struct GetSqliteTypesCntRow(int? CInteger, decimal? CReal, string? CText, byte[]? CBlob, int Cnt);
803803
public async Task<GetSqliteTypesCntRow?> GetSqliteTypesCnt()
804804
{
@@ -854,7 +854,7 @@ public async Task InsertSqliteTypesBatch(List<InsertSqliteTypesBatchArgs> args)
854854
return null;
855855
}
856856

857-
private const string GetSqliteFunctionsSql = "SELECT MAX(c_integer) AS max_integer, MAX(c_real) AS max_real, MAX(c_text) AS max_text FROM types_sqlite";
857+
private const string GetSqliteFunctionsSql = "SELECT max(c_integer) AS max_integer, max(c_real) AS max_real, max(c_text) AS max_text FROM types_sqlite";
858858
public readonly record struct GetSqliteFunctionsRow(int? MaxInteger, decimal MaxReal, object? MaxText);
859859
public async Task<GetSqliteFunctionsRow?> GetSqliteFunctions()
860860
{

examples/SqliteExample/request.json

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1115,7 +1115,7 @@
11151115
}
11161116
},
11171117
{
1118-
"text": "SELECT c_integer, c_real, c_text, c_blob, created_at, updated_at FROM types_sqlite LIMIT 1",
1118+
"text": "SELECT\n c_integer,\n c_real,\n c_text,\n c_blob,\n created_at,\n datetime(updated_at, 'unixepoch') AS updated_at\nFROM types_sqlite\nLIMIT 1",
11191119
"name": "GetSqliteTypes",
11201120
"cmd": ":one",
11211121
"columns": [
@@ -1177,19 +1177,16 @@
11771177
{
11781178
"name": "updated_at",
11791179
"length": -1,
1180-
"table": {
1181-
"name": "types_sqlite"
1182-
},
1180+
"isFuncCall": true,
11831181
"type": {
1184-
"name": "INTEGER"
1185-
},
1186-
"originalName": "updated_at"
1182+
"name": "any"
1183+
}
11871184
}
11881185
],
11891186
"filename": "query.sql"
11901187
},
11911188
{
1192-
"text": "SELECT\n c_integer,\n c_real,\n c_text,\n c_blob,\n COUNT(*) AS cnt\nFROM types_sqlite\nGROUP BY c_integer, c_real, c_text, c_blob\nLIMIT 1",
1189+
"text": "SELECT\n c_integer,\n c_real,\n c_text,\n c_blob,\n count(*) AS cnt\nFROM types_sqlite\nGROUP BY c_integer, c_real, c_text, c_blob\nLIMIT 1",
11931190
"name": "GetSqliteTypesCnt",
11941191
"cmd": ":one",
11951192
"columns": [
@@ -1250,7 +1247,7 @@
12501247
"filename": "query.sql"
12511248
},
12521249
{
1253-
"text": "SELECT\n MAX(c_integer) AS max_integer,\n MAX(c_real) AS max_real,\n MAX(c_text) AS max_text\nFROM types_sqlite",
1250+
"text": "SELECT\n max(c_integer) AS max_integer,\n max(c_real) AS max_real,\n max(c_text) AS max_text\nFROM types_sqlite",
12541251
"name": "GetSqliteFunctions",
12551252
"cmd": ":one",
12561253
"columns": [
32 Bytes
Binary file not shown.

examples/SqliteLegacyExample/QuerySql.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -853,7 +853,7 @@ public async Task InsertSqliteTypesBatch(List<InsertSqliteTypesBatchArgs> args)
853853
}
854854
}
855855

856-
private const string GetSqliteTypesSql = "SELECT c_integer, c_real, c_text, c_blob, created_at, updated_at FROM types_sqlite LIMIT 1";
856+
private const string GetSqliteTypesSql = "SELECT c_integer, c_real, c_text, c_blob, created_at, datetime(updated_at, 'unixepoch') AS updated_at FROM types_sqlite LIMIT 1";
857857
public class GetSqliteTypesRow
858858
{
859859
public int? CInteger { get; set; }
@@ -919,7 +919,7 @@ public async Task<GetSqliteTypesRow> GetSqliteTypes()
919919
return null;
920920
}
921921

922-
private const string GetSqliteTypesCntSql = "SELECT c_integer, c_real, c_text, c_blob, COUNT(*) AS cnt FROM types_sqlite GROUP BY c_integer, c_real, c_text, c_blob LIMIT 1";
922+
private const string GetSqliteTypesCntSql = "SELECT c_integer, c_real, c_text, c_blob, count(*) AS cnt FROM types_sqlite GROUP BY c_integer, c_real, c_text, c_blob LIMIT 1";
923923
public class GetSqliteTypesCntRow
924924
{
925925
public int? CInteger { get; set; }
@@ -982,7 +982,7 @@ public async Task<GetSqliteTypesCntRow> GetSqliteTypesCnt()
982982
return null;
983983
}
984984

985-
private const string GetSqliteFunctionsSql = "SELECT MAX(c_integer) AS max_integer, MAX(c_real) AS max_real, MAX(c_text) AS max_text FROM types_sqlite";
985+
private const string GetSqliteFunctionsSql = "SELECT max(c_integer) AS max_integer, max(c_real) AS max_real, max(c_text) AS max_text FROM types_sqlite";
986986
public class GetSqliteFunctionsRow
987987
{
988988
public int? MaxInteger { get; set; }

0 commit comments

Comments
 (0)