private static void AddQueryGreaterThan(QueryHandle queryHandle, string columnName, object value)
        {
            var columnIndex = NativeQuery.get_column_index((QueryHandle)queryHandle, columnName, (IntPtr)columnName.Length);

            var valueType = value.GetType();

            if (valueType == typeof(int))
            {
                NativeQuery.int_greater((QueryHandle)queryHandle, columnIndex, (IntPtr)((int)value));
            }
            else if (valueType == typeof(float))
            {
                NativeQuery.float_greater((QueryHandle)queryHandle, columnIndex, (float)value);
            }
            else if (valueType == typeof(double))
            {
                NativeQuery.double_greater((QueryHandle)queryHandle, columnIndex, (double)value);
            }
            else if (valueType == typeof(DateTimeOffset))
            {
                NativeQuery.datetime_seconds_greater(queryHandle, columnIndex, ((DateTimeOffset)value).ToUnixTimeSeconds());
            }
            else if (valueType == typeof(string) || valueType == typeof(bool))
            {
                throw new Exception("Unsupported type " + valueType.Name);
            }
            else
            {
                throw new NotImplementedException();
            }
        }