From: michelts <mic...@gm...> - 2005-05-27 12:58:55
|
Hi guys, Will singleJoin be applied to the sqlobject last svn? I using it right now and I want to know if it will be part of sqlobject :) regards, --=20 Michel Thadeu Sabchuk Curitiba - Brasil |
From: j.kartnaller <j.k...@ro...> - 2005-12-01 12:12:07
|
I'm creating my objects by implicitly passing the connection to them : conn = ... class A(SQLObject): pass a = A(connection=conn) I do not set processConnection ! There is no problem except when using SingleJoin . SingleJoin uses the select method of otherClass without passing a connection. Select then tries to use the connection contained in the class which is not set in my case. I changed the call to select to pass the connection of the instance : -------------------------------------------------------------------------------- class SOSingleJoin(SOMultipleJoin): ... def performJoin(self, inst): pythonColumn = self.soClass.sqlmeta.style.dbColumnToPythonAttr(self.joinColumn) results = self.otherClass.select(getattr(self.otherClass.q, pythonColumn) == inst.id, connection = inst._connection, ) if results.count() == 0: if not self.makeDefault: return None else: kw = {pythonColumn[:-2]: inst} # skipping the ID (from foreignkeyID) return self.otherClass(**kw) # instanciating the otherClass with all # values to their defaults, except the foreign key # TODO I don't think this is the best way to know the column as foreignKey # reather than foreignKeyID, but I don't found a sqlmeta.style function # to do the work, if there isn't such function, I must create it. else: return results[0] -------------------------------------------------------------------------------- I don't know if this is correct for all cases but it works in my use case. Did I something wrong ? Jürgen |
From: Oleg B. <ph...@ph...> - 2005-12-01 18:37:12
|
On Thu, Dec 01, 2005 at 12:58:28PM +0100, j.kartnaller wrote: > def performJoin(self, inst): > pythonColumn = > self.soClass.sqlmeta.style.dbColumnToPythonAttr(self.joinColumn) > results = self.otherClass.select(getattr(self.otherClass.q, > pythonColumn) == inst.id, > connection = inst._connection, > ) I think IWBN to add a code to test that self._connection is the same as inst._connection. Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: j.kartnaller <j.k...@ro...> - 2005-12-02 06:50:11
|
Oleg Broytmann wrote: > On Thu, Dec 01, 2005 at 12:58:28PM +0100, j.kartnaller wrote: > >> def performJoin(self, inst): >> pythonColumn = >>self.soClass.sqlmeta.style.dbColumnToPythonAttr(self.joinColumn) >> results = self.otherClass.select(getattr(self.otherClass.q, >>pythonColumn) == inst.id, >> connection = inst._connection, >> ) > > > I think IWBN to add a code to test that self._connection is the same as > inst._connection. tested : self has no _connection > > Oleg. |
From: Oleg B. <ph...@ph...> - 2005-12-05 19:39:44
|
On Thu, Dec 01, 2005 at 12:58:28PM +0100, j.kartnaller wrote: > def performJoin(self, inst): > pythonColumn = >self.soClass.sqlmeta.style.dbColumnToPythonAttr(self.joinColumn) > results = self.otherClass.select(getattr(self.otherClass.q, >pythonColumn) == inst.id, > connection = inst._connection, > ) Applied at the revision 1346 to the trunk. Please give it a try. Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: j.kartnaller <j.k...@ro...> - 2005-12-06 06:47:09
|
Oleg Broytmann wrote: > On Thu, Dec 01, 2005 at 12:58:28PM +0100, j.kartnaller wrote: > > >> def performJoin(self, inst): >> pythonColumn = >>self.soClass.sqlmeta.style.dbColumnToPythonAttr(self.joinColumn) >> results = self.otherClass.select(getattr(self.otherClass.q, >>pythonColumn) == inst.id, >> connection = inst._connection, >> ) > > > Applied at the revision 1346 to the trunk. Please give it a try. I'm using this change on my local 0.7 version without problems. Jürgen |
From: Oleg B. <ph...@ma...> - 2005-12-06 09:16:31
|
On Tue, Dec 06, 2005 at 07:45:57AM +0100, j.kartnaller wrote: > Oleg Broytmann wrote: > > Applied at the revision 1346 to the trunk. Please give it a try. > > I'm using this change on my local 0.7 version without problems. The change that I've applied is a little bigger than that... Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: j.kartnaller <j.k...@ro...> - 2005-12-07 12:54:50
|
Oleg Broytmann wrote: > On Thu, Dec 01, 2005 at 12:58:28PM +0100, j.kartnaller wrote: > > >> def performJoin(self, inst): >> pythonColumn = >>self.soClass.sqlmeta.style.dbColumnToPythonAttr(self.joinColumn) >> results = self.otherClass.select(getattr(self.otherClass.q, >>pythonColumn) == inst.id, >> connection = inst._connection, >> ) > > > Applied at the revision 1346 to the trunk. Please give it a try. I tested with the actual trunk. You modification works fine for my use case. Method createReferenceConstraint is only implemented for sqlite and postgres. I'm testing with sqlite and mysql. I added an empty implementation for mysql. Jürgen |
From: Jamieson B. <ja...@ja...> - 2005-05-27 19:07:02
|
What is singleJoin? Sounds interesting ;-) On Fri, 2005-05-27 at 09:58 -0300, michelts wrote: > Hi guys, > > Will singleJoin be applied to the sqlobject last svn? I using it right > now and I want to know if it will be part of sqlobject :) > > regards, > |
From: michelts <mic...@gm...> - 2005-05-27 20:32:28
Attachments:
singleJoin.tgz
|
Hum, Do I forgot to tell to the list? Anyway, singleJoin is a form to do one-to-one joins. A patch and a test case is attached. I think this quite usefull, i save 4 lines on 1 line ;) look at the example= s... thanks On 5/27/05, Jamieson Becker <ja...@ja...> wrote: > What is singleJoin? Sounds interesting ;-) >=20 > On Fri, 2005-05-27 at 09:58 -0300, michelts wrote: > > Hi guys, > > > > Will singleJoin be applied to the sqlobject last svn? I using it right > > now and I want to know if it will be part of sqlobject :) > > > > regards, > > >=20 >=20 --=20 Michel Thadeu Sabchuk Curitiba - Brasil |
From: Dryice L. <dry...@gm...> - 2005-05-28 10:43:35
|
michelts <mic...@gm...> wrote: > I think this quite usefull, i save 4 lines on 1 line ;) look at the examp= les... Yep, I'm using it too and it makes the code much nicer :) =2D-=20 Dryice @ http://dryice.3322.org Please avoid sending me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/sylvester-response.html |
From: Jamieson B. <ja...@ja...> - 2005-05-29 03:27:27
|
Sorry, I don't get it. ;-) Can you provide some documentation, such as what it is for? The comments are easy to ready but I still don't get what it's for. I patched sqlobject and successfully ran the tests, but i still just don't get what it's for! ;-) Here's what I need, something like a selfJoin: id <-----| manager_id --| name i.e., 1,NULL,President 2,1,Vice-president Jones 3,1,Vice-president Greco 4,1,Vice-president Wong 5,3,Manager Adams select name from employees where manager_id=1 Vice-president Jones Vice-president Greco Vice-president Wong quick and easy but right now i'm doing it by hand with sqlobject. i like this better than nested set or material path, and it's faster for some operations.. anyone have any join patches like this? On Sat, 2005-05-28 at 18:23 +0800, Dryice Liu wrote: > michelts <mic...@gm...> wrote: > > I think this quite usefull, i save 4 lines on 1 line ;) look at the examples... > > Yep, I'm using it too and it makes the code much nicer :) > |
From: Oleg B. <ph...@ph...> - 2005-06-01 13:50:36
|
On Fri, May 27, 2005 at 05:32:19PM -0300, michelts wrote: > Do I forgot to tell to the list? Anyway, singleJoin is a form to do > one-to-one joins. A patch and a test case is attached. > > I think this quite usefull, i save 4 lines on 1 line ;) look at the examples... Applied (with some modifications in the test) and committed in the revision 809. Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: michelts <mic...@gm...> - 2005-06-01 13:55:41
|
thanks oleg :) On 6/1/05, Oleg Broytmann <ph...@ph...> wrote: > On Fri, May 27, 2005 at 05:32:19PM -0300, michelts wrote: > > Do I forgot to tell to the list? Anyway, singleJoin is a form to do > > one-to-one joins. A patch and a test case is attached. > > > > I think this quite usefull, i save 4 lines on 1 line ;) look at the exa= mples... >=20 > Applied (with some modifications in the test) and committed in the > revision 809. >=20 > Oleg. > -- > Oleg Broytmann http://phd.pp.ru/ ph...@ph... > Programmers don't die, they just GOSUB without RETURN. >=20 --=20 Michel Thadeu Sabchuk Curitiba - Brasil |