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
- DecimalFormatter.cs
- FormViewUpdatedEventArgs.cs
- LazyTextWriterCreator.cs
- RegexRunnerFactory.cs
- LiteralText.cs
- CommonProperties.cs
- ScalarConstant.cs
- GridView.cs
- SystemKeyConverter.cs
- PeerTransportListenAddressValidator.cs
- RijndaelManagedTransform.cs
- TreeNode.cs
- _SecureChannel.cs
- IPPacketInformation.cs
- PerfCounters.cs
- WinInet.cs
- InstanceDataCollectionCollection.cs
- EntityDataSourceWrapperCollection.cs
- IdentitySection.cs
- DataGridViewRowCancelEventArgs.cs
- ImportCatalogPart.cs
- ADConnectionHelper.cs
- VisemeEventArgs.cs
- CategoryGridEntry.cs
- RC2CryptoServiceProvider.cs
- X509ChainPolicy.cs
- ExpressionBuilder.cs
- Permission.cs
- RemoteWebConfigurationHostServer.cs
- TypeListConverter.cs
- Visual3D.cs
- WebConvert.cs
- NonParentingControl.cs
- SqlClientFactory.cs
- ICspAsymmetricAlgorithm.cs
- X509Extension.cs
- SequenceDesignerAccessibleObject.cs
- ButtonBaseAutomationPeer.cs
- ProtocolsSection.cs
- DynamicMethod.cs
- EventTask.cs
- NavigationFailedEventArgs.cs
- Helper.cs
- RemoteWebConfigurationHostServer.cs
- BinaryFormatterWriter.cs
- DllHostedComPlusServiceHost.cs
- SmtpReplyReader.cs
- CanonicalFormWriter.cs
- DataGridColumn.cs
- NTAccount.cs
- MemoryFailPoint.cs
- Crypto.cs
- MetadataArtifactLoaderCompositeFile.cs
- XslUrlEditor.cs
- MetadataItemSerializer.cs
- BinaryConverter.cs
- WebServicesDescriptionAttribute.cs
- ProjectionCamera.cs
- EncoderParameter.cs
- NotificationContext.cs
- CodeSubDirectoriesCollection.cs
- ObjectTypeMapping.cs
- CommandHelpers.cs
- DateRangeEvent.cs
- XhtmlBasicLiteralTextAdapter.cs
- DBSqlParserTableCollection.cs
- ConfigurationLocation.cs
- LogoValidationException.cs
- ReaderWriterLock.cs
- SqlDataSourceSelectingEventArgs.cs
- Triplet.cs
- PresentationSource.cs
- GroupItemAutomationPeer.cs
- unsafenativemethodsother.cs
- Material.cs
- LicenseManager.cs
- altserialization.cs
- CodeAccessPermission.cs
- StateElement.cs
- TextEditorCopyPaste.cs
- ComponentDispatcher.cs
- RecordBuilder.cs
- ResourcesBuildProvider.cs
- TargetParameterCountException.cs
- ParsedAttributeCollection.cs
- ApplicationSecurityManager.cs
- ConfigXmlText.cs
- ApplicationFileParser.cs
- CustomError.cs
- QilReference.cs
- RangeValidator.cs
- HMACSHA256.cs
- SqlError.cs
- QueryCacheManager.cs
- IndentTextWriter.cs
- SpeechSeg.cs
- SmiRequestExecutor.cs
- FixedFindEngine.cs
- DefaultObjectMappingItemCollection.cs
- MdiWindowListStrip.cs