# File lib/sqlite3/pragmas.rb, line 216
    def table_info( table, &block ) # :yields: row
      columns, *rows = execute2("PRAGMA table_info(#{table})")

      needs_tweak_default = version_compare(driver.libversion, "3.3.7") > 0

      result = [] unless block_given?
      rows.each do |row|
        new_row = {}
        columns.each_with_index do |name, index|
          new_row[name] = row[index]
        end

        tweak_default(new_row) if needs_tweak_default

        if block_given?
          yield new_row
        else
          result << new_row
        end
      end

      result
    end