Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Data / System / Data / Filter / ExpressionNode.cs / 1 / 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
- LOSFormatter.cs
- VectorAnimationUsingKeyFrames.cs
- VisualStyleTypesAndProperties.cs
- SafeArchiveContext.cs
- AlternationConverter.cs
- HttpDebugHandler.cs
- OdbcInfoMessageEvent.cs
- SqlDataSourceStatusEventArgs.cs
- ServiceBuildProvider.cs
- UndoManager.cs
- DataList.cs
- ProbeRequestResponseAsyncResult.cs
- TableItemStyle.cs
- PageContent.cs
- OutputScopeManager.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- ObjectStateFormatter.cs
- SettingsPropertyValueCollection.cs
- TreeView.cs
- SqlBuffer.cs
- WithStatement.cs
- XamlReaderConstants.cs
- ToolStripPanelRow.cs
- OletxCommittableTransaction.cs
- EventLogStatus.cs
- ThrowHelper.cs
- WmlLinkAdapter.cs
- ConfigXmlWhitespace.cs
- DeploymentSection.cs
- TraceContextRecord.cs
- AuthenticationModuleElementCollection.cs
- ValueTypeFixupInfo.cs
- Vector3dCollection.cs
- PagesChangedEventArgs.cs
- ExecutionScope.cs
- CompiledRegexRunner.cs
- DataObjectAttribute.cs
- HasActivatableWorkflowEvent.cs
- Function.cs
- PostBackTrigger.cs
- ReliableReplySessionChannel.cs
- GridViewRowPresenterBase.cs
- CatalogPartCollection.cs
- CounterCreationDataCollection.cs
- DataGridToolTip.cs
- RC2CryptoServiceProvider.cs
- ConfigurationSettings.cs
- SettingsBindableAttribute.cs
- NullableDoubleSumAggregationOperator.cs
- FigureHelper.cs
- SerialStream.cs
- WebServiceResponse.cs
- WCFModelStrings.Designer.cs
- XmlCharCheckingWriter.cs
- PropertyPushdownHelper.cs
- Parameter.cs
- InvokePatternIdentifiers.cs
- TextPatternIdentifiers.cs
- Label.cs
- OwnerDrawPropertyBag.cs
- MailDefinition.cs
- TraceHandlerErrorFormatter.cs
- RetrieveVirtualItemEventArgs.cs
- ExtendLockAsyncResult.cs
- PhysicalFontFamily.cs
- ResourceWriter.cs
- ViewBox.cs
- ClientBuildManager.cs
- ArcSegment.cs
- MessageSecurityOverMsmqElement.cs
- BufferedStream2.cs
- FontNameEditor.cs
- DynamicDataManager.cs
- LinkUtilities.cs
- RSAOAEPKeyExchangeFormatter.cs
- BaseTreeIterator.cs
- TileBrush.cs
- PhysicalOps.cs
- HtmlButton.cs
- MetaForeignKeyColumn.cs
- InputMethodStateChangeEventArgs.cs
- StructuredTypeEmitter.cs
- Route.cs
- SelectedDatesCollection.cs
- EndPoint.cs
- UIPropertyMetadata.cs
- TextTreeText.cs
- AssemblyCollection.cs
- DllHostInitializer.cs
- ObjectReaderCompiler.cs
- CompositionCommandSet.cs
- DnsElement.cs
- GridPattern.cs
- ProxyManager.cs
- XmlTextReader.cs
- QueueProcessor.cs
- DesignTimeVisibleAttribute.cs
- BuiltInExpr.cs
- ColorPalette.cs
- GetWorkflowTree.cs