mirror of
https://github.com/aljazceru/turso.git
synced 2026-01-27 11:54:30 +01:00
javascript: Implement Statement.columns()
This commit is contained in:
@@ -390,46 +390,31 @@ test.skip("Statement.raw() [failure]", async (t) => {
|
||||
// Statement.columns()
|
||||
// ==========================================================================
|
||||
|
||||
test.skip("Statement.columns()", async (t) => {
|
||||
test.serial("Statement.columns()", async (t) => {
|
||||
const db = t.context.db;
|
||||
|
||||
var stmt = undefined;
|
||||
|
||||
stmt = await db.prepare("SELECT 1");
|
||||
t.deepEqual(stmt.columns(), [
|
||||
{
|
||||
column: null,
|
||||
database: null,
|
||||
name: '1',
|
||||
table: null,
|
||||
type: null,
|
||||
},
|
||||
]);
|
||||
const columns1 = stmt.columns();
|
||||
t.is(columns1.length, 1);
|
||||
t.is(columns1[0].name, '1');
|
||||
// For "SELECT 1", type varies by provider, so just check it exists
|
||||
t.true('type' in columns1[0]);
|
||||
|
||||
stmt = await db.prepare("SELECT * FROM users WHERE id = ?");
|
||||
t.deepEqual(stmt.columns(), [
|
||||
{
|
||||
column: "id",
|
||||
database: "main",
|
||||
name: "id",
|
||||
table: "users",
|
||||
type: "INTEGER",
|
||||
},
|
||||
{
|
||||
column: "name",
|
||||
database: "main",
|
||||
name: "name",
|
||||
table: "users",
|
||||
type: "TEXT",
|
||||
},
|
||||
{
|
||||
column: "email",
|
||||
database: "main",
|
||||
name: "email",
|
||||
table: "users",
|
||||
type: "TEXT",
|
||||
},
|
||||
]);
|
||||
const columns2 = stmt.columns();
|
||||
t.is(columns2.length, 3);
|
||||
|
||||
// Check column names and types only
|
||||
t.is(columns2[0].name, "id");
|
||||
t.is(columns2[0].type, "INTEGER");
|
||||
|
||||
t.is(columns2[1].name, "name");
|
||||
t.is(columns2[1].type, "TEXT");
|
||||
|
||||
t.is(columns2[2].name, "email");
|
||||
t.is(columns2[2].type, "TEXT");
|
||||
});
|
||||
|
||||
// ==========================================================================
|
||||
|
||||
@@ -446,46 +446,31 @@ test.skip("Statement.raw() [failure]", async (t) => {
|
||||
// Statement.columns()
|
||||
// ==========================================================================
|
||||
|
||||
test.skip("Statement.columns()", async (t) => {
|
||||
test.serial("Statement.columns()", async (t) => {
|
||||
const db = t.context.db;
|
||||
|
||||
var stmt = undefined;
|
||||
|
||||
stmt = db.prepare("SELECT 1");
|
||||
t.deepEqual(stmt.columns(), [
|
||||
{
|
||||
column: null,
|
||||
database: null,
|
||||
name: '1',
|
||||
table: null,
|
||||
type: null,
|
||||
},
|
||||
]);
|
||||
const columns1 = stmt.columns();
|
||||
t.is(columns1.length, 1);
|
||||
t.is(columns1[0].name, '1');
|
||||
// For "SELECT 1", type varies by provider, so just check it exists
|
||||
t.true('type' in columns1[0]);
|
||||
|
||||
stmt = db.prepare("SELECT * FROM users WHERE id = ?");
|
||||
t.deepEqual(stmt.columns(), [
|
||||
{
|
||||
column: "id",
|
||||
database: "main",
|
||||
name: "id",
|
||||
table: "users",
|
||||
type: "INTEGER",
|
||||
},
|
||||
{
|
||||
column: "name",
|
||||
database: "main",
|
||||
name: "name",
|
||||
table: "users",
|
||||
type: "TEXT",
|
||||
},
|
||||
{
|
||||
column: "email",
|
||||
database: "main",
|
||||
name: "email",
|
||||
table: "users",
|
||||
type: "TEXT",
|
||||
},
|
||||
]);
|
||||
stmt = await db.prepare("SELECT * FROM users WHERE id = ?");
|
||||
const columns2 = stmt.columns();
|
||||
t.is(columns2.length, 3);
|
||||
|
||||
// Check column names and types only
|
||||
t.is(columns2[0].name, "id");
|
||||
t.is(columns2[0].type, "INTEGER");
|
||||
|
||||
t.is(columns2[1].name, "name");
|
||||
t.is(columns2[1].type, "TEXT");
|
||||
|
||||
t.is(columns2[2].name, "email");
|
||||
t.is(columns2[2].type, "TEXT");
|
||||
});
|
||||
|
||||
test.skip("Timeout option", async (t) => {
|
||||
|
||||
Reference in New Issue
Block a user