[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
|
var columns []metadata.Column
|
||||||
|
|
||||||
for _, columnInfo := range columnInfos {
|
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
|
isGenerated := columnInfo.Hidden == 2 || columnInfo.Hidden == 3 // stored or virtual column
|
||||||
|
|
||||||
columns = append(columns, metadata.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/google/uuid v1.3.0
|
||||||
github.com/jackc/pgconn v1.14.0
|
github.com/jackc/pgconn v1.14.0
|
||||||
github.com/lib/pq v1.10.8
|
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
|
// 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.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.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||||
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
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.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM=
|
||||||
github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
|
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 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
|
||||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
github.com/pkg/profile v1.7.0 h1:hnbDkaNWPCLMO9wGLdBFTIZvzDrDfBM2072E1S9gJkA=
|
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",
|
SELECT people.people_id AS "people.people_id",
|
||||||
people.people_name AS "people.people_name",
|
people.people_name AS "people.people_name",
|
||||||
people.people_height_cm AS "people.people_height_cm",
|
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
|
FROM people
|
||||||
WHERE people.people_id = ?;
|
WHERE people.people_id = ?;
|
||||||
`)
|
`)
|
||||||
|
|
@ -43,7 +44,7 @@ WHERE people.people_id = ?;
|
||||||
|
|
||||||
require.Equal(t, "Carla", result.PeopleName)
|
require.Equal(t, "Carla", result.PeopleName)
|
||||||
require.Equal(t, 155., *result.PeopleHeightCm)
|
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) {
|
t.Run("should insert without generated columns", func(t *testing.T) {
|
||||||
|
|
@ -53,7 +54,7 @@ WHERE people.people_id = ?;
|
||||||
).MODEL(
|
).MODEL(
|
||||||
model.People{
|
model.People{
|
||||||
PeopleName: "Dario",
|
PeopleName: "Dario",
|
||||||
PeopleHeightCm: testutils.Float64Ptr(120),
|
PeopleHeightCm: testutils.Float64Ptr(190),
|
||||||
},
|
},
|
||||||
).RETURNING(
|
).RETURNING(
|
||||||
People.AllColumns,
|
People.AllColumns,
|
||||||
|
|
@ -61,18 +62,21 @@ WHERE people.people_id = ?;
|
||||||
|
|
||||||
testutils.AssertDebugStatementSql(t, insertQuery, `
|
testutils.AssertDebugStatementSql(t, insertQuery, `
|
||||||
INSERT INTO people (people_name, people_height_cm)
|
INSERT INTO people (people_name, people_height_cm)
|
||||||
VALUES ('Dario', 120)
|
VALUES ('Dario', 190)
|
||||||
RETURNING people.people_id AS "people.people_id",
|
RETURNING people.people_id AS "people.people_id",
|
||||||
people.people_name AS "people.people_name",
|
people.people_name AS "people.people_name",
|
||||||
people.people_height_cm AS "people.people_height_cm",
|
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
|
var result model.People
|
||||||
err := insertQuery.Query(tx, &result)
|
err := insertQuery.Query(tx, &result)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
require.Equal(t, "Dario", result.PeopleName)
|
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,8 +183,8 @@ RETURNING link.id AS "link.id",
|
||||||
BinaryOperator: 31,
|
BinaryOperator: 31,
|
||||||
CastOperator: "20",
|
CastOperator: "20",
|
||||||
LikeOperator: false,
|
LikeOperator: false,
|
||||||
// IsNull: true, //TODO: uncomment when sqlite driver updates to sqlite version > 3.40.1
|
IsNull: true,
|
||||||
CaseOperator: "unknown",
|
CaseOperator: "unknown",
|
||||||
})
|
})
|
||||||
requireLogged(t, stmt)
|
requireLogged(t, stmt)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue