2016-08-03 10:59:49 +00:00
|
|
|
//------------------------------------------------------------------------------
|
|
|
|
// <copyright file="OdbcConnectionPoolProviderInfo.cs" company="Microsoft">
|
|
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
|
|
// </copyright>
|
2017-08-21 15:34:15 +00:00
|
|
|
// <owner current="true" primary="true">Microsoft</owner>
|
|
|
|
// <owner current="true" primary="false">Microsoft</owner>
|
2016-08-03 10:59:49 +00:00
|
|
|
//------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
namespace System.Data.Odbc
|
|
|
|
{
|
|
|
|
using System;
|
|
|
|
using System.Data;
|
|
|
|
using System.Data.ProviderBase;
|
|
|
|
|
|
|
|
sealed internal class OdbcConnectionPoolGroupProviderInfo : DbConnectionPoolGroupProviderInfo {
|
|
|
|
private string _driverName;
|
|
|
|
private string _driverVersion;
|
|
|
|
private string _quoteChar;
|
|
|
|
|
|
|
|
private char _escapeChar;
|
|
|
|
private bool _hasQuoteChar;
|
|
|
|
private bool _hasEscapeChar;
|
|
|
|
|
|
|
|
private bool _isV3Driver;
|
|
|
|
private int _supportedSQLTypes;
|
|
|
|
private int _testedSQLTypes;
|
|
|
|
private int _restrictedSQLBindTypes; // These, otherwise supported types, are not available for binding
|
|
|
|
|
|
|
|
// flags for unsupported Attributes
|
|
|
|
private bool _noCurrentCatalog;
|
|
|
|
private bool _noConnectionDead;
|
|
|
|
|
|
|
|
private bool _noQueryTimeout;
|
|
|
|
private bool _noSqlSoptSSNoBrowseTable;
|
|
|
|
private bool _noSqlSoptSSHiddenColumns;
|
|
|
|
|
|
|
|
// SSS_WARNINGS_OFF
|
|
|
|
private bool _noSqlCASSColumnKey;
|
|
|
|
// SSS_WARNINGS_ON
|
|
|
|
|
|
|
|
// flags for unsupported Functions
|
|
|
|
private bool _noSqlPrimaryKeys;
|
|
|
|
|
|
|
|
internal string DriverName {
|
|
|
|
get {
|
|
|
|
return _driverName;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_driverName = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal string DriverVersion {
|
|
|
|
get {
|
|
|
|
return _driverVersion;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_driverVersion = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal bool HasQuoteChar {
|
|
|
|
// the value is set together with the QuoteChar (see set_QuoteChar);
|
|
|
|
get {
|
|
|
|
return _hasQuoteChar;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal bool HasEscapeChar {
|
|
|
|
// the value is set together with the EscapeChar (see set_EscapeChar);
|
|
|
|
get {
|
|
|
|
return _hasEscapeChar;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
internal string QuoteChar {
|
|
|
|
get {
|
|
|
|
return _quoteChar;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_quoteChar = value;
|
|
|
|
_hasQuoteChar = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal char EscapeChar {
|
|
|
|
get {
|
|
|
|
return _escapeChar;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_escapeChar = value;
|
|
|
|
_hasEscapeChar = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal bool IsV3Driver {
|
|
|
|
get {
|
|
|
|
return _isV3Driver;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_isV3Driver = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal int SupportedSQLTypes {
|
|
|
|
get {
|
|
|
|
return _supportedSQLTypes;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_supportedSQLTypes = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal int TestedSQLTypes {
|
|
|
|
get {
|
|
|
|
return _testedSQLTypes;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_testedSQLTypes = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal int RestrictedSQLBindTypes {
|
|
|
|
get {
|
|
|
|
return _restrictedSQLBindTypes;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_restrictedSQLBindTypes = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
internal bool NoCurrentCatalog {
|
|
|
|
get {
|
|
|
|
return _noCurrentCatalog;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_noCurrentCatalog = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal bool NoConnectionDead {
|
|
|
|
get {
|
|
|
|
return _noConnectionDead;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_noConnectionDead = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
internal bool NoQueryTimeout {
|
|
|
|
get {
|
|
|
|
return _noQueryTimeout;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_noQueryTimeout = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal bool NoSqlSoptSSNoBrowseTable {
|
|
|
|
get {
|
|
|
|
return _noSqlSoptSSNoBrowseTable;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_noSqlSoptSSNoBrowseTable = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal bool NoSqlSoptSSHiddenColumns {
|
|
|
|
get {
|
|
|
|
return _noSqlSoptSSHiddenColumns;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_noSqlSoptSSHiddenColumns = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// SSS_WARNINGS_OFF
|
|
|
|
internal bool NoSqlCASSColumnKey {
|
|
|
|
get {
|
|
|
|
return _noSqlCASSColumnKey;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_noSqlCASSColumnKey = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// SSS_WARNINGS_ON
|
|
|
|
|
|
|
|
internal bool NoSqlPrimaryKeys {
|
|
|
|
get {
|
|
|
|
return _noSqlPrimaryKeys;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
_noSqlPrimaryKeys = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|