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
- Dictionary.cs
- ConfigurationConverterBase.cs
- Wildcard.cs
- CodeDirectoryCompiler.cs
- InputReportEventArgs.cs
- XmlUrlResolver.cs
- VScrollBar.cs
- ZeroOpNode.cs
- TerminatingOperationBehavior.cs
- DataSvcMapFileSerializer.cs
- CodePrimitiveExpression.cs
- SqlNotificationRequest.cs
- WebPartCatalogCloseVerb.cs
- DialogResultConverter.cs
- adornercollection.cs
- ProviderConnectionPointCollection.cs
- WinFormsSpinner.cs
- cryptoapiTransform.cs
- _HeaderInfoTable.cs
- RegionIterator.cs
- MemberExpression.cs
- SecurityKeyIdentifierClause.cs
- ProviderSettings.cs
- Encoding.cs
- CompressStream.cs
- HScrollProperties.cs
- DBAsyncResult.cs
- PropertyGeneratedEventArgs.cs
- ImageMetadata.cs
- TaskbarItemInfo.cs
- PeerApplication.cs
- SessionStateUtil.cs
- AssemblyResourceLoader.cs
- ProviderUtil.cs
- UserControlCodeDomTreeGenerator.cs
- InstalledVoice.cs
- PathHelper.cs
- DriveNotFoundException.cs
- __Error.cs
- ListViewDeleteEventArgs.cs
- FunctionNode.cs
- SynchronizingStream.cs
- CompilerErrorCollection.cs
- ApplicationInfo.cs
- RightsManagementEncryptionTransform.cs
- TcpTransportSecurityElement.cs
- Selector.cs
- TableStyle.cs
- ErrorProvider.cs
- SqlCachedBuffer.cs
- RenderOptions.cs
- OleDbErrorCollection.cs
- InvalidProgramException.cs
- UpdateProgress.cs
- SeekStoryboard.cs
- FontDifferentiator.cs
- DataSourceHelper.cs
- BitmapEffectInputData.cs
- IteratorDescriptor.cs
- SafeProcessHandle.cs
- DecimalAnimationBase.cs
- XamlHostingConfiguration.cs
- List.cs
- PagePropertiesChangingEventArgs.cs
- ManualResetEvent.cs
- TextBox.cs
- InputLanguageSource.cs
- X500Name.cs
- ExecutionEngineException.cs
- GenericUriParser.cs
- EpmCustomContentWriterNodeData.cs
- SegmentInfo.cs
- StyleXamlParser.cs
- LayoutTable.cs
- ADConnectionHelper.cs
- BinaryUtilClasses.cs
- CellTreeSimplifier.cs
- BypassElementCollection.cs
- SortedList.cs
- FunctionQuery.cs
- BamlResourceContent.cs
- CharStorage.cs
- LineVisual.cs
- RowToFieldTransformer.cs
- AuthenticatedStream.cs
- SQLInt64.cs
- SchemaEntity.cs
- safelinkcollection.cs
- SystemIPGlobalStatistics.cs
- CompilerLocalReference.cs
- BuildManagerHost.cs
- CTreeGenerator.cs
- SmiEventSink_DeferedProcessing.cs
- Mapping.cs
- AssemblyAttributesGoHere.cs
- DebugControllerThread.cs
- ServiceProviders.cs
- Binding.cs
- WebPartEditorApplyVerb.cs
- MeshGeometry3D.cs