Lisp HUG Maillist Archive

Clsql returning garbage in LW 7.0

Hello,

 

I recently ran the "ql:update-all-dists" command from Quicklisp in Lispworks 7.0. Afterwards a program that was working perfectly using Clsql no longer works properly in the IDE. It looks as though it sees the Microsoft access database structure correctly. However with the exception of date type fields it returns garbage from my database. It is important to note that the database is fine and works flawlessly with the earlier standalone executable of this same program. 


This is an example of what I am seeing.

 

When I evaluate this:

 

(clsql:connect '("MyDatabase" "" "") :if-exists :new :database-type :odbc)

(setf MyList (clsql:select '* :from 'MyTable :where (string-equal 'office "office-name")))

 

It returns something that looks like this:

 

((“^@” “^A^A^A^A^A” “^A^A^A^A^A^A^A^A” “^A” nil “2004-02-03T00:00:00” “^A^A^A^A^A^A” “^@^@^@^@^@^@”)(“^@” “^A^A^A^A^A” “^A^A^A^A^A^A^A^A” “^A” nil “2005-02-03T00:00:00” “^A^A^A^A^A^A” “^@^@^@^@^@^@”))


I tried using an earlier version of Clsql but it did not work. I tried contacting the person who maintains Clsql in multiple ways but I did not hear back. So I am guessing he no longer supports it.

 

Is anyone else having this issue? Any idea what is wrong?


Thanks,


William

Re: Clsql returning garbage in LW 7.0

Hi William,

I’m don’t know about CLSQL, but what you describe smells a lot like a character encoding issue. 

Have a look at LispWorks 7 release notes I think something has changed in this regard, meaning that there may be a setting that you can adjust to control character encoding wrt CLSQL. 


Best,
Cam


On 12 Oct 2017, at 22:52, William Proffitt <jacobite1607@gmail.com> wrote:

Hello,

 

I recently ran the "ql:update-all-dists" command from Quicklisp in Lispworks 7.0. Afterwards a program that was working perfectly using Clsql no longer works properly in the IDE. It looks as though it sees the Microsoft access database structure correctly. However with the exception of date type fields it returns garbage from my database. It is important to note that the database is fine and works flawlessly with the earlier standalone executable of this same program. 


This is an example of what I am seeing.

 

When I evaluate this:

 

(clsql:connect '("MyDatabase" "" "") :if-exists :new :database-type :odbc)

(setf MyList (clsql:select '* :from 'MyTable :where (string-equal 'office "office-name")))

 

It returns something that looks like this:

 

((“^@” “^A^A^A^A^A” “^A^A^A^A^A^A^A^A” “^A” nil “2004-02-03T00:00:00” “^A^A^A^A^A^A” “^@^@^@^@^@^@”)(“^@” “^A^A^A^A^A” “^A^A^A^A^A^A^A^A” “^A” nil “2005-02-03T00:00:00” “^A^A^A^A^A^A” “^@^@^@^@^@^@”))


I tried using an earlier version of Clsql but it did not work. I tried contacting the person who maintains Clsql in multiple ways but I did not hear back. So I am guessing he no longer supports it.

 

Is anyone else having this issue? Any idea what is wrong?


Thanks,


William

Re: Clsql returning garbage in LW 7.0

I think you are correct on the encoding issue Camille. I happened to have an early copy of the quicklisp directory on another PC and tried a little experiment. First I copied only the CLSQL directory. It did not fix the problem. Then I copied all the other "dist" directories and the problem went away. So my guess is one of the dependencies CLSQL is using is at fault. When I get a chance I will try to isolate which one.

On Tue, Oct 17, 2017 at 3:28 AM, Camille Troillard <camille.troillard@icloud.com> wrote:
Hi William,

I’m don’t know about CLSQL, but what you describe smells a lot like a character encoding issue. 

Have a look at LispWorks 7 release notes I think something has changed in this regard, meaning that there may be a setting that you can adjust to control character encoding wrt CLSQL. 


Best,
Cam


On 12 Oct 2017, at 22:52, William Proffitt <jacobite1607@gmail.com> wrote:

Hello,

 

I recently ran the "ql:update-all-dists" command from Quicklisp in Lispworks 7.0. Afterwards a program that was working perfectly using Clsql no longer works properly in the IDE. It looks as though it sees the Microsoft access database structure correctly. However with the exception of date type fields it returns garbage from my database. It is important to note that the database is fine and works flawlessly with the earlier standalone executable of this same program. 


This is an example of what I am seeing.

 

When I evaluate this:

 

(clsql:connect '("MyDatabase" "" "") :if-exists :new :database-type :odbc)

(setf MyList (clsql:select '* :from 'MyTable :where (string-equal 'office "office-name")))

 

It returns something that looks like this:

 

((“^@” “^A^A^A^A^A” “^A^A^A^A^A^A^A^A” “^A” nil “2004-02-03T00:00:00” “^A^A^A^A^A^A” “^@^@^@^@^@^@”)(“^@” “^A^A^A^A^A” “^A^A^A^A^A^A^A^A” “^A” nil “2005-02-03T00:00:00” “^A^A^A^A^A^A” “^@^@^@^@^@^@”))


I tried using an earlier version of Clsql but it did not work. I tried contacting the person who maintains Clsql in multiple ways but I did not hear back. So I am guessing he no longer supports it.

 

Is anyone else having this issue? Any idea what is wrong?


Thanks,


William


Updated at: 2020-12-10 08:30 UTC