if (status != 0) {
// Failure: check for the special case of duplicate entry.
if ((mysql_errno(mysql_) == ER_DUP_ENTRY)
-#if defined(ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO) && \
- (ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO != ER_DUP_ENTRY)
-
+#ifdef ER_FOREIGN_DUPLICATE_KEY
+ || (mysql_errno(mysql_) == ER_FOREIGN_DUPLICATE_KEY)
+#endif
+#ifdef ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO
|| (mysql_errno(mysql_) == ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO)
+#endif
+#ifdef ER_FOREIGN_DUPLICATE_KEY_WITHOUT_CHILD_INFO
+ || (mysql_errno(mysql_) == ER_FOREIGN_DUPLICATE_KEY_WITHOUT_CHILD_INFO)
#endif
) {
isc_throw(DuplicateEntry, "Database duplicate entry error");