private static void AddQueryLessThan(QueryHandle queryHandle, string columnName, object value) { var columnIndex = queryHandle.GetColumnIndex(columnName); if (value is char) { queryHandle.IntLess(columnIndex, (int)value); } else if (value is int) { queryHandle.IntLess(columnIndex, (int)value); } else if (value is long) { queryHandle.LongLess(columnIndex, (long)value); } else if (value is float) { queryHandle.FloatLess(columnIndex, (float)value); } else if (value is double) { queryHandle.DoubleLess(columnIndex, (double)value); } else if (value is DateTimeOffset) { queryHandle.TimestampTicksLess(columnIndex, (DateTimeOffset)value); } else if (value is string || value is bool) { throw new Exception($"Unsupported type {value.GetType().Name}"); } else { throw new NotImplementedException(); } }
private static void AddQueryLessThan(QueryHandle queryHandle, string columnName, object value) { var columnIndex = queryHandle.GetColumnIndex(columnName); switch (value) { case char charValue: queryHandle.IntLess(columnIndex, charValue); break; case byte byteValue: queryHandle.IntLess(columnIndex, byteValue); break; case short shortValue: queryHandle.IntLess(columnIndex, shortValue); break; case int intValue: queryHandle.IntLess(columnIndex, intValue); break; case long longValue: queryHandle.LongLess(columnIndex, longValue); break; case float floatValue: queryHandle.FloatLess(columnIndex, floatValue); break; case double doubleValue: queryHandle.DoubleLess(columnIndex, doubleValue); break; case DateTimeOffset date: queryHandle.TimestampTicksLess(columnIndex, date); break; case string _: case bool _: throw new Exception($"Unsupported type {value.GetType().Name}"); case RealmInteger <byte> byteValue: queryHandle.IntLess(columnIndex, byteValue); break; case RealmInteger <short> shortValue: queryHandle.IntLess(columnIndex, shortValue); break; case RealmInteger <int> intValue: queryHandle.IntLess(columnIndex, intValue); break; case RealmInteger <long> longValue: queryHandle.LongLess(columnIndex, longValue); break; default: throw new NotImplementedException(); } }