inline void BinaryColumn::add(BinaryData value) { if (value.is_null() && !m_nullable) throw LogicError(LogicError::column_not_nullable); size_t row_ndx = realm::npos; bool add_zero_term = false; size_t num_rows = 1; do_insert(row_ndx, value, add_zero_term, num_rows); // Throws }
inline void BinaryColumn::insert(size_t row_ndx, BinaryData value) { if (value.is_null() && !m_nullable) throw LogicError(LogicError::column_not_nullable); size_t size = this->size(); // Slow REALM_ASSERT_3(row_ndx, <=, size); size_t row_ndx_2 = row_ndx == size ? realm::npos : row_ndx; bool add_zero_term = false; size_t num_rows = 1; do_insert(row_ndx_2, value, add_zero_term, num_rows); // Throws }
REALM_EXPORT size_t object_get_binary(const Object& object, size_t property_ndx, const char*& return_buffer, size_t& return_size, NativeException::Marshallable& ex) { return handle_errors(ex, [&]() { verify_can_get(object); const size_t column_ndx = get_column_index(object, property_ndx); const BinaryData fielddata = object.row().get_binary(column_ndx); if (fielddata.is_null()) return 0; return_buffer = fielddata.data(); return_size = fielddata.size(); return 1; }); }