Class PostgreSQLSchemaProvider
- Namespace
- LinqToDB.Internal.DataProvider.PostgreSQL
- Assembly
- linq2db.dll
public class PostgreSQLSchemaProvider : SchemaProviderBase, ISchemaProvider
- Inheritance
-
objectPostgreSQLSchemaProvider
- Implements
- Inherited Members
- Extension Methods
Constructors
PostgreSQLSchemaProvider(PostgreSQLDataProvider)
public PostgreSQLSchemaProvider(PostgreSQLDataProvider provider)
Parameters
providerPostgreSQLDataProvider
Methods
BuildTableFunctionLoadTableSchemaCommand(ProcedureSchema, string)
Builds table function call command.
protected override string BuildTableFunctionLoadTableSchemaCommand(ProcedureSchema procedure, string commandText)
Parameters
procedureProcedureSchemacommandTextstring
Returns
GetColumns(DataConnection, GetSchemaOptions)
protected override List<ColumnInfo> GetColumns(DataConnection dataConnection, GetSchemaOptions options)
Parameters
dataConnectionDataConnectionoptionsGetSchemaOptions
Returns
GetDataType(string?, DataType?, GetSchemaOptions)
protected override DataTypeInfo? GetDataType(string? typeName, DataType? dataType, GetSchemaOptions options)
Parameters
typeNamestringdataTypeDataType?optionsGetSchemaOptions
Returns
GetDataType(string?, string?, int?, int?, int?)
protected override DataType GetDataType(string? dataType, string? columnType, int? length, int? precision, int? scale)
Parameters
Returns
GetDataTypes(DataConnection)
Returns list of database data types.
protected override List<DataTypeInfo> GetDataTypes(DataConnection dataConnection)
Parameters
dataConnectionDataConnectionDatabase connection instance.
Returns
- List<DataTypeInfo>
List of database data types.
GetForeignKeys(DataConnection, IEnumerable<TableSchema>, GetSchemaOptions)
protected override IReadOnlyCollection<ForeignKeyInfo> GetForeignKeys(DataConnection dataConnection, IEnumerable<TableSchema> tables, GetSchemaOptions options)
Parameters
dataConnectionDataConnectiontablesIEnumerable<TableSchema>optionsGetSchemaOptions
Returns
GetPrimaryKeys(DataConnection, IEnumerable<TableSchema>, GetSchemaOptions)
protected override IReadOnlyCollection<PrimaryKeyInfo> GetPrimaryKeys(DataConnection dataConnection, IEnumerable<TableSchema> tables, GetSchemaOptions options)
Parameters
dataConnectionDataConnectiontablesIEnumerable<TableSchema>optionsGetSchemaOptions
Returns
GetProcedureParameters(DataConnection, IEnumerable<ProcedureInfo>, GetSchemaOptions)
protected override List<ProcedureParameterInfo> GetProcedureParameters(DataConnection dataConnection, IEnumerable<ProcedureInfo> procedures, GetSchemaOptions options)
Parameters
dataConnectionDataConnectionproceduresIEnumerable<ProcedureInfo>optionsGetSchemaOptions
Returns
GetProcedureResultColumns(DataTable, GetSchemaOptions)
protected override List<ColumnSchema> GetProcedureResultColumns(DataTable resultTable, GetSchemaOptions options)
Parameters
resultTableDataTableoptionsGetSchemaOptions
Returns
GetProcedures(DataConnection, GetSchemaOptions)
protected override List<ProcedureInfo>? GetProcedures(DataConnection dataConnection, GetSchemaOptions options)
Parameters
dataConnectionDataConnectionoptionsGetSchemaOptions
Returns
GetProviderSpecificType(string?)
protected override string? GetProviderSpecificType(string? dataType)
Parameters
dataTypestring
Returns
GetProviderSpecificTypeNamespace()
protected override string GetProviderSpecificTypeNamespace()
Returns
GetSchema(DataConnection, GetSchemaOptions?)
Returns database schema. Note that it is recommended to call this method outside of transaction as some providers do not support it or behave incorrectly. At least following providers shouldn't be called in transaction:
- MySQL;
- Microsoft SQL Server;
- Sybase;
- DB2.
public override DatabaseSchema GetSchema(DataConnection dataConnection, GetSchemaOptions? options = null)
Parameters
dataConnectionDataConnectionData connection to use to read schema from.
optionsGetSchemaOptionsSchema read configuration options.
Returns
- DatabaseSchema
Returns database schema information.
GetSystemType(string?, string?, DataTypeInfo?, int?, int?, int?, GetSchemaOptions)
protected override Type? GetSystemType(string? dataType, string? columnType, DataTypeInfo? dataTypeInfo, int? length, int? precision, int? scale, GetSchemaOptions options)
Parameters
dataTypestringcolumnTypestringdataTypeInfoDataTypeInfolengthint?precisionint?scaleint?optionsGetSchemaOptions
Returns
GetTables(DataConnection, GetSchemaOptions)
protected override List<TableInfo> GetTables(DataConnection dataConnection, GetSchemaOptions options)
Parameters
dataConnectionDataConnectionoptionsGetSchemaOptions