{"id":"8f9b7e6143a49632","repo":"drizzle-team/drizzle-orm","slug":"not-implemented","errorCode":null,"errorMessage":"not implemented","messagePattern":"not implemented","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"drizzle-orm/src/singlestore-core/columns/vector.ts","lineNumber":41,"sourceCode":"\tconstructor(name: T['name'], config: SingleStoreVectorConfig) {\n\t\tsuper(name, 'array', 'SingleStoreVector');\n\t\tthis.config.dimensions = config.dimensions;\n\t\tthis.config.elementType = config.elementType;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreVector<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SingleStoreVector<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n\n\t/** @internal */\n\toverride generatedAlwaysAs(as: SQL<unknown> | (() => SQL) | T['data'], config?: SingleStoreGeneratedColumnConfig) {\n\t\tthrow new Error('not implemented');\n\t}\n}\n\nexport class SingleStoreVector<T extends ColumnBaseConfig<'array', 'SingleStoreVector'>>\n\textends SingleStoreColumn<T, SingleStoreVectorConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreVector';\n\n\tdimensions: number = this.config.dimensions;\n\telementType: ElementType | undefined = this.config.elementType;\n\n\tgetSQLType(): string {\n\t\treturn `vector(${this.dimensions}, ${this.elementType || 'F32'})`;\n\t}\n\n\toverride mapToDriverValue(value: Array<number>) {\n\t\treturn JSON.stringify(value);\n\t}","sourceCodeStart":23,"sourceCodeEnd":59,"githubUrl":"https://github.com/drizzle-team/drizzle-orm/blob/b7862528fd8fc39bc2653a6c18dad7c1f4e68d10/drizzle-orm/src/singlestore-core/columns/vector.ts#L23-L59","documentation":"Thrown by SingleStoreVectorBuilder.generatedAlwaysAs() at vector.ts:41, which unconditionally raises `new Error('not implemented')`. The vector column type does not support generated/computed column expressions, so the override exists only to satisfy the builder base class signature while explicitly blocking the feature. Calling it is always a programmer error, not a runtime condition.","triggerScenarios":"Defining a SingleStore vector column and chaining `.generatedAlwaysAs(...)` on the builder, e.g. `` vector('embedding', { dimensions: 128 }).generatedAlwaysAs(sql`...`) ``. Also reachable if generic column-processing code invokes generatedAlwaysAs on every column builder regardless of type.","commonSituations":"Copying a generated-column pattern from a non-vector column (integer/text/json) onto a vector column; generic schema factories that apply generatedAlwaysAs uniformly; migrating a schema that used generated columns and adding a new vector field with the same modifier.","solutions":["Remove the `.generatedAlwaysAs(...)` call from the vector column builder; vector columns cannot be generated.","If you need a derived vector, compute it in application code or a trigger/view outside Drizzle's column definition.","If using a generic factory, skip generatedAlwaysAs when the column builder's columnType is 'SingleStoreVector'."],"exampleFix":"// before\nexport const items = singlestoreTable('items', {\n  embedding: vector('embedding', { dimensions: 128 }).generatedAlwaysAs(sql`...`),\n});\n// after\nexport const items = singlestoreTable('items', {\n  embedding: vector('embedding', { dimensions: 128 }),\n});","handlingStrategy":"validation","validationCode":"import { is } from 'drizzle-orm/entity';\n// Before applying generatedAlwaysAs generically, skip vector columns\nfunction safeGenerated(builder, expr) {\n  if (builder && builder.config && builder.config.columnType === 'SingleStoreVector') {\n    return builder; // vector columns do not support generatedAlwaysAs\n  }\n  return builder.generatedAlwaysAs(expr);\n}","typeGuard":"function supportsGeneratedAlwaysAs(builder): boolean {\n  return builder?.config?.columnType !== 'SingleStoreVector';\n}","tryCatchPattern":null,"preventionTips":["Never chain .generatedAlwaysAs() on a vector() column builder.","In generic schema factories, branch on columnType before applying generated modifiers.","Keep vector column definitions minimal: only dimensions/elementType."],"tags":["singlestore","vector","generated-column","api-misuse"],"analyzedSha":"b7862528fd8fc39bc2653a6c18dad7c1f4e68d10","analyzedAt":"2026-08-03T18:11:14.318Z","schemaVersion":2}