How do you tell from an IndexSchema which column is indexed? when you retrieve the IndexSchema from a table you only get the index name back not the indexed column or any other info for that matter.
What database? With SQLite, you can use the index_info pragma to get back the columns in the index:
PRAGMA index_info(IndexName)
If I remember correctly, the structure of the TableSchema / IndexSchema result set was harmonized to a least common denominator between all DB plugins in 2011. Some plugins (I know for ODBC) however offer a (hardly documented: <https://xojo.com/issue/18560>) ExtendedSchema Property that changes the behavior of the Schema-Quering functions (back) to a more detailed result set which may include the information you are looking for (see: <https://xojo.com/issue/18251>).
Beside that there are Implementation specific schema querying methods using the SQL interface like what Paul suggested for SQLite as well as standardized methods proposed by the sql standard (if implemented). These are to be found in the information_schema.