Class SapHanaSchemaProvider
- Namespace
- LinqToDB.Internal.DataProvider.SapHana
- Assembly
- linq2db.dll
public class SapHanaSchemaProvider : SchemaProviderBase, ISchemaProvider
- Inheritance
-
objectSapHanaSchemaProvider
- Implements
- Derived
- Inherited Members
- Extension Methods
Properties
DefaultSchema
protected string DefaultSchema { get; }
Property Value
GetProcedureSchemaExecutesProcedure
If true, provider doesn't support schema-only procedure execution and will execute procedure for real.
protected override bool GetProcedureSchemaExecutesProcedure { get; }
Property Value
HanaSchemaOptions
protected GetHanaSchemaOptions? HanaSchemaOptions { get; }
Property Value
HasAccessForCalculationViews
protected bool HasAccessForCalculationViews { get; }
Property Value
SchemasFilter
protected string? SchemasFilter { get; }
Property Value
Methods
GetColumns(DataConnection, GetSchemaOptions)
protected override List<ColumnInfo> GetColumns(DataConnection dataConnection, GetSchemaOptions options)
Parameters
dataConnectionDataConnectionoptionsGetSchemaOptions
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
GetProviderSpecificTables(DataConnection, GetSchemaOptions)
protected override List<TableSchema> GetProviderSpecificTables(DataConnection dataConnection, GetSchemaOptions options)
Parameters
dataConnectionDataConnectionoptionsGetSchemaOptions
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
Returns
LoadProcedureTableSchema(DataConnection, GetSchemaOptions, ProcedureSchema, string, List<TableSchema>)
protected override void LoadProcedureTableSchema(DataConnection dataConnection, GetSchemaOptions options, ProcedureSchema procedure, string commandText, List<TableSchema> tables)
Parameters
dataConnectionDataConnectionoptionsGetSchemaOptionsprocedureProcedureSchemacommandTextstringtablesList<TableSchema>