add string typeid for mysql char(N) fields

closes PR 13255

Need to add tests, but "select cast(? as char(5))" results in var-string,
not string. Only get string typeid when reading from table.
This commit is contained in:
Ryan Culpepper 2012-11-14 19:23:33 -05:00
parent 4cdcfd6a3b
commit 8db023c624
2 changed files with 3 additions and 2 deletions

View File

@ -136,6 +136,7 @@
(time time 0) (time time 0)
(datetime datetime 0) (datetime datetime 0)
(varchar varchar 0) (varchar varchar 0)
(string character 0)
(var-string var-string 0) (var-string var-string 0)
(tiny-blob tinyblob 0) (tiny-blob tinyblob 0)
(medium-blob mediumblob 0) (medium-blob mediumblob 0)

View File

@ -668,7 +668,7 @@ computed string on the server can be. See also:
((int24) (io:read-le-int24 in)) ;; FIXME signed/unsigned ((int24) (io:read-le-int24 in)) ;; FIXME signed/unsigned
((long) (io:read-le-int32 in (not (memq 'unsigned flags)))) ((long) (io:read-le-int32 in (not (memq 'unsigned flags))))
((longlong) (io:read-le-int64 in (not (memq 'unsigned flags)))) ((longlong) (io:read-le-int64 in (not (memq 'unsigned flags))))
((varchar var-string blob tiny-blob medium-blob long-blob) ((varchar string var-string blob tiny-blob medium-blob long-blob)
(if (memq 'binary flags) (if (memq 'binary flags)
(io:read-length-coded-bytes in) (io:read-length-coded-bytes in)
(io:read-length-coded-string in))) (io:read-length-coded-string in)))
@ -765,7 +765,7 @@ computed string on the server can be. See also:
(define (supported-result-typeid? typeid) (define (supported-result-typeid? typeid)
(case typeid (case typeid
((tiny short int24 long longlong float double) #t) ((tiny short int24 long longlong float double) #t)
((varchar var-string blob tiny-blob medium-blob long-blob) #t) ((varchar string var-string blob tiny-blob medium-blob long-blob) #t)
((date datetime timestamp newdate time year) #t) ((date datetime timestamp newdate time year) #t)
((newdecimal bit geometry) #t) ((newdecimal bit geometry) #t)
((null) #t) ((null) #t)