mirror of
https://github.com/dimitri/pgloader.git
synced 2026-05-05 19:06:11 +02:00
In MS SQL, protect all identifiers with square brackets.
This commit is contained in:
parent
caed00c234
commit
5d80c8371f
@ -56,7 +56,7 @@
|
||||
(with-mssql-connection ((source-db mssql))
|
||||
(let* ((sql (destructuring-bind (schema . table-name)
|
||||
(source mssql)
|
||||
(format nil "SELECT ~{~a~^, ~} FROM ~a.~a;"
|
||||
(format nil "SELECT ~{~a~^, ~} FROM [~a].[~a];"
|
||||
(get-column-list (fields mssql))
|
||||
schema
|
||||
table-name)))
|
||||
@ -64,7 +64,7 @@
|
||||
(lambda (row)
|
||||
(pgstate-incf *state* (target mssql) :read 1)
|
||||
(funcall process-row-fn row))))
|
||||
(log-message :warning "~a" sql)
|
||||
(log-message :log "~a" sql)
|
||||
(handler-case
|
||||
(mssql::map-query-results sql :row-fn row-fn :connection *mssql-db*)
|
||||
(condition (e)
|
||||
|
||||
@ -185,8 +185,8 @@ ORDER BY T.[name], I.[index_id], IC.[key_ordinal];")
|
||||
|
||||
Mostly we just use the name, and make try to avoid parsing dates."
|
||||
(case (intern (string-upcase type) "KEYWORD")
|
||||
(:datetime (format nil "convert(varchar, ~a, 126)" name))
|
||||
(t (format nil "~a" name))))
|
||||
(:datetime (format nil "convert(varchar, [~a], 126)" name))
|
||||
(t (format nil "[~a]" name))))
|
||||
|
||||
(defun get-column-list (columns)
|
||||
"Tweak how we fetch the column values to avoid parsing when possible."
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user