Skip to content

Commit 7709205

Browse files
authored
Merge pull request #68 from cloud11665/main
fix cast to i32
2 parents f4ff8ad + 0668636 commit 7709205

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,7 @@ fn convert_row(py: Python, row: libsql_core::Row, column_count: i32) -> PyResult
448448
let libsql_value = row.get_value(col_idx).map_err(to_py_err)?;
449449
let value = match libsql_value {
450450
libsql_core::Value::Integer(v) => {
451-
let value = v as i32;
451+
let value = v as i64;
452452
value.into_py(py)
453453
}
454454
libsql_core::Value::Real(v) => v.into_py(py),

tests/test_suite.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,15 @@ def test_fetch_expression(provider):
173173
res = cur.execute("SELECT QUOTE(email) FROM users")
174174
assert [("'alice@example.com'",)] == res.fetchall()
175175

176+
@pytest.mark.parametrize("provider", ["libsql", "sqlite"])
177+
def test_int64(provider):
178+
conn = connect(provider, ":memory:")
179+
cur = conn.cursor()
180+
cur.execute("CREATE TABLE data (id INTEGER, number INTEGER)")
181+
conn.commit()
182+
cur.execute("INSERT INTO data VALUES (1, 1099511627776)") # 1 << 40
183+
res = cur.execute("SELECT * FROM data")
184+
assert [(1,1099511627776)] == res.fetchall()
176185

177186
def connect(provider, database, isolation_level='DEFERRED'):
178187
if provider == "libsql-remote":

0 commit comments

Comments
 (0)