|
99 | 99 | (let ((mysql-ptr (mysql-init (uffi:make-null-pointer 'mysql-mysql))) |
100 | 100 | (socket nil)) |
101 | 101 | (if (uffi:null-pointer-p mysql-ptr) |
102 | | - (error 'clsql-connect-error |
| 102 | + (error 'sql-connection-error |
103 | 103 | :database-type database-type |
104 | 104 | :connection-spec connection-spec |
105 | | - :errno (mysql-errno mysql-ptr) |
106 | | - :error (mysql-error-string mysql-ptr)) |
| 105 | + :error-id (mysql-errno mysql-ptr) |
| 106 | + :message (mysql-error-string mysql-ptr)) |
107 | 107 | (uffi:with-cstrings ((host-native host) |
108 | 108 | (user-native user) |
109 | 109 | (password-native password) |
|
117 | 117 | db-native 0 socket-native 0)) |
118 | 118 | (progn |
119 | 119 | (setq error-occurred t) |
120 | | - (error 'clsql-connect-error |
| 120 | + (error 'sql-connect-error |
121 | 121 | :database-type database-type |
122 | 122 | :connection-spec connection-spec |
123 | | - :errno (mysql-errno mysql-ptr) |
124 | | - :error (mysql-error-string mysql-ptr))) |
| 123 | + :error-id (mysql-errno mysql-ptr) |
| 124 | + :message (mysql-error-string mysql-ptr))) |
125 | 125 | (make-instance 'mysql-database |
126 | 126 | :name (database-name-from-spec connection-spec |
127 | 127 | database-type) |
|
173 | 173 | (when field-names |
174 | 174 | (result-field-names num-fields res-ptr)))) |
175 | 175 | (mysql-free-result res-ptr)) |
176 | | - (error 'clsql-sql-error |
| 176 | + (error 'sql-database-data-error |
177 | 177 | :database database |
178 | 178 | :expression query-expression |
179 | | - :errno (mysql-errno mysql-ptr) |
180 | | - :error (mysql-error-string mysql-ptr)))) |
181 | | - (error 'clsql-sql-error |
| 179 | + :error-id (mysql-errno mysql-ptr) |
| 180 | + :message (mysql-error-string mysql-ptr)))) |
| 181 | + (error 'sql-database-data-error |
182 | 182 | :database database |
183 | 183 | :expression query-expression |
184 | | - :errno (mysql-errno mysql-ptr) |
185 | | - :error (mysql-error-string mysql-ptr)))))) |
| 184 | + :error-id (mysql-errno mysql-ptr) |
| 185 | + :message (mysql-error-string mysql-ptr)))))) |
186 | 186 |
|
187 | 187 | (defmethod database-execute-command (sql-expression (database mysql-database)) |
188 | 188 | (uffi:with-cstring (sql-native sql-expression) |
|
191 | 191 | (if (zerop (mysql-real-query mysql-ptr sql-native |
192 | 192 | (length sql-expression))) |
193 | 193 | t |
194 | | - (error 'clsql-sql-error |
| 194 | + (error 'sql-database-data-error |
195 | 195 | :database database |
196 | 196 | :expression sql-expression |
197 | | - :errno (mysql-errno mysql-ptr) |
198 | | - :error (mysql-error-string mysql-ptr)))))) |
| 197 | + :error-id (mysql-errno mysql-ptr) |
| 198 | + :message (mysql-error-string mysql-ptr)))))) |
199 | 199 |
|
200 | 200 |
|
201 | 201 | (defstruct mysql-result-set |
|
233 | 233 | (mysql-num-rows res-ptr)) |
234 | 234 | (values result-set |
235 | 235 | num-fields))) |
236 | | - (error 'clsql-sql-error |
| 236 | + (error 'sql-database-data-error |
237 | 237 | :database database |
238 | 238 | :expression query-expression |
239 | | - :errno (mysql-errno mysql-ptr) |
240 | | - :error (mysql-error-string mysql-ptr)))) |
241 | | - (error 'clsql-sql-error |
| 239 | + :error-id (mysql-errno mysql-ptr) |
| 240 | + :message (mysql-error-string mysql-ptr)))) |
| 241 | + (error 'sql-database-data-error |
242 | 242 | :database database |
243 | 243 | :expression query-expression |
244 | | - :errno (mysql-errno mysql-ptr) |
245 | | - :error (mysql-error-string mysql-ptr)))))) |
| 244 | + :error-id (mysql-errno mysql-ptr) |
| 245 | + :message (mysql-error-string mysql-ptr)))))) |
246 | 246 |
|
247 | 247 | (defmethod database-dump-result-set (result-set (database mysql-database)) |
248 | 248 | (mysql-free-result (mysql-result-set-res-ptr result-set)) |
|
398 | 398 | name) |
399 | 399 | (if (or (not (eql 0 status)) |
400 | 400 | (and (search "failed" output) (search "error" output))) |
401 | | - (error 'clsql-access-error |
402 | | - :connection-spec connection-spec |
403 | | - :database-type type |
404 | | - :error |
405 | | - (format nil "database-create failed: ~A" output)) |
406 | | - t)))) |
| 401 | + (error 'sql-database-error |
| 402 | + :message |
| 403 | + (format nil "mysql database creation failed with connection-spec ~A." |
| 404 | + connection-spec)) |
| 405 | + t)))) |
407 | 406 |
|
408 | 407 | (defmethod database-destroy (connection-spec (type (eql :mysql))) |
409 | 408 | (destructuring-bind (host name user password) connection-spec |
|
414 | 413 | name) |
415 | 414 | (if (or (not (eql 0 status)) |
416 | 415 | (and (search "failed" output) (search "error" output))) |
417 | | - (error 'clsql-access-error |
418 | | - :connection-spec connection-spec |
419 | | - :database-type type |
420 | | - :error |
421 | | - (format nil "database-destroy failed: ~A" output)) |
| 416 | + (error 'sql-database-error |
| 417 | + :message |
| 418 | + (format nil "mysql database deletion failed with connection-spec ~A." |
| 419 | + connection-spec)) |
422 | 420 | t)))) |
423 | 421 |
|
424 | 422 | (defmethod database-probe (connection-spec (type (eql :mysql))) |
|
0 commit comments