[sqlite] Generated columns additional tests.
This commit is contained in:
parent
71fb1c7cd1
commit
2eaa75345c
5 changed files with 16 additions and 12 deletions
|
|
@ -89,7 +89,7 @@ func (p sqliteQuerySet) GetTableColumnsMetaData(db *sql.DB, schemaName string, t
|
|||
var columns []metadata.Column
|
||||
|
||||
for _, columnInfo := range columnInfos {
|
||||
columnType := getColumnType(columnInfo.Type)
|
||||
columnType := strings.TrimSuffix(getColumnType(columnInfo.Type), " GENERATED ALWAYS")
|
||||
isGenerated := columnInfo.Hidden == 2 || columnInfo.Hidden == 3 // stored or virtual column
|
||||
|
||||
columns = append(columns, metadata.Column{
|
||||
|
|
|
|||
2
go.mod
2
go.mod
|
|
@ -7,7 +7,7 @@ require (
|
|||
github.com/google/uuid v1.3.0
|
||||
github.com/jackc/pgconn v1.14.0
|
||||
github.com/lib/pq v1.10.8
|
||||
github.com/mattn/go-sqlite3 v1.14.16
|
||||
github.com/mattn/go-sqlite3 v1.14.17
|
||||
)
|
||||
|
||||
// test dependencies
|
||||
|
|
|
|||
4
go.sum
4
go.sum
|
|
@ -102,8 +102,8 @@ github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope
|
|||
github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||
github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y=
|
||||
github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
|
||||
github.com/mattn/go-sqlite3 v1.14.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM=
|
||||
github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
|
||||
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/profile v1.7.0 h1:hnbDkaNWPCLMO9wGLdBFTIZvzDrDfBM2072E1S9gJkA=
|
||||
|
|
|
|||
|
|
@ -32,7 +32,8 @@ func TestMutableColumnsExcludeGeneratedColumn(t *testing.T) {
|
|||
SELECT people.people_id AS "people.people_id",
|
||||
people.people_name AS "people.people_name",
|
||||
people.people_height_cm AS "people.people_height_cm",
|
||||
people.people_height_in AS "people.people_height_in"
|
||||
people.people_height_inch AS "people.people_height_inch",
|
||||
people.people_height_feet AS "people.people_height_feet"
|
||||
FROM people
|
||||
WHERE people.people_id = ?;
|
||||
`)
|
||||
|
|
@ -43,7 +44,7 @@ WHERE people.people_id = ?;
|
|||
|
||||
require.Equal(t, "Carla", result.PeopleName)
|
||||
require.Equal(t, 155., *result.PeopleHeightCm)
|
||||
require.InEpsilon(t, 61.02, *result.PeopleHeightIn, 1e-3)
|
||||
require.InEpsilon(t, 61.02, *result.PeopleHeightInch, 1e-3)
|
||||
})
|
||||
|
||||
t.Run("should insert without generated columns", func(t *testing.T) {
|
||||
|
|
@ -53,7 +54,7 @@ WHERE people.people_id = ?;
|
|||
).MODEL(
|
||||
model.People{
|
||||
PeopleName: "Dario",
|
||||
PeopleHeightCm: testutils.Float64Ptr(120),
|
||||
PeopleHeightCm: testutils.Float64Ptr(190),
|
||||
},
|
||||
).RETURNING(
|
||||
People.AllColumns,
|
||||
|
|
@ -61,18 +62,21 @@ WHERE people.people_id = ?;
|
|||
|
||||
testutils.AssertDebugStatementSql(t, insertQuery, `
|
||||
INSERT INTO people (people_name, people_height_cm)
|
||||
VALUES ('Dario', 120)
|
||||
VALUES ('Dario', 190)
|
||||
RETURNING people.people_id AS "people.people_id",
|
||||
people.people_name AS "people.people_name",
|
||||
people.people_height_cm AS "people.people_height_cm",
|
||||
people.people_height_in AS "people.people_height_in";
|
||||
people.people_height_inch AS "people.people_height_inch",
|
||||
people.people_height_feet AS "people.people_height_feet";
|
||||
`)
|
||||
var result model.People
|
||||
err := insertQuery.Query(tx, &result)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, "Dario", result.PeopleName)
|
||||
require.Equal(t, 120., *result.PeopleHeightCm)
|
||||
require.Equal(t, 190., *result.PeopleHeightCm)
|
||||
require.InEpsilon(t, float32(74.80314), *result.PeopleHeightInch, 1e-3)
|
||||
require.InEpsilon(t, float32(6.233595), *result.PeopleHeightFeet, 1e-3)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -183,7 +183,7 @@ RETURNING link.id AS "link.id",
|
|||
BinaryOperator: 31,
|
||||
CastOperator: "20",
|
||||
LikeOperator: false,
|
||||
// IsNull: true, //TODO: uncomment when sqlite driver updates to sqlite version > 3.40.1
|
||||
IsNull: true,
|
||||
CaseOperator: "unknown",
|
||||
})
|
||||
requireLogged(t, stmt)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue