X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fooddl.lisp;fp=sql%2Fooddl.lisp;h=eae4f0efdd4bc58af0b1c6ed22f7eb24016862ad;hp=9db898b36a428afdb435684daa5b57af15516ed6;hb=5ed1f05543cbd24b3f2bb735f2cfc03ea85e51ec;hpb=e567409d9fff3f7231c2a0bb69b345e19de2b246 diff --git a/sql/ooddl.lisp b/sql/ooddl.lisp index 9db898b..eae4f0e 100644 --- a/sql/ooddl.lisp +++ b/sql/ooddl.lisp @@ -104,13 +104,16 @@ in DATABASE which defaults to *DEFAULT-DATABASE*." t) (defmethod database-pkey-constraint ((class standard-db-class) database) - (let ((keylist (mapcar #'view-class-slot-column (keyslots-for-class class)))) + (let ((keylist (mapcar #'view-class-slot-column (keyslots-for-class class))) + (table (view-table class))) (when keylist - (convert-to-db-default-case - (format nil "CONSTRAINT ~APK PRIMARY KEY~A" - (sql-output (view-table class) database) - (sql-output keylist database)) - database)))) + (etypecase table + (string + (format nil "CONSTRAINT \"~APK\" PRIMARY KEY~A" table + (sql-output keylist database))) + ((or symbol sql-ident) + (format nil "CONSTRAINT ~APK PRIMARY KEY~A" table + (sql-output keylist database))))))) (defmethod database-generate-column-definition (class slotdef database) (declare (ignore database class))