### Constructor

# EBackend CacheKeys new

since: 3.48

#### Declaration [src]

    ECacheKeys*
    e_cache_keys_new (
      ECache* cache,
      const gchar* table_name,
      const gchar* key_column_name,
      const gchar* value_column_name
    )

#### Description [src]

Creates a new `ECacheKeys`, which will operate with `table_name`, using column `key_column_name` to store keys and `value_column_name` to store values.

The created `ECacheKeys` doesn’t hold a reference to the `cache`, the caller is supposed to make sure the `cache` won’t be freed before the `ECacheKeys` is freed. This is to avoid circular dependency between the `cache` and the `ECacheKeys`, when the `ECacheKey` is created by the `cache` itself (which is the expected use case).

Available since: 3.48

#### Parameters

`cache`

  Type: `ECache`

  An `ECache`.

  The data is owned by the caller of the function.

`table_name`

  Type: `const gchar*`

  A table name to operate with.

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

`key_column_name`

  Type: `const gchar*`

  Column name for the keys.

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

`value_column_name`

  Type: `const gchar*`

  Column name for the values.

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

#### Return value

Type: `ECacheKeys`

A new `ECacheKeys`.

The caller of the function takes ownership of the data, and is responsible for freeing it.