Пример #1
0
        public OracleTimestampWithLocalTimeZone(OracleTimeStampLTZ timeStamp)
        {
            _value = timeStamp;

            if (!timeStamp.IsNull)
            {
                _dateTime = new OracleDateTime(timeStamp.Year, timeStamp.Month, timeStamp.Day, timeStamp.Hour, timeStamp.Minute, timeStamp.Second);
            }
        }
Пример #2
0
            public void TestDateMode()
            {
                var aggregator = new OracleValueAggregator();
                var date       = new OracleDateTime(new OracleDate(2016, 6, 22));

                aggregator.AddValue(date);
                aggregator.AddValue(date);

                aggregator.Mode.Value.ShouldBe(date);
                aggregator.Mode.Count.ShouldBe(2);
            }
	public static OracleBoolean NotEquals(OracleDateTime x, OracleDateTime y) {}
	public static OracleBoolean LessThan(OracleDateTime x, OracleDateTime y) {}
	public static OracleBoolean GreaterThan(OracleDateTime x, OracleDateTime y) {}
	public OracleDateTime(OracleDateTime from) {}
Пример #7
0
 protected bool Equals(OracleDateTime other)
 {
     return(Equals(RawValue, other.RawValue));
 }
	public static OracleBoolean op_LessThanOrEqual(OracleDateTime x, OracleDateTime y) {}
Пример #9
0
 public static OracleBoolean op_Equality(OracleDateTime x, OracleDateTime y)
 {
 }
Пример #10
0
 public static System.DateTime op_Explicit(OracleDateTime x)
 {
 }
Пример #11
0
 public static OracleBoolean NotEquals(OracleDateTime x, OracleDateTime y)
 {
 }
Пример #12
0
 public static OracleBoolean LessThanOrEqual(OracleDateTime x, OracleDateTime y)
 {
 }
Пример #13
0
 public static OracleBoolean GreaterThanOrEqual(OracleDateTime x, OracleDateTime y)
 {
 }
Пример #14
0
 public OracleDateTime(OracleDateTime from)
 {
 }
Пример #15
0
 public static OracleBoolean op_LessThan(OracleDateTime x, OracleDateTime y)
 {
 }
	public static System.DateTime op_Explicit(OracleDateTime x) {}
	public static OracleBoolean op_GreaterThanOrEqual(OracleDateTime x, OracleDateTime y) {}
Пример #18
0
 public static OracleBoolean op_GreaterThan(OracleDateTime x, OracleDateTime y)
 {
 }
	public static OracleBoolean op_Inequality(OracleDateTime x, OracleDateTime y) {}
Пример #20
0
        internal static string FormatValue(OracleDateTime dateTime, int nanoseconds, int fractionPrecision)
        {
            var fractionPart = nanoseconds.ToString(CultureInfo.InvariantCulture).PadLeft(9, '0').Substring(0, fractionPrecision);

            return($"{dateTime}{(String.IsNullOrEmpty(fractionPart) ? null : $".{fractionPart}")}");
Пример #21
0
        public void AddValue(object value)
        {
            if (value == null || value == DBNull.Value)
            {
                return;
            }

            if (value is IValue oracleValue && oracleValue.IsNull)
            {
                return;
            }

            Type valueType;

            var oracleNumber = value as OracleNumber;

            if (value is int || value is long || value is decimal || value is short || value is uint || value is ulong || value is ushort)
            {
                value = oracleNumber = new OracleNumber(new OracleDecimal(Convert.ToDecimal(value)));
            }

            var oracleDate = value as OracleDateTime;

            if (value is DateTime)
            {
                value = oracleDate = new OracleDateTime(new OracleDate(Convert.ToDateTime(value)));
            }

            Count++;

            _distinctValues.Add(value);

            var oracleTimestamp              = value as OracleTimestamp;
            var oracleTimestampTimezone      = value as OracleTimestampWithTimeZone;
            var oracleTimestampLocalTimezone = value as OracleTimestampWithLocalTimeZone;
            var oracleIntervalYearToMonth    = value as OracleIntervalYearToMonth;
            var oracleIntervalDayToSecond    = value as OracleIntervalDayToSecond;

            if (oracleNumber != null)
            {
                valueType = typeof(OracleDecimal);
                var typedValue = (OracleDecimal)oracleNumber.RawValue;
                _oracleNumberSum += typedValue;
            }
            else if (oracleDate != null)
            {
                valueType = typeof(OracleDate);
                AggregatedValuesAvailable = false;
            }
            else if (oracleTimestamp != null)
            {
                valueType = typeof(OracleTimeStamp);
                AggregatedValuesAvailable = false;
            }
            else if (oracleTimestampTimezone != null)
            {
                valueType = typeof(OracleTimeStampTZ);
                AggregatedValuesAvailable = false;
            }
            else if (oracleTimestampLocalTimezone != null)
            {
                valueType = typeof(OracleTimeStampLTZ);
                AggregatedValuesAvailable = false;
            }
            else if (oracleIntervalYearToMonth != null)
            {
                valueType = typeof(OracleIntervalYM);
                var typedValue = (OracleIntervalYM)oracleIntervalYearToMonth.RawValue;
                _oracleYearToMonthSum += typedValue;
            }
            else if (oracleIntervalDayToSecond != null)
            {
                valueType = typeof(OracleIntervalDS);
                var typedValue = (OracleIntervalDS)oracleIntervalDayToSecond.RawValue;
                _oracleDayToSecondSum += typedValue;
            }
            else
            {
                valueType = typeof(object);
                AggregatedValuesAvailable = false;
                LimitValuesAvailable      = false;
            }

            if (LimitValuesAvailable)
            {
                _typeValues.Add(Tuple.Create(valueType, value));
            }

            if (_valueType == null)
            {
                _valueType = valueType;
            }
            else if (_valueType != valueType)
            {
                SetIndeterminate();
            }
        }
Пример #22
0
		public void AddValue(object value)
		{
			if (value == null || value == DBNull.Value)
			{
				return;
			}

			var oracleValue = value as IValue;
			if (oracleValue != null && oracleValue.IsNull)
			{
				return;
			}

			Type valueType;

			var oracleNumber = value as OracleNumber;
			if (value is int || value is long || value is decimal || value is short || value is uint || value is ulong || value is ushort)
			{
				value = oracleNumber = new OracleNumber(new OracleDecimal(Convert.ToDecimal(value)));
			}

			var oracleDate = value as OracleDateTime;
			if (value is DateTime)
			{
				value = oracleDate = new OracleDateTime(new OracleDate(Convert.ToDateTime(value)));
			}

			Count++;

			_distinctValues.Add(value);

			var oracleTimestamp = value as OracleTimestamp;
			var oracleTimestampTimezone = value as OracleTimestampWithTimeZone;
			var oracleTimestampLocalTimezone = value as OracleTimestampWithLocalTimeZone;
			var oracleIntervalYearToMonth = value as OracleIntervalYearToMonth;
			var oracleIntervalDayToSecond = value as OracleIntervalDayToSecond;
			if (oracleNumber != null)
			{
				valueType = typeof(OracleDecimal);
				var typedValue = (OracleDecimal)oracleNumber.RawValue;
				_oracleNumberSum += typedValue;
			}
			else if (oracleDate != null)
			{
				valueType = typeof(OracleDate);
				AggregatedValuesAvailable = false;
			}
			else if (oracleTimestamp != null)
			{
				valueType = typeof(OracleTimeStamp);
				AggregatedValuesAvailable = false;
			}
			else if (oracleTimestampTimezone != null)
			{
				valueType = typeof(OracleTimeStampTZ);
				AggregatedValuesAvailable = false;
			}
			else if (oracleTimestampLocalTimezone != null)
			{
				valueType = typeof(OracleTimeStampLTZ);
				AggregatedValuesAvailable = false;
			}
			else if (oracleIntervalYearToMonth != null)
			{
				valueType = typeof(OracleIntervalYM);
				var typedValue = (OracleIntervalYM)oracleIntervalYearToMonth.RawValue;
				_oracleYearToMonthSum += typedValue;
			}
			else if (oracleIntervalDayToSecond != null)
			{
				valueType = typeof(OracleIntervalDS);
				var typedValue = (OracleIntervalDS)oracleIntervalDayToSecond.RawValue;
				_oracleDayToSecondSum += typedValue;
			}
			else
			{
				valueType = typeof(object);
				AggregatedValuesAvailable = false;
				LimitValuesAvailable = false;
			}

			if (LimitValuesAvailable)
			{
				_typeValues.Add(Tuple.Create(valueType, value));
			}

			if (_valueType == null)
			{
				_valueType = valueType;
			}
			else if (_valueType != valueType)
			{
				SetIndeterminate();
			}
		}