Exemple #1
0
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
}
Exemple #2
0
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
}
Exemple #3
0
 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;
     });
 }