Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / Filter / ExpressionNode.cs / 1305376 / ExpressionNode.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data { using System; using System.Collections.Generic; using System.Data.Common; using System.Data.SqlTypes; internal abstract class ExpressionNode { private DataTable _table; protected ExpressionNode(DataTable table) { _table = table; } internal IFormatProvider FormatProvider { get { return ((null != _table) ? _table.FormatProvider : System.Globalization.CultureInfo.CurrentCulture); } } internal virtual bool IsSqlColumn{ get{ return false; } } protected DataTable table { get { return _table; } } protected void BindTable(DataTable table) { // when the expression is created, DataColumn may not be associated with a table yet _table = table; } internal abstract void Bind(DataTable table, Listlist); internal abstract object Eval(); internal abstract object Eval(DataRow row, DataRowVersion version); internal abstract object Eval(int[] recordNos); internal abstract bool IsConstant(); internal abstract bool IsTableConstant(); internal abstract bool HasLocalAggregate(); internal abstract bool HasRemoteAggregate(); internal abstract ExpressionNode Optimize(); internal virtual bool DependsOn(DataColumn column) { return false; } internal static bool IsInteger(StorageType type) { return(type == StorageType.Int16 || type == StorageType.Int32 || type == StorageType.Int64 || type == StorageType.UInt16 || type == StorageType.UInt32 || type == StorageType.UInt64 || type == StorageType.SByte || type == StorageType.Byte); } internal static bool IsIntegerSql(StorageType type) { return(type == StorageType.Int16 || type == StorageType.Int32 || type == StorageType.Int64 || type == StorageType.UInt16 || type == StorageType.UInt32 || type == StorageType.UInt64 || type == StorageType.SByte || type == StorageType.Byte || type == StorageType.SqlInt64 || type == StorageType.SqlInt32 || type == StorageType.SqlInt16 || type == StorageType.SqlByte); } internal static bool IsSigned(StorageType type) { return(type == StorageType.Int16 || type == StorageType.Int32 || type == StorageType.Int64 || type == StorageType.SByte || IsFloat(type)); } internal static bool IsSignedSql(StorageType type) { return(type == StorageType.Int16 || // IsSigned(type) type == StorageType.Int32 || type == StorageType.Int64 || type == StorageType.SByte || type == StorageType.SqlInt64 || type == StorageType.SqlInt32 || type == StorageType.SqlInt16 || IsFloatSql(type)); } internal static bool IsUnsigned(StorageType type) { return(type == StorageType.UInt16 || type == StorageType.UInt32 || type == StorageType.UInt64 || type == StorageType.Byte); } internal static bool IsUnsignedSql(StorageType type) { return(type == StorageType.UInt16 || type == StorageType.UInt32 || type == StorageType.UInt64 || type == StorageType.SqlByte ||// SqlByte represents an 8-bit unsigned integer, in the range of 0 through 255, type == StorageType.Byte); } internal static bool IsNumeric(StorageType type) { return(IsFloat(type) || IsInteger(type)); } internal static bool IsNumericSql(StorageType type) { return(IsFloatSql(type) || IsIntegerSql(type)); } internal static bool IsFloat(StorageType type) { return(type == StorageType.Single || type == StorageType.Double || type == StorageType.Decimal); } internal static bool IsFloatSql(StorageType type) { return(type == StorageType.Single || type == StorageType.Double || type == StorageType.Decimal || type == StorageType.SqlDouble || type == StorageType.SqlDecimal || // I expect decimal to be Integer! type == StorageType.SqlMoney || // if decimal is here, this should be definitely here! type == StorageType.SqlSingle); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data { using System; using System.Collections.Generic; using System.Data.Common; using System.Data.SqlTypes; internal abstract class ExpressionNode { private DataTable _table; protected ExpressionNode(DataTable table) { _table = table; } internal IFormatProvider FormatProvider { get { return ((null != _table) ? _table.FormatProvider : System.Globalization.CultureInfo.CurrentCulture); } } internal virtual bool IsSqlColumn{ get{ return false; } } protected DataTable table { get { return _table; } } protected void BindTable(DataTable table) { // when the expression is created, DataColumn may not be associated with a table yet _table = table; } internal abstract void Bind(DataTable table, Listlist); internal abstract object Eval(); internal abstract object Eval(DataRow row, DataRowVersion version); internal abstract object Eval(int[] recordNos); internal abstract bool IsConstant(); internal abstract bool IsTableConstant(); internal abstract bool HasLocalAggregate(); internal abstract bool HasRemoteAggregate(); internal abstract ExpressionNode Optimize(); internal virtual bool DependsOn(DataColumn column) { return false; } internal static bool IsInteger(StorageType type) { return(type == StorageType.Int16 || type == StorageType.Int32 || type == StorageType.Int64 || type == StorageType.UInt16 || type == StorageType.UInt32 || type == StorageType.UInt64 || type == StorageType.SByte || type == StorageType.Byte); } internal static bool IsIntegerSql(StorageType type) { return(type == StorageType.Int16 || type == StorageType.Int32 || type == StorageType.Int64 || type == StorageType.UInt16 || type == StorageType.UInt32 || type == StorageType.UInt64 || type == StorageType.SByte || type == StorageType.Byte || type == StorageType.SqlInt64 || type == StorageType.SqlInt32 || type == StorageType.SqlInt16 || type == StorageType.SqlByte); } internal static bool IsSigned(StorageType type) { return(type == StorageType.Int16 || type == StorageType.Int32 || type == StorageType.Int64 || type == StorageType.SByte || IsFloat(type)); } internal static bool IsSignedSql(StorageType type) { return(type == StorageType.Int16 || // IsSigned(type) type == StorageType.Int32 || type == StorageType.Int64 || type == StorageType.SByte || type == StorageType.SqlInt64 || type == StorageType.SqlInt32 || type == StorageType.SqlInt16 || IsFloatSql(type)); } internal static bool IsUnsigned(StorageType type) { return(type == StorageType.UInt16 || type == StorageType.UInt32 || type == StorageType.UInt64 || type == StorageType.Byte); } internal static bool IsUnsignedSql(StorageType type) { return(type == StorageType.UInt16 || type == StorageType.UInt32 || type == StorageType.UInt64 || type == StorageType.SqlByte ||// SqlByte represents an 8-bit unsigned integer, in the range of 0 through 255, type == StorageType.Byte); } internal static bool IsNumeric(StorageType type) { return(IsFloat(type) || IsInteger(type)); } internal static bool IsNumericSql(StorageType type) { return(IsFloatSql(type) || IsIntegerSql(type)); } internal static bool IsFloat(StorageType type) { return(type == StorageType.Single || type == StorageType.Double || type == StorageType.Decimal); } internal static bool IsFloatSql(StorageType type) { return(type == StorageType.Single || type == StorageType.Double || type == StorageType.Decimal || type == StorageType.SqlDouble || type == StorageType.SqlDecimal || // I expect decimal to be Integer! type == StorageType.SqlMoney || // if decimal is here, this should be definitely here! type == StorageType.SqlSingle); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UnaryNode.cs
- XPathNavigatorReader.cs
- HttpHandlersSection.cs
- CheckBoxBaseAdapter.cs
- ProxyGenerator.cs
- BinaryUtilClasses.cs
- WebPartActionVerb.cs
- HttpListenerResponse.cs
- XmlValidatingReaderImpl.cs
- ColorMatrix.cs
- AnnotationAuthorChangedEventArgs.cs
- CapabilitiesSection.cs
- XmlAnyElementAttributes.cs
- InputReport.cs
- SettingsAttributeDictionary.cs
- XmlUrlResolver.cs
- SkinBuilder.cs
- PrinterResolution.cs
- ImageConverter.cs
- HttpCacheVary.cs
- QueryOperationResponseOfT.cs
- FixedSOMLineRanges.cs
- COM2IProvidePropertyBuilderHandler.cs
- DataSourceHelper.cs
- OrderingInfo.cs
- EventSourceCreationData.cs
- WinEventWrap.cs
- MenuItemStyleCollection.cs
- SafeMarshalContext.cs
- SchemaNotation.cs
- VectorKeyFrameCollection.cs
- Bidi.cs
- BitmapMetadataBlob.cs
- GridViewAutomationPeer.cs
- SessionPageStateSection.cs
- PropVariant.cs
- ConnectionPointCookie.cs
- ReferenceConverter.cs
- GridViewUpdateEventArgs.cs
- Timer.cs
- XmlSerializableWriter.cs
- WebPartHelpVerb.cs
- ConfigurationValue.cs
- BrushConverter.cs
- HandleCollector.cs
- StyleXamlTreeBuilder.cs
- SqlTopReducer.cs
- HtmlControl.cs
- CoreSwitches.cs
- TextParaLineResult.cs
- OracleString.cs
- FileSystemInfo.cs
- DLinqTableProvider.cs
- GridViewSelectEventArgs.cs
- WebPartZoneAutoFormat.cs
- DataException.cs
- RecordBuilder.cs
- wgx_exports.cs
- RoleGroupCollection.cs
- FieldAccessException.cs
- CapabilitiesPattern.cs
- Array.cs
- Speller.cs
- ButtonDesigner.cs
- ToolboxItemImageConverter.cs
- XamlTemplateSerializer.cs
- IntersectQueryOperator.cs
- Blend.cs
- SessionEndingEventArgs.cs
- SymbolDocumentGenerator.cs
- CryptoApi.cs
- KeyboardNavigation.cs
- AspNetHostingPermission.cs
- BoolExpressionVisitors.cs
- Path.cs
- SqlResolver.cs
- HandledMouseEvent.cs
- RegisteredExpandoAttribute.cs
- X509RecipientCertificateServiceElement.cs
- XmlSchemaExternal.cs
- assemblycache.cs
- Configuration.cs
- OptimalBreakSession.cs
- XmlReflectionImporter.cs
- PageSetupDialog.cs
- MimeBasePart.cs
- SignatureToken.cs
- Serializer.cs
- DecimalStorage.cs
- TimeoutValidationAttribute.cs
- TypedReference.cs
- GradientBrush.cs
- ViewDesigner.cs
- QuaternionAnimationUsingKeyFrames.cs
- SupportsEventValidationAttribute.cs
- WindowsFormsLinkLabel.cs
- SchemaImporterExtension.cs
- RenderOptions.cs
- XPathNavigator.cs
- ActivityExecutorSurrogate.cs