Skip to content

Commit

Permalink
Remove unsupported API
Browse files Browse the repository at this point in the history
AndriiSherman committed Nov 25, 2024
1 parent 59979c3 commit 19baeea
Showing 29 changed files with 98 additions and 466 deletions.
23 changes: 1 addition & 22 deletions drizzle-orm/src/singlestore-core/columns/bigint.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,7 @@
import type {
ColumnBuilderBaseConfig,
ColumnBuilderRuntimeConfig,
GeneratedColumnConfig,
HasGenerated,
MakeColumnConfig,
} from '~/column-builder.ts';
import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';
import type { ColumnBaseConfig } from '~/column.ts';
import { entityKind } from '~/entity.ts';
import type { AnySingleStoreTable } from '~/singlestore-core/table.ts';
import type { SQL } from '~/sql/index.ts';
import { getColumnNameAndConfig } from '~/utils.ts';
import { SingleStoreColumnBuilderWithAutoIncrement, SingleStoreColumnWithAutoIncrement } from './common.ts';

@@ -25,13 +18,6 @@ export type SingleStoreBigInt53BuilderInitial<TName extends string> = SingleStor
export class SingleStoreBigInt53Builder<T extends ColumnBuilderBaseConfig<'number', 'SingleStoreBigInt53'>>
extends SingleStoreColumnBuilderWithAutoIncrement<T, { unsigned: boolean }>
{
// eslint-disable-next-line @typescript-eslint/no-unused-vars
override generatedAlwaysAs(
as: SQL<unknown> | (() => SQL) | T['data'],
config?: Partial<GeneratedColumnConfig<unknown>>,
): HasGenerated<this, {}> {
throw new Error('Method not implemented.');
}
static override readonly [entityKind]: string = 'SingleStoreBigInt53Builder';

constructor(name: T['name'], unsigned: boolean = false) {
@@ -80,13 +66,6 @@ export type SingleStoreBigInt64BuilderInitial<TName extends string> = SingleStor
export class SingleStoreBigInt64Builder<T extends ColumnBuilderBaseConfig<'bigint', 'SingleStoreBigInt64'>>
extends SingleStoreColumnBuilderWithAutoIncrement<T, { unsigned: boolean }>
{
// eslint-disable-next-line @typescript-eslint/no-unused-vars
override generatedAlwaysAs(
as: SQL<unknown> | (() => SQL) | T['data'],
config?: Partial<GeneratedColumnConfig<unknown>>,
): HasGenerated<this, {}> {
throw new Error('Method not implemented.');
}
static override readonly [entityKind]: string = 'SingleStoreBigInt64Builder';

constructor(name: T['name'], unsigned: boolean = false) {
16 changes: 1 addition & 15 deletions drizzle-orm/src/singlestore-core/columns/binary.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,7 @@
import type {
ColumnBuilderBaseConfig,
ColumnBuilderRuntimeConfig,
GeneratedColumnConfig,
HasGenerated,
MakeColumnConfig,
} from '~/column-builder.ts';
import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';
import type { ColumnBaseConfig } from '~/column.ts';
import { entityKind } from '~/entity.ts';
import type { AnySingleStoreTable } from '~/singlestore-core/table.ts';
import type { SQL } from '~/sql/index.ts';
import { getColumnNameAndConfig } from '~/utils.ts';
import { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';

@@ -28,13 +21,6 @@ export class SingleStoreBinaryBuilder<T extends ColumnBuilderBaseConfig<'string'
SingleStoreBinaryConfig
>
{
// eslint-disable-next-line @typescript-eslint/no-unused-vars
override generatedAlwaysAs(
as: SQL<unknown> | (() => SQL) | T['data'],
config?: Partial<GeneratedColumnConfig<unknown>>,
): HasGenerated<this, {}> {
throw new Error('Method not implemented.');
}
static override readonly [entityKind]: string = 'SingleStoreBinaryBuilder';

constructor(name: T['name'], length: number | undefined) {
16 changes: 1 addition & 15 deletions drizzle-orm/src/singlestore-core/columns/boolean.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,7 @@
import type {
ColumnBuilderBaseConfig,
ColumnBuilderRuntimeConfig,
GeneratedColumnConfig,
HasGenerated,
MakeColumnConfig,
} from '~/column-builder.ts';
import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';
import type { ColumnBaseConfig } from '~/column.ts';
import { entityKind } from '~/entity.ts';
import type { AnySingleStoreTable } from '~/singlestore-core/table.ts';
import type { SQL } from '~/sql/index.ts';
import { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';

export type SingleStoreBooleanBuilderInitial<TName extends string> = SingleStoreBooleanBuilder<{
@@ -24,13 +17,6 @@ export type SingleStoreBooleanBuilderInitial<TName extends string> = SingleStore
export class SingleStoreBooleanBuilder<T extends ColumnBuilderBaseConfig<'boolean', 'SingleStoreBoolean'>>
extends SingleStoreColumnBuilder<T>
{
// eslint-disable-next-line @typescript-eslint/no-unused-vars
override generatedAlwaysAs(
as: SQL<unknown> | (() => SQL) | T['data'],
config?: Partial<GeneratedColumnConfig<unknown>>,
): HasGenerated<this, {}> {
throw new Error('Method not implemented.');
}
static override readonly [entityKind]: string = 'SingleStoreBooleanBuilder';

constructor(name: T['name']) {
16 changes: 1 addition & 15 deletions drizzle-orm/src/singlestore-core/columns/char.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,7 @@
import type {
ColumnBuilderBaseConfig,
ColumnBuilderRuntimeConfig,
GeneratedColumnConfig,
HasGenerated,
MakeColumnConfig,
} from '~/column-builder.ts';
import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';
import type { ColumnBaseConfig } from '~/column.ts';
import { entityKind } from '~/entity.ts';
import type { AnySingleStoreTable } from '~/singlestore-core/table.ts';
import type { SQL } from '~/sql/index.ts';
import { getColumnNameAndConfig, type Writable } from '~/utils.ts';
import { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';

@@ -29,13 +22,6 @@ export class SingleStoreCharBuilder<T extends ColumnBuilderBaseConfig<'string',
SingleStoreCharConfig<T['enumValues']>
>
{
// eslint-disable-next-line @typescript-eslint/no-unused-vars
override generatedAlwaysAs(
as: SQL<unknown> | (() => SQL) | T['data'],
config?: Partial<GeneratedColumnConfig<unknown>>,
): HasGenerated<this, {}> {
throw new Error('Method not implemented.');
}
static override readonly [entityKind]: string = 'SingleStoreCharBuilder';

constructor(name: T['name'], config: SingleStoreCharConfig<T['enumValues']>) {
7 changes: 5 additions & 2 deletions drizzle-orm/src/singlestore-core/columns/common.ts
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@ import type {
ColumnBuilderRuntimeConfig,
ColumnDataType,
HasDefault,
HasGenerated,
IsAutoincrement,
MakeColumnConfig,
} from '~/column-builder.ts';
@@ -13,6 +14,7 @@ import type { ColumnBaseConfig } from '~/column.ts';
import { Column } from '~/column.ts';
import { entityKind } from '~/entity.ts';
import type { AnySingleStoreTable, SingleStoreTable } from '~/singlestore-core/table.ts';
import type { SQL } from '~/sql/sql.ts';
import type { Update } from '~/utils.ts';
import { uniqueKeyName } from '../unique-constraint.ts';

@@ -44,14 +46,15 @@ export abstract class SingleStoreColumnBuilder<
}

// TODO: Implement generated columns for SingleStore (https://docs.singlestore.com/cloud/create-a-database/using-persistent-computed-columns/)
/* generatedAlwaysAs(as: SQL | T['data'] | (() => SQL), config?: SingleStoreGeneratedColumnConfig): HasGenerated<this> {
/** @internal */
generatedAlwaysAs(as: SQL | T['data'] | (() => SQL), config?: SingleStoreGeneratedColumnConfig): HasGenerated<this> {
this.config.generated = {
as,
type: 'always',
mode: config?.mode ?? 'virtual',
};
return this as any;
} */
}

/** @internal */
abstract build<TTableName extends string>(
15 changes: 1 addition & 14 deletions drizzle-orm/src/singlestore-core/columns/custom.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
import type {
ColumnBuilderBaseConfig,
ColumnBuilderRuntimeConfig,
GeneratedColumnConfig,
HasGenerated,
MakeColumnConfig,
} from '~/column-builder.ts';
import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';
import type { ColumnBaseConfig } from '~/column.ts';
import { entityKind } from '~/entity.ts';
import type { AnySingleStoreTable } from '~/singlestore-core/table.ts';
@@ -41,13 +35,6 @@ export class SingleStoreCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'c
}
>
{
// eslint-disable-next-line @typescript-eslint/no-unused-vars
override generatedAlwaysAs(
as: SQL<unknown> | (() => SQL) | T['data'],
config?: Partial<GeneratedColumnConfig<unknown>>,
): HasGenerated<this, {}> {
throw new Error('Method not implemented.');
}
static override readonly [entityKind]: string = 'SingleStoreCustomColumnBuilder';

constructor(
23 changes: 1 addition & 22 deletions drizzle-orm/src/singlestore-core/columns/date.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,7 @@
import type {
ColumnBuilderBaseConfig,
ColumnBuilderRuntimeConfig,
GeneratedColumnConfig,
HasGenerated,
MakeColumnConfig,
} from '~/column-builder.ts';
import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';
import type { ColumnBaseConfig } from '~/column.ts';
import { entityKind } from '~/entity.ts';
import type { AnySingleStoreTable } from '~/singlestore-core/table.ts';
import type { SQL } from '~/sql/index.ts';
import { type Equal, getColumnNameAndConfig } from '~/utils.ts';
import { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';

@@ -25,13 +18,6 @@ export type SingleStoreDateBuilderInitial<TName extends string> = SingleStoreDat
export class SingleStoreDateBuilder<T extends ColumnBuilderBaseConfig<'date', 'SingleStoreDate'>>
extends SingleStoreColumnBuilder<T>
{
// eslint-disable-next-line @typescript-eslint/no-unused-vars
override generatedAlwaysAs(
as: SQL<unknown> | (() => SQL) | T['data'],
config?: Partial<GeneratedColumnConfig<unknown>>,
): HasGenerated<this, {}> {
throw new Error('Method not implemented.');
}
static override readonly [entityKind]: string = 'SingleStoreDateBuilder';

constructor(name: T['name']) {
@@ -81,13 +67,6 @@ export type SingleStoreDateStringBuilderInitial<TName extends string> = SingleSt
export class SingleStoreDateStringBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreDateString'>>
extends SingleStoreColumnBuilder<T>
{
// eslint-disable-next-line @typescript-eslint/no-unused-vars
override generatedAlwaysAs(
as: SQL<unknown> | (() => SQL) | T['data'],
config?: Partial<GeneratedColumnConfig<unknown>>,
): HasGenerated<this, {}> {
throw new Error('Method not implemented.');
}
static override readonly [entityKind]: string = 'SingleStoreDateStringBuilder';

constructor(name: T['name']) {
41 changes: 14 additions & 27 deletions drizzle-orm/src/singlestore-core/columns/datetime.ts
Original file line number Diff line number Diff line change
@@ -25,18 +25,18 @@ export type SingleStoreDateTimeBuilderInitial<TName extends string> = SingleStor
export class SingleStoreDateTimeBuilder<T extends ColumnBuilderBaseConfig<'date', 'SingleStoreDateTime'>>
extends SingleStoreColumnBuilder<T, SingleStoreDatetimeConfig>
{
// eslint-disable-next-line @typescript-eslint/no-unused-vars
/** @internal */
// TODO: we need to add a proper support for SingleStore
override generatedAlwaysAs(
as: SQL<unknown> | (() => SQL) | T['data'],
config?: Partial<GeneratedColumnConfig<unknown>>,
_as: SQL<unknown> | (() => SQL) | T['data'],
_config?: Partial<GeneratedColumnConfig<unknown>>,
): HasGenerated<this, {}> {
throw new Error('Method not implemented.');
}
static override readonly [entityKind]: string = 'SingleStoreDateTimeBuilder';

constructor(name: T['name'], config: SingleStoreDatetimeConfig | undefined) {
constructor(name: T['name']) {
super(name, 'date', 'SingleStoreDateTime');
this.config.fsp = config?.fsp;
}

/** @internal */
@@ -55,20 +55,15 @@ export class SingleStoreDateTime<T extends ColumnBaseConfig<'date', 'SingleStore
{
static override readonly [entityKind]: string = 'SingleStoreDateTime';

readonly fsp: number | undefined;

constructor(
table: AnySingleStoreTable<{ name: T['tableName'] }>,
config: SingleStoreDateTimeBuilder<T>['config'],
) {
super(table, config);
this.fsp = config.fsp;
}

getSQLType(): string {
const hidePrecision = this.fsp === undefined || this.fsp === 0;
const precision = hidePrecision ? '' : `(${this.fsp})`;
return `datetime${precision}`;
return `datetime`;
}

override mapToDriverValue(value: Date): unknown {
@@ -93,18 +88,18 @@ export type SingleStoreDateTimeStringBuilderInitial<TName extends string> = Sing
export class SingleStoreDateTimeStringBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreDateTimeString'>>
extends SingleStoreColumnBuilder<T, SingleStoreDatetimeConfig>
{
// eslint-disable-next-line @typescript-eslint/no-unused-vars
/** @internal */
// TODO: we need to add a proper support for SingleStore
override generatedAlwaysAs(
as: SQL<unknown> | (() => SQL) | T['data'],
config?: Partial<GeneratedColumnConfig<unknown>>,
_as: SQL<unknown> | (() => SQL) | T['data'],
_config?: Partial<GeneratedColumnConfig<unknown>>,
): HasGenerated<this, {}> {
throw new Error('Method not implemented.');
}
static override readonly [entityKind]: string = 'SingleStoreDateTimeStringBuilder';

constructor(name: T['name'], config: SingleStoreDatetimeConfig | undefined) {
constructor(name: T['name']) {
super(name, 'string', 'SingleStoreDateTimeString');
this.config.fsp = config?.fsp;
}

/** @internal */
@@ -123,28 +118,20 @@ export class SingleStoreDateTimeString<T extends ColumnBaseConfig<'string', 'Sin
{
static override readonly [entityKind]: string = 'SingleStoreDateTimeString';

readonly fsp: number | undefined;

constructor(
table: AnySingleStoreTable<{ name: T['tableName'] }>,
config: SingleStoreDateTimeStringBuilder<T>['config'],
) {
super(table, config);
this.fsp = config.fsp;
}

getSQLType(): string {
const hidePrecision = this.fsp === undefined || this.fsp === 0;
const precision = hidePrecision ? '' : `(${this.fsp})`;
return `datetime${precision}`;
return `datetime`;
}
}

export type DatetimeFsp = 0 | 1 | 2 | 3 | 4 | 5 | 6;

export interface SingleStoreDatetimeConfig<TMode extends 'date' | 'string' = 'date' | 'string'> {
mode?: TMode;
fsp?: DatetimeFsp;
}

export function datetime(): SingleStoreDateTimeBuilderInitial<''>;
@@ -160,7 +147,7 @@ export function datetime<TName extends string, TMode extends SingleStoreDatetime
export function datetime(a?: string | SingleStoreDatetimeConfig, b?: SingleStoreDatetimeConfig) {
const { name, config } = getColumnNameAndConfig<SingleStoreDatetimeConfig | undefined>(a, b);
if (config?.mode === 'string') {
return new SingleStoreDateTimeStringBuilder(name, config);
return new SingleStoreDateTimeStringBuilder(name);
}
return new SingleStoreDateTimeBuilder(name, config);
return new SingleStoreDateTimeBuilder(name);
}
16 changes: 1 addition & 15 deletions drizzle-orm/src/singlestore-core/columns/decimal.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,7 @@
import type {
ColumnBuilderBaseConfig,
ColumnBuilderRuntimeConfig,
GeneratedColumnConfig,
HasGenerated,
MakeColumnConfig,
} from '~/column-builder.ts';
import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';
import type { ColumnBaseConfig } from '~/column.ts';
import { entityKind } from '~/entity.ts';
import type { AnySingleStoreTable } from '~/singlestore-core/table.ts';
import type { SQL } from '~/sql/index.ts';
import { getColumnNameAndConfig } from '~/utils.ts';
import { SingleStoreColumnBuilderWithAutoIncrement, SingleStoreColumnWithAutoIncrement } from './common.ts';

@@ -28,13 +21,6 @@ export class SingleStoreDecimalBuilder<
T,
SingleStoreDecimalConfig
> {
/** @internal */
override generatedAlwaysAs(
_as: T['data'] | SQL<unknown> | (() => SQL),
_config?: Partial<GeneratedColumnConfig<unknown>>,
): HasGenerated<this, {}> {
throw new Error('Method not implemented.');
}
static override readonly [entityKind]: string = 'SingleStoreDecimalBuilder';

constructor(name: T['name'], config: SingleStoreDecimalConfig | undefined) {
Loading

0 comments on commit 19baeea

Please sign in to comment.