PgCreateIndPolicyConvertor Class — drizzle-orm Architecture
Architecture documentation for the PgCreateIndPolicyConvertor class in sqlgenerator.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD edb57f7c_c768_0b48_d2bc_7220861f9727["PgCreateIndPolicyConvertor"] fe4174c7_3b9c_5b26_98a0_b2395ca21939["sqlgenerator.ts"] edb57f7c_c768_0b48_d2bc_7220861f9727 -->|defined in| fe4174c7_3b9c_5b26_98a0_b2395ca21939 a077f899_4a61_2b1d_170e_fb05943c82f5["can()"] edb57f7c_c768_0b48_d2bc_7220861f9727 -->|method| a077f899_4a61_2b1d_170e_fb05943c82f5 81e6cc0b_4b4d_b95d_8ebc_52116ecb0fd0["convert()"] edb57f7c_c768_0b48_d2bc_7220861f9727 -->|method| 81e6cc0b_4b4d_b95d_8ebc_52116ecb0fd0
Relationship Graph
Source Code
drizzle-kit/src/sqlgenerator.ts lines 294–311
class PgCreateIndPolicyConvertor extends Convertor {
override can(statement: JsonStatement, dialect: Dialect): boolean {
return statement.type === 'create_ind_policy' && dialect === 'postgresql';
}
override convert(statement: JsonCreateIndPolicyStatement): string | string[] {
const policy = statement.data;
const usingPart = policy.using ? ` USING (${policy.using})` : '';
const withCheckPart = policy.withCheck ? ` WITH CHECK (${policy.withCheck})` : '';
const policyToPart = policy.to?.map((v) =>
['current_user', 'current_role', 'session_user', 'public'].includes(v) ? v : `"${v}"`
).join(', ');
return `CREATE POLICY "${policy.name}" ON ${policy.on} AS ${policy.as?.toUpperCase()} FOR ${policy.for?.toUpperCase()} TO ${policyToPart}${usingPart}${withCheckPart};`;
}
}
Domain
Defined In
Source
Frequently Asked Questions
What is the PgCreateIndPolicyConvertor class?
PgCreateIndPolicyConvertor is a class in the drizzle-orm codebase, defined in drizzle-kit/src/sqlgenerator.ts.
Where is PgCreateIndPolicyConvertor defined?
PgCreateIndPolicyConvertor is defined in drizzle-kit/src/sqlgenerator.ts at line 294.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free