Files
dolthub--doltgresql/testing/postgres-client-tests/node/workbenchTests/views.js
T
2026-07-13 12:32:25 +08:00

197 lines
4.2 KiB
JavaScript

import {
doltCheckoutFields,
doltSchemasFields,
pgTablesFields,
} from "../fields.js";
export const viewsTests = [
{
q: "SELECT DOLT_CHECKOUT('-b', $1::text);",
p: ["more-updates"],
res: {
command: "SELECT",
rowCount: 1,
oid: null,
rows: [{ dolt_checkout: ["0", "Switched to branch 'more-updates'"] }],
fields: doltCheckoutFields,
},
},
{
q: "SELECT * FROM dolt_schemas LIMIT 10 OFFSET 0;",
res: {
command: "SELECT",
rowCount: 0,
oid: null,
rows: [],
fields: doltSchemasFields,
},
},
{
q: "CREATE VIEW myview AS SELECT * FROM test;",
res: {
command: "CREATE",
rowCount: null,
oid: null,
rows: [],
fields: [],
},
},
{
q: "SELECT * FROM dolt_schemas LIMIT 10 OFFSET 0",
res: {
command: "SELECT",
rowCount: 1,
oid: null,
rows: [
{
type: "view",
name: "myview",
fragment: "CREATE VIEW myview AS SELECT * FROM test",
extra: { CreatedAt: 0 },
sql_mode:
"NO_ENGINE_SUBSTITUTION,ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES",
},
],
fields: doltSchemasFields,
},
},
{
// Excludes views
q: "SELECT schemaname, tablename FROM pg_catalog.pg_tables where schemaname=$1;",
p: ["public"],
res: {
command: "SELECT",
rowCount: 2,
oid: null,
rows: [
{
schemaname: "public",
tablename: "test",
},
{
schemaname: "public",
tablename: "test_info",
},
],
fields: pgTablesFields,
},
},
{
// Includes views
q: "SELECT table_name FROM INFORMATION_SCHEMA.views WHERE table_schema = $1;",
p: ["public"],
res: {
command: "SELECT",
rowCount: 1,
oid: null,
rows: [{ table_name: "myview" }],
fields: [
{
name: "table_name",
tableID: 0,
columnID: 0,
dataTypeID: 1043,
dataTypeSize: 256,
dataTypeModifier: 68,
format: "text",
},
],
},
},
{
// Includes views
q: "SELECT viewname FROM pg_catalog.pg_views WHERE schemaname=$1;",
p: ["public"],
res: {
command: "SELECT",
rowCount: 1,
oid: null,
rows: [{ viewname: "myview" }],
fields: [
{
name: "viewname",
tableID: 0,
columnID: 0,
dataTypeID: 19,
dataTypeSize: 64,
dataTypeModifier: -1,
format: "text",
},
],
},
},
{
// Includes tables and views
q: "SELECT table_schema, table_name, table_type FROM INFORMATION_SCHEMA.tables WHERE table_schema = $1;",
p: ["public"],
res: {
command: "SELECT",
rowCount: 3,
oid: null,
rows: [
{ table_schema: "public", table_name: "myview", table_type: "VIEW" },
{
table_schema: "public",
table_name: "test",
table_type: "BASE TABLE",
},
{
table_schema: "public",
table_name: "test_info",
table_type: "BASE TABLE",
},
],
fields: [
{
name: "table_schema",
tableID: 0,
columnID: 0,
dataTypeID: 1043,
dataTypeSize: 256,
dataTypeModifier: 68,
format: "text",
},
{
name: "table_name",
tableID: 0,
columnID: 0,
dataTypeID: 1043,
dataTypeSize: 256,
dataTypeModifier: 68,
format: "text",
},
{
name: "table_type",
tableID: 0,
columnID: 0,
dataTypeID: 25,
dataTypeSize: -1,
dataTypeModifier: -1,
format: "text",
},
],
},
},
{
q: `SELECT pg_get_viewdef($1::regclass, true)`,
p: ["myview"],
res: {
command: "SELECT",
rowCount: 1,
oid: null,
rows: [{ pg_get_viewdef: "SELECT * FROM test" }],
fields: [
{
name: "pg_get_viewdef",
tableID: 0,
columnID: 0,
dataTypeID: 25,
dataTypeSize: -1,
dataTypeModifier: -1,
format: "text",
},
],
},
},
];