grn_obj_columns: fix a bug that "*" may return wrong column
grn_obj_columns: fix a bug that "*" may return wrong column

It's occurred when intermediate table has any dynamic columns:

For example:

  1. TABLE1: It has COLUMN1
  2. (anonymous result set for TABLE1): It has DYNAMIC_COLUMN1
  3. (anonymous result set for 2.): It doesn't have any dynamic columns

grn_obj_columns(3., "*") returns the following accessors without this
fix:

  a. (3.)->(2.)->(1.)->_id
  b. (3.)->(2.)->(1.)->COLUMN1
  c. (3.)->(2.)->(1.)->DYNAMIC_COLUMN1: WRONG.
     This should be (3.)->(2.)->DYNAMIC_COLUMN1.

groonga/groonga,komainu8/groonga,kenhys/groonga,groonga/groonga,kenhys/groonga,kenhys/groonga,groonga/groonga,kenhys/groonga,kenhys/groonga,kenhys/groonga,komainu8/groonga,komainu8/groonga,komainu8/groonga,groonga/groonga,komainu8/groonga,kenhys/groonga,komainu8/groonga,groonga/groonga,groonga/groonga,kenhys/groonga,groonga/groonga,groonga/groonga,komainu8/groonga,komainu8/groonga