Files
evento/node_modules/@mikro-orm/sql/dialects/postgresql/BasePostgreSqlPlatform.d.ts
2026-03-18 14:55:56 -03:00

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;
}