+ ;; tests update-record-from-slots
+ (deftest :oodml/update-records/3
+ (values
+ (let ((lenin (car (clsql:select 'employee
+ :where [= [slot-value 'employee 'emplid]
+ 1]
+ :flatp t))))
+ (concatenate 'string
+ (first-name lenin)
+ " "
+ (last-name lenin)
+ ": "
+ (employee-email lenin)))
+ (progn
+ (setf (slot-value employee1 'first-name) "Dimitriy"
+ (slot-value employee1 'last-name) "Ivanovich"
+ (slot-value employee1 'email) "ivanovich@soviet.org")
+ (clsql:update-record-from-slots employee1 '(first-name last-name email))
+ (let ((lenin (car (clsql:select 'employee
+ :where [= [slot-value 'employee 'emplid]
+ 1]
+ :flatp t))))
+ (concatenate 'string
+ (first-name lenin)
+ " "
+ (last-name lenin)
+ ": "
+ (employee-email lenin))))
+ (progn
+ (setf (slot-value employee1 'first-name) "Vladamir"
+ (slot-value employee1 'last-name) "Lenin"
+ (slot-value employee1 'email) "lenin@soviet.org")
+ (clsql:update-record-from-slots employee1 '(first-name last-name email))
+ (let ((lenin (car (clsql:select 'employee
+ :where [= [slot-value 'employee 'emplid]
+ 1]
+ :flatp t))))
+ (concatenate 'string
+ (first-name lenin)
+ " "
+ (last-name lenin)
+ ": "
+ (employee-email lenin)))))
+ "Vladamir Lenin: lenin@soviet.org"
+ "Dimitriy Ivanovich: ivanovich@soviet.org"
+ "Vladamir Lenin: lenin@soviet.org")