# Type db_row_t

This type represents one row in a database table. In other words, the row is an array of `db_val_t` variables, where each `db_val_t` variable represents exactly one cell in the table.

    typedef struct db_row {
        db_val_t* values;    /* Array of values in the row */
        int n;               /* Number of values in the row */
    } db_val_t;

- `ROW_VALUES(row)` Macro.

  Use this macro to get pointer to array of `db_val_t` structures.

  ## ROW_VALUES Macro

      ...
      db_val_t* v = ROW_VALUES(row);
      if (VAL_TYPE(v) == DB_INT)
      ...

- `ROW_N(row)` Macro.

  Use this macro to get number of cells in a row.

  ## ROW_N Macro

      ...
      db_val_t* val = ROW_VALUES(row);
      for(i = 0; i < ROW_N(row); i++) {
          switch(VAL_TYPE(val + i)) {
              case DB_INT: ...; break;
              case DB_DOUBLE: ...; break;
              ...
          }
      }
      ...