[SqueakDBX] Should "GlorpSession>>register:" work?

Panu Suominen panu.j.m.suominen at gmail.com
Fri May 20 07:51:38 UTC 2011


We have problem with reattaching objects to new session.

Following code throws exception telling that connection is not open.
|person|
KLDatabase withSession: [:s|
	person := s readOneOf: KLPerson where: [:p| p id = 6127].	
].

KLDatabase withSession: [:s|
	s inUnitOfWorkDo: [
		self halt.
		s register: person.
		Transcript show: person parameters.
	]
].

The problem seems to be that "GlorpSession>>register:" does not check
if there is an Glorp proxy inside the object being registered.
Tutorial (http://www.eli.sdsu.edu/SmalltalkDocs/GlorpTutorial.pdf)
states that it should reattach any nested objects (proxies) too but it
does not.

Is this known problem or am I doing something wrong? I can try to fix
this if this is an actual bug. Of course using refresh:
one can avoid this problem but it causes unnecessary database reads to occur.


-- 
Panu


More information about the SqueakDBX mailing list