- (if (eq :mysql (database-odbc-db-type database))
- (mysql-workaround-bug-list-table-indexes table database)
- (odbc-list-table-indexes table database)))
-
-(defun mysql-workaround-bug-list-table-indexes (table database)
- ;; MyODBC 3.52 does not properly return results from SQLStatistics
- (do ((results nil)
- (rows (database-query
- (format nil "SHOW INDEX FROM ~A" (string-upcase table))
- database nil)
- (cdr rows)))
- ((null rows) (nreverse results))
- (let ((col (nth 2 (car rows))))
- (unless (find col results :test #'string-equal)
- (push col results)))))