CCL Lisp Error when selecting via clsql-sqlite3 records with special characters

416 views Asked by At

On Windows10/64, I installed CCL Lisp 1.11, downloaded the sqlite3.dll, then installed quicklisp and cl-sql. I get an error in the context of (german) special characters. This is what I tried in the Emacs Slime Repl:

(clsql:connect '("C:/users/user/test.sqlite")
               :database-type :sqlite3
               :encoding 'utf-8)
(clsql:execute-command "create table name (name)")
(clsql:execute-command "insert into name values ('Übermaß')")
(format t "~A" (clsql:query "select * from name") )

Executing the last line invokes the debugger:

Cannot allocate a STRING with NIL elements.
Objects of type STRING can can have at most 
16777215 elements in this implementation.
   [Condition of type CCL::VECTOR-SIZE-LIMITATION] ...
Backtrace
  0: (%STR-FROM-PTR #<A Foreign Pointer #x2D0F8C8> NIL NIL)
  1: ((:INTERNAL CLSQL-SQLITE3::EXTRACT-ROW-DATA (CLSQL-SYS:DATABASE-QUERY (T CLSQL-SQLITE3:SQLITE3-DATABASE T T))))
  2: (#<STANDARD-METHOD CLSQL-SYS:DATABASE-QUERY (T CLSQL-SQLITE3:SQLITE3-DATABASE T T)> "select * from name" #<SQLITE3-DATABASE C:/users/user/test.sqlite OPEN #xCDC1B7E> :AUTO T)
  3: (CCL::%%STANDARD-COMBINED-METHOD-DCODE ((#<STANDARD-METHOD CLSQL-SYS:DATABASE-QUERY :BEFORE (T CLSQL-SYS:DATABASE T T)>) NIL ..) 16705134)
  ... 

My Emacs .init.el is configured to use UTF-8:

(set-language-environment "utf-8")
(setq inferior-lisp-program "C:/users/user/bin/ccl-1.11/wx86cl.exe -K utf-8")
(setq slime-net-coding-system 'utf-8-unix)
(prefer-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)

If I try to create the .sqlite DB File without the UTF-8 Encoding, inserting and selecting data works, but the special characters are not displayed correctly.

0

There are 0 answers