### Function

# RB RhythmDBEntry new

#### Declaration [src]

    RhythmDBEntry*
    rhythmdb_entry_new (
      RhythmDB* db,
      RhythmDBEntryType* type,
      const char* uri
    )

#### Description [src]

Creates a new entry of type `type` and location `uri`, and inserts it into the database. You must call `rhythmdb_commit()` at some point after invoking this function.

This may return NULL if entry creation fails. This can occur if there is already an entry with the given uri.

#### Parameters

`db`

  Type: `RhythmDB`

  A `RhythmDB`.

  The data is owned by the caller of the function.

`type`

  Type: `RhythmDBEntryType`

  Type of entry to create.

  The data is owned by the caller of the function.

`uri`

  Type: `const char*`

  The location of the entry, this be unique amongst all entries.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

#### Return value

Type: `RhythmDBEntry`

The newly created `RhythmDBEntry`.

The data is owned by the called function.