116 lines
4.1 KiB
TypeScript
116 lines
4.1 KiB
TypeScript
import {
|
|
type EntityProperty,
|
|
type IsolationLevel,
|
|
RawQueryFragment,
|
|
type SimpleColumnMeta,
|
|
Type,
|
|
} from '@mikro-orm/core';
|
|
import { AbstractSqlPlatform } from '../../AbstractSqlPlatform.js';
|
|
import type { IndexDef } from '../../typings.js';
|
|
import { PostgreSqlNativeQueryBuilder } from './PostgreSqlNativeQueryBuilder.js';
|
|
import { PostgreSqlSchemaHelper } from './PostgreSqlSchemaHelper.js';
|
|
import { PostgreSqlExceptionConverter } from './PostgreSqlExceptionConverter.js';
|
|
export declare class BasePostgreSqlPlatform extends AbstractSqlPlatform {
|
|
#private;
|
|
protected readonly schemaHelper: PostgreSqlSchemaHelper;
|
|
protected readonly exceptionConverter: PostgreSqlExceptionConverter;
|
|
createNativeQueryBuilder(): PostgreSqlNativeQueryBuilder;
|
|
usesReturningStatement(): boolean;
|
|
usesCascadeStatement(): boolean;
|
|
supportsNativeEnums(): boolean;
|
|
usesEnumCheckConstraints(): boolean;
|
|
supportsMaterializedViews(): boolean;
|
|
supportsCustomPrimaryKeyNames(): boolean;
|
|
getCurrentTimestampSQL(length: number): string;
|
|
getDateTimeTypeDeclarationSQL(column: { length?: number }): string;
|
|
getDefaultDateTimeLength(): number;
|
|
getTimeTypeDeclarationSQL(): string;
|
|
getIntegerTypeDeclarationSQL(column: { length?: number; autoincrement?: boolean; generated?: string }): string;
|
|
getBigIntTypeDeclarationSQL(column: { autoincrement?: boolean }): string;
|
|
getTinyIntTypeDeclarationSQL(column: { length?: number; unsigned?: boolean; autoincrement?: boolean }): string;
|
|
getUuidTypeDeclarationSQL(column: { length?: number }): string;
|
|
getFullTextWhereClause(prop: EntityProperty): string;
|
|
supportsCreatingFullTextIndex(): boolean;
|
|
getFullTextIndexExpression(
|
|
indexName: string,
|
|
schemaName: string | undefined,
|
|
tableName: string,
|
|
columns: SimpleColumnMeta[],
|
|
): string;
|
|
normalizeColumnType(
|
|
type: string,
|
|
options: {
|
|
length?: number;
|
|
precision?: number;
|
|
scale?: number;
|
|
autoincrement?: boolean;
|
|
},
|
|
): string;
|
|
getMappedType(type: string): Type<unknown>;
|
|
getRegExpOperator(val?: unknown, flags?: string): string;
|
|
getRegExpValue(val: RegExp): {
|
|
$re: string;
|
|
$flags?: string;
|
|
};
|
|
isBigIntProperty(prop: EntityProperty): boolean;
|
|
getArrayDeclarationSQL(): string;
|
|
getFloatDeclarationSQL(): string;
|
|
getDoubleDeclarationSQL(): string;
|
|
getEnumTypeDeclarationSQL(column: { fieldNames: string[]; items?: unknown[]; nativeEnumName?: string }): string;
|
|
supportsMultipleStatements(): boolean;
|
|
getBeginTransactionSQL(options?: { isolationLevel?: IsolationLevel; readOnly?: boolean }): string[];
|
|
marshallArray(values: string[]): string;
|
|
unmarshallArray(value: string): string[];
|
|
getVarcharTypeDeclarationSQL(column: { length?: number }): string;
|
|
getCharTypeDeclarationSQL(column: { length?: number }): string;
|
|
getIntervalTypeDeclarationSQL(column: { length?: number }): string;
|
|
getBlobDeclarationSQL(): string;
|
|
getJsonDeclarationSQL(): string;
|
|
getSearchJsonPropertyKey(
|
|
path: string[],
|
|
type: string | undefined | Type,
|
|
aliased: boolean,
|
|
value?: unknown,
|
|
): string | RawQueryFragment;
|
|
getJsonIndexDefinition(index: IndexDef): string[];
|
|
quoteIdentifier(
|
|
id:
|
|
| string
|
|
| {
|
|
toString: () => string;
|
|
},
|
|
quote?: string,
|
|
): string;
|
|
private pad;
|
|
/** @internal */
|
|
formatDate(date: Date): string;
|
|
indexForeignKeys(): boolean;
|
|
getDefaultMappedType(type: string): Type<unknown>;
|
|
supportsSchemas(): boolean;
|
|
getDefaultSchemaName(): string | undefined;
|
|
/**
|
|
* Returns the default name of index for the given columns
|
|
* cannot go past 63 character length for identifiers in MySQL
|
|
*/
|
|
getIndexName(
|
|
tableName: string,
|
|
columns: string[],
|
|
type: 'index' | 'unique' | 'foreign' | 'primary' | 'sequence',
|
|
): string;
|
|
getDefaultPrimaryName(tableName: string, columns: string[]): string;
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
castColumn(prop?: { columnTypes?: string[] }): string;
|
|
getJsonArrayFromSQL(
|
|
column: string,
|
|
alias: string,
|
|
_properties: {
|
|
name: string;
|
|
type: string;
|
|
}[],
|
|
): string;
|
|
getJsonArrayElementPropertySQL(alias: string, property: string, type: string): string;
|
|
getDefaultClientUrl(): string;
|
|
}
|