Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AttachedPropertyBrowsableForChildrenAttribute.cs
- DataError.cs
- EntityViewContainer.cs
- DependencyPropertyHelper.cs
- VariableQuery.cs
- SqlDataReaderSmi.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- WebBrowserProgressChangedEventHandler.cs
- RegexReplacement.cs
- PointConverter.cs
- FileSystemEventArgs.cs
- XmlSecureResolver.cs
- SqlWebEventProvider.cs
- UnicodeEncoding.cs
- ProcessingInstructionAction.cs
- PeerContact.cs
- PropertyTab.cs
- SessionStateUtil.cs
- ContentDisposition.cs
- DesignTimeVisibleAttribute.cs
- VScrollBar.cs
- TextBoxAutoCompleteSourceConverter.cs
- WebControlsSection.cs
- CreationContext.cs
- CanonicalFontFamilyReference.cs
- ColorDialog.cs
- COAUTHIDENTITY.cs
- QilValidationVisitor.cs
- ServiceOperationParameter.cs
- CleanUpVirtualizedItemEventArgs.cs
- Compiler.cs
- SecUtil.cs
- RepeaterCommandEventArgs.cs
- PartialTrustVisibleAssembliesSection.cs
- MouseGestureConverter.cs
- httpstaticobjectscollection.cs
- ColorConverter.cs
- WorkflowOwnershipException.cs
- AppDomainAttributes.cs
- SchemaNotation.cs
- CompilerLocalReference.cs
- LinkLabelLinkClickedEvent.cs
- GiveFeedbackEventArgs.cs
- OrderPreservingPipeliningMergeHelper.cs
- WindowsFormsSectionHandler.cs
- RtfNavigator.cs
- RequestStatusBarUpdateEventArgs.cs
- SqlDataSourceFilteringEventArgs.cs
- SpecialTypeDataContract.cs
- GridViewHeaderRowPresenter.cs
- ViewGenerator.cs
- InstanceCreationEditor.cs
- ServiceMetadataContractBehavior.cs
- CheckableControlBaseAdapter.cs
- ErrorWrapper.cs
- WebPartDeleteVerb.cs
- DeploymentSectionCache.cs
- LogStore.cs
- SqlBulkCopy.cs
- CalculatedColumn.cs
- PropertyTabChangedEvent.cs
- CustomAttribute.cs
- TabItemWrapperAutomationPeer.cs
- Thumb.cs
- TrackBar.cs
- View.cs
- DataServiceQueryOfT.cs
- WindowsAltTab.cs
- EncodingDataItem.cs
- SqlSelectStatement.cs
- AuthorizationRuleCollection.cs
- ellipse.cs
- OptimisticConcurrencyException.cs
- HashAlgorithm.cs
- RequestBringIntoViewEventArgs.cs
- LinqMaximalSubtreeNominator.cs
- TableAdapterManagerMethodGenerator.cs
- GenerateHelper.cs
- ISAPIRuntime.cs
- DependencyPropertyDescriptor.cs
- dsa.cs
- SizeAnimationUsingKeyFrames.cs
- HotCommands.cs
- Cell.cs
- SqlMethodTransformer.cs
- PathFigureCollection.cs
- ToolStripRendererSwitcher.cs
- SerializerDescriptor.cs
- SqlConnectionStringBuilder.cs
- SqlBulkCopy.cs
- ExceptionValidationRule.cs
- SimpleApplicationHost.cs
- StorageComplexTypeMapping.cs
- CatalogPart.cs
- SecureStringHasher.cs
- SafeHandles.cs
- EventSource.cs
- CacheAxisQuery.cs
- ColorAnimationUsingKeyFrames.cs
- QuaternionAnimation.cs