message: db_get_i64 now supports buffer_size = 0
diff: @@ -421,7 +421,6 @@ int apply_context::get_context_free_data( uint32_t index, char* buffer, size_t b
  if( index >= trx_meta.context_free_data.size() ) return -1;
  auto s = trx_meta.context_free_data[index].size();
  -
  if( buffer_size == 0 ) return s;
  auto copy_size = std::min( buffer_size, s );
  @@ -523,9 +522,14 @@ void apply_context::db_remove_i64( int iterator ) {
  int apply_context::db_get_i64( int iterator, char* buffer, size_t buffer_size ) {
  const key_value_object& obj = keyval_cache.get( iterator );
  - memcpy( buffer, obj.value.data(), std::min(obj.value.size(), buffer_size) );
  - return obj.value.size();
  + auto s = obj.value.size();
  + if( buffer_size == 0 ) return s;
  +
  + auto copy_size = std::min( buffer_size, s );
  + memcpy( buffer, obj.value.data(), copy_size );
  +
  + return copy_size;
  }
  int apply_context::db_next_i64( int iterator, uint64_t& primary ) {
  