    # File lib/amalgalite/statement.rb, line 332
        def result_meta
          unless @result_meta
            meta = []
            column_count.times do |idx|
              column_meta = ::OpenStruct.new
              column_meta.name = @stmt_api.column_name( idx )

              db_name  = @stmt_api.column_database_name( idx )
              tbl_name = @stmt_api.column_table_name( idx )
              col_name = @stmt_api.column_origin_name( idx )

              column_meta.schema = ::Amalgalite::Column.new( db_name, tbl_name, col_name, idx )
              column_meta.schema.declared_data_type = @stmt_api.column_declared_type( idx )

              # only check for rowid if we have a table name and it is not the
              # sqlite_master table.  We could get recursion in those cases.
              if not using_rowid_column? and tbl_name and tbl_name != 'sqlite_master' and is_column_rowid?( tbl_name, col_name ) then
                @rowid_index = idx
              end

              meta << column_meta
            end

            @result_meta = meta
          end
          return @result_meta
        end