From c9fc934297f1eda753afcb462ba43cef76081bd2 Mon Sep 17 00:00:00 2001 From: prabatuty Date: Wed, 30 Jul 2008 07:22:01 +0000 Subject: [PATCH] csqldump does not display fields in case of composite keys --- src/server/TableImpl.cxx | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/server/TableImpl.cxx b/src/server/TableImpl.cxx index 92734d7f..d8ed62e6 100644 --- a/src/server/TableImpl.cxx +++ b/src/server/TableImpl.cxx @@ -674,8 +674,20 @@ void TableImpl::printSQLIndexString() for (int i = 0; i < numIndexes_ ; i++) { INDEX *iptr = (INDEX*) indexPtr_[i]; - cIndexField.getFieldNameAndType((void*)iptr, fldName, type); - printf("CREATE INDEX %s on %s ( %s ) ", iptr->indName_, getName(), fldName); + //cIndexField.getFieldNameAndType((void*)iptr, fldName, type); + //printf("CREATE INDEX %s on %s ( %s ) ", iptr->indName_, getName(), fldName); + printf("CREATE INDEX %s on %s ( ", iptr->indName_, getName()); + FieldList fldList; + cIndexField.getFieldInfo(iptr, fldList); + FieldIterator fIter = fldList.getIterator(); + bool firstFld = true; + while(fIter.hasElement()) + { + FieldDef def = fIter.nextElement(); + if (firstFld) { printf(" %s ", def.fldName_); firstFld = false; } + else printf(" ,%s ", def.fldName_); + } + printf(" ) "); if (((HashIndexInfo*) idxInfo[i])->isUnique) printf(" UNIQUE;\n"); else printf(";\n"); } } -- 2.11.4.GIT