joinViewAsSubquery() — drizzle-orm Function Reference
Architecture documentation for the joinViewAsSubquery() function in index.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD b3191ceb_fea1_64c4_4c90_9fbbec38e8f5["joinViewAsSubquery()"] 34f01008_7c45_3804_1fad_b8b59cd8a413["MyDurableObject"] b3191ceb_fea1_64c4_4c90_9fbbec38e8f5 -->|defined in| 34f01008_7c45_3804_1fad_b8b59cd8a413 7c7acbfe_6328_c8df_feba_552ee62a84d9["default.fetch()"] 7c7acbfe_6328_c8df_feba_552ee62a84d9 -->|calls| b3191ceb_fea1_64c4_4c90_9fbbec38e8f5 b19b108f_def7_3a32_99a3_c8be51ce2fbf["beforeEach()"] b3191ceb_fea1_64c4_4c90_9fbbec38e8f5 -->|calls| b19b108f_def7_3a32_99a3_c8be51ce2fbf style b3191ceb_fea1_64c4_4c90_9fbbec38e8f5 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
integration-tests/tests/sqlite/durable-objects/index.ts lines 2253–2311
async joinViewAsSubquery(): Promise<void> {
try {
await this.beforeEach();
const users = sqliteTable('users_join_view', {
id: integer('id').primaryKey(),
name: text('name').notNull(),
cityId: integer('city_id').notNull(),
});
const newYorkers = sqliteView('new_yorkers').as((qb) => qb.select().from(users).where(eq(users.cityId, 1)));
this.db.run(sql`drop table if exists ${users}`);
this.db.run(sql`drop view if exists ${newYorkers}`);
this.db.run(
sql`create table ${users} (id integer not null primary key, name text not null, city_id integer not null)`,
);
this.db.run(sql`create view if not exists ${newYorkers} as ${getViewConfig(newYorkers).query}`);
this.db
.insert(users)
.values([
{ name: 'John', cityId: 1 },
{ name: 'Jane', cityId: 2 },
{ name: 'Jack', cityId: 1 },
{ name: 'Jill', cityId: 2 },
])
.run();
const sq = this.db.select().from(newYorkers).as('new_yorkers_sq');
const result = await this.db.select().from(users).leftJoin(sq, eq(users.id, sq.id)).all();
expect(result).deep.equal([
{
users_join_view: { id: 1, name: 'John', cityId: 1 },
new_yorkers_sq: { id: 1, name: 'John', cityId: 1 },
},
{
users_join_view: { id: 2, name: 'Jane', cityId: 2 },
new_yorkers_sq: null,
},
{
users_join_view: { id: 3, name: 'Jack', cityId: 1 },
new_yorkers_sq: { id: 3, name: 'Jack', cityId: 1 },
},
{
users_join_view: { id: 4, name: 'Jill', cityId: 2 },
new_yorkers_sq: null,
},
]);
this.db.run(sql`drop view ${newYorkers}`);
this.db.run(sql`drop table ${users}`);
} catch (error: any) {
console.error(error);
throw new Error(`joinViewAsSubquery error`);
}
}
Domain
Subdomains
Calls
Called By
Source
Frequently Asked Questions
What does joinViewAsSubquery() do?
joinViewAsSubquery() is a function in the drizzle-orm codebase, defined in integration-tests/tests/sqlite/durable-objects/index.ts.
Where is joinViewAsSubquery() defined?
joinViewAsSubquery() is defined in integration-tests/tests/sqlite/durable-objects/index.ts at line 2253.
What does joinViewAsSubquery() call?
joinViewAsSubquery() calls 1 function(s): beforeEach.
What calls joinViewAsSubquery()?
joinViewAsSubquery() is called by 1 function(s): default.fetch.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free