Home / Class/ CreateSingleStoreIndexConvertor Class — drizzle-orm Architecture

CreateSingleStoreIndexConvertor Class — drizzle-orm Architecture

Architecture documentation for the CreateSingleStoreIndexConvertor class in sqlgenerator.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  609606fd_c629_25a5_8b37_8bb01b985d91["CreateSingleStoreIndexConvertor"]
  fe4174c7_3b9c_5b26_98a0_b2395ca21939["sqlgenerator.ts"]
  609606fd_c629_25a5_8b37_8bb01b985d91 -->|defined in| fe4174c7_3b9c_5b26_98a0_b2395ca21939
  932b7e74_2c69_08ae_e502_015cd19f0e9c["can()"]
  609606fd_c629_25a5_8b37_8bb01b985d91 -->|method| 932b7e74_2c69_08ae_e502_015cd19f0e9c
  72e1e23d_7ba6_fa10_d6b1_419cd650a8b5["convert()"]
  609606fd_c629_25a5_8b37_8bb01b985d91 -->|method| 72e1e23d_7ba6_fa10_d6b1_419cd650a8b5

Relationship Graph

Source Code

drizzle-kit/src/sqlgenerator.ts lines 3579–3603

export class CreateSingleStoreIndexConvertor extends Convertor {
	can(statement: JsonStatement, dialect: Dialect): boolean {
		return statement.type === 'create_index' && dialect === 'singlestore';
	}

	convert(statement: JsonCreateIndexStatement): string {
		// should be changed
		const { name, columns, isUnique } = SingleStoreSquasher.unsquashIdx(
			statement.data,
		);
		const indexPart = isUnique ? 'UNIQUE INDEX' : 'INDEX';

		const uniqueString = columns
			.map((it) => {
				return statement.internal?.indexes
					? statement.internal?.indexes[name]?.columns[it]?.isExpression
						? it
						: `\`${it}\``
					: `\`${it}\``;
			})
			.join(',');

		return `CREATE ${indexPart} \`${name}\` ON \`${statement.tableName}\` (${uniqueString});`;
	}
}

Domain

Frequently Asked Questions

What is the CreateSingleStoreIndexConvertor class?
CreateSingleStoreIndexConvertor is a class in the drizzle-orm codebase, defined in drizzle-kit/src/sqlgenerator.ts.
Where is CreateSingleStoreIndexConvertor defined?
CreateSingleStoreIndexConvertor is defined in drizzle-kit/src/sqlgenerator.ts at line 3579.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free