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
- PersistenceProviderDirectory.cs
- QueryPageSettingsEventArgs.cs
- VirtualDirectoryMappingCollection.cs
- XmlSubtreeReader.cs
- FontResourceCache.cs
- XmlReturnWriter.cs
- XmlEnumAttribute.cs
- CommandBinding.cs
- WebPartDisplayModeCancelEventArgs.cs
- NGCSerializationManagerAsync.cs
- TableSectionStyle.cs
- ColumnResizeAdorner.cs
- Pair.cs
- SqlDataSourceConfigureSelectPanel.cs
- DSACryptoServiceProvider.cs
- TagNameToTypeMapper.cs
- ModelItemDictionaryImpl.cs
- ClonableStack.cs
- EndpointAddressElementBase.cs
- RsaKeyIdentifierClause.cs
- Context.cs
- PropertyTab.cs
- StrongNamePublicKeyBlob.cs
- JoinSymbol.cs
- DataContext.cs
- _ProxyChain.cs
- Win32SafeHandles.cs
- TreeNodeMouseHoverEvent.cs
- TrackingServices.cs
- RoleManagerSection.cs
- System.Data.OracleClient_BID.cs
- unsafenativemethodsother.cs
- PageAsyncTask.cs
- BuildProvider.cs
- StorageFunctionMapping.cs
- JobPageOrder.cs
- XmlAttributeHolder.cs
- ObjectViewQueryResultData.cs
- DialogResultConverter.cs
- ListBindingHelper.cs
- RootProfilePropertySettingsCollection.cs
- MouseActionConverter.cs
- DataComponentNameHandler.cs
- ContextBase.cs
- MessagePartSpecification.cs
- CodeArrayCreateExpression.cs
- MobileControlPersister.cs
- FixedPage.cs
- PeerName.cs
- MatchSingleFxEngineOpcode.cs
- BinaryCommonClasses.cs
- WizardStepBase.cs
- ImpersonationContext.cs
- PackageRelationshipSelector.cs
- TypeInfo.cs
- SimpleApplicationHost.cs
- BaseTemplateCodeDomTreeGenerator.cs
- JsonSerializer.cs
- NegotiationTokenProvider.cs
- SqlCacheDependencySection.cs
- KnownAssembliesSet.cs
- FileDialogPermission.cs
- FtpWebResponse.cs
- VisualProxy.cs
- TextTrailingWordEllipsis.cs
- GeometryGroup.cs
- SystemDropShadowChrome.cs
- DocumentOrderComparer.cs
- SafeHandle.cs
- ColorIndependentAnimationStorage.cs
- StringConverter.cs
- ColumnTypeConverter.cs
- BaseCodeDomTreeGenerator.cs
- assemblycache.cs
- OledbConnectionStringbuilder.cs
- FilterEventArgs.cs
- printdlgexmarshaler.cs
- PrintControllerWithStatusDialog.cs
- ColumnPropertiesGroup.cs
- ConfigurationProviderException.cs
- QilList.cs
- DockProviderWrapper.cs
- ComEventsHelper.cs
- PrePostDescendentsWalker.cs
- FrameworkRichTextComposition.cs
- HyperLinkStyle.cs
- SupportsEventValidationAttribute.cs
- DependencyPropertyChangedEventArgs.cs
- ProjectionRewriter.cs
- Vector3D.cs
- AnnotationHelper.cs
- SafeHandle.cs
- TextDocumentView.cs
- ConsumerConnectionPointCollection.cs
- ObjectDataSourceMethodEventArgs.cs
- Clipboard.cs
- GroupByExpressionRewriter.cs
- Stackframe.cs
- MetadataAssemblyHelper.cs
- HierarchicalDataTemplate.cs