From: Rajeev J S. <raj...@di...> - 2005-05-13 00:40:13
|
Hi, I can see that doing for instance, from sqlobject import * class A(SQLObject): name = StringCol(default='') print A.q.id == 0 prints (a.id = 0) But: >>> A.q.name.startswith('hello') Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/lib/python2.4/site-packages/sqlobject/sqlbuilder.py", line 155, in __repr__ return self.__sqlrepr__(None) File "/usr/lib/python2.4/site-packages/sqlobject/sqlbuilder.py", line 222, in __sqlrepr__ return "(%s %s %s)" % (sqlrepr(self.expr1, db), self.op, sqlrepr(self.expr2, db)) File "/usr/lib/python2.4/site-packages/sqlobject/converters.py", line 189, in sqlrepr return reprFunc(db) File "/usr/lib/python2.4/site-packages/sqlobject/sqlbuilder.py", line 581, in __sqlrepr__ s = sqlrepr(self.expr, db)[1:-1] # remove quotes File "/usr/lib/python2.4/site-packages/sqlobject/converters.py", line 187, in sqlrepr return converter(obj, db) File "/usr/lib/python2.4/site-packages/sqlobject/converters.py", line 98, in StringLikeConverter assert 0, "Database %s unknown" % db AssertionError: Database None unknown I guess this is because SQLObject is unaware of the db type and so can't generate the right SQL for .startswith(). Is there some intermediate representation for the query, or some way in which we can specify a database type, without providing a connection, so that such queries can be sent across to the (Twisted) server for execution ? In general, given a database application (say, PostgreSQL), is there any way to use SQLObject on the client side as an OR mapping database (for generating queries, proxies, etc), rather than for use to actually connect to the db and retrieve instances ? Rajeev J Sebastian |
From: Lutz S. <l.s...@4c...> - 2006-06-27 15:46:57
|
Hello, I need a litle bit of advice how to use SQLBuilder. First question: has anybody examples or documentation about SQLBuilder ? At the moment I'm using this way to get the data: res=conn.queryAll("select fa.name as fa_name, fa.id as fa_id, fa.catalog_name as fa_catalog_name, \ ca.name, ca.id, ca.catalog_name \ from cm_catalog as fa, cm_catalog as ca, \ cm_catalog2catalog as ca2ca, cm_user2catalog as us2ca \ where fa.id = us2ca.cm_catalog_id \ and us2ca.cm_user_id=60 \ and fa.id = ca2ca.catalog \ and ca.id = ca2ca.children \ and fa.active='t' \ and ca.active='t' \ order by ca.name, fa.name") Not very elegant but its working. My question is now if somebody can transfer this query to a valid SQLBuilder expression so I have a working example. After my enlightenment I'll be share my knowledge in the wiki. Many thanks in advance !! Kindly regards Lutz Steinborn |
From: Oleg B. <ph...@ma...> - 2006-07-25 16:11:41
|
On Tue, Jun 27, 2006 at 05:46:46PM +0200, Lutz Steinborn wrote: > First question: has anybody examples or documentation about > SQLBuilder ? http://sqlobject.org/SQLObject.html http://sqlobject.org/SQLBuilder.html http://svn.colorstudy.com/SQLObject/trunk/sqlobject/sqlbuilder.py (the source is the most definitive documentation!) Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: Andrew B. <an...@ca...> - 2005-05-13 04:00:34
|
On Fri, May 13, 2005 at 06:09:37AM +0000, Rajeev J Sebastian wrote: [...] > > But: > > >>> A.q.name.startswith('hello') > Traceback (most recent call last): > File "<stdin>", line 1, in ? > File "/usr/lib/python2.4/site-packages/sqlobject/sqlbuilder.py", line 155, > in __repr__ > return self.__sqlrepr__(None) [...] > AssertionError: Database None unknown > > I guess this is because SQLObject is unaware of the db type and so can't > generate the right SQL for .startswith(). Is there some intermediate > representation for the query, or some way in which we can specify a database > type, without providing a connection, so that such queries can be sent across > to the (Twisted) server for execution ? There is: >>> q = A.q.name.startswith('hello') >>> q.__sqlrepr__('postgres') "(a.name LIKE 'hello%')" Or slightly nicer, perhaps: >>> from sqlobject.converters import sqlrepr >>> sqlrepr(q, 'postgres') "(a.name LIKE 'hello%')" -Andrew. |
From: Ian B. <ia...@co...> - 2005-05-13 15:14:57
|
Andrew Bennetts wrote: >>>>from sqlobject.converters import sqlrepr >>>>sqlrepr(q, 'postgres') > > "(a.name LIKE 'hello%')" Better still: MyClass.sqlrepr(...) # or anInstance.sqlrepr(...) Which will use the database based on the connection for that class or instance. -- Ian Bicking / ia...@co... / http://blog.ianbicking.org |
From: Ryan K. <rya...@co...> - 2005-05-13 12:54:38
|
I need to store and retrieve a collection of test results where each test would have some typical properties like the date it was run and other scalar desriptors. But the main data from the test will be vectors or matrices of data the I will later plot. Each vector or matrix might have 20000 rows of floating point numbers and there may be 10 or more of these test results that I want to store in a group. Can SQLOjbect handle storing a matrix instance? I am quite new to SQL as well as SQLObject, so I don't know if the matrices could somehow be seperate tables or something. I started looking into hdf5 as a way to store this kind of data, but I think it is more complicated than I need. Any help would be appreciated. Ryan |
From: Ryan K. <rya...@co...> - 2005-05-13 13:12:25
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> <title></title> </head> <body bgcolor="#ffffff" text="#000000"> <div class="moz-text-flowed" style="font-family: -moz-fixed; font-size: 12px;" lang="x-western">Maybe an example would make this clearer. What if I want to store a collection of objects with the following properties: <br> entry1.input='a1' <br> entry1.output='j2' <br> entry1.datafile=['file1','file2','file3'] <br> entry1.data1=[1.2,1.47,3.56,....] <br> entry1.data2=[-1.5,-19.5,35.5,....] <br> <br> And what if data1 and data2 are Numeric arrays/matrices (or from numarray)? Can SQLObject store a collection of such objects? <br> <br> Thanks, <br> <br> Ryan <br> <br> <br> Ryan Krauss wrote: <br> <br> <blockquote type="cite">I need to store and retrieve a collection of test results where each test would have some typical properties like the date it was run and other scalar desriptors. But the main data from the test will be vectors or matrices of data the I will later plot. Each vector or matrix might have 20000 rows of floating point numbers and there may be 10 or more of these test results that I want to store in a group. Can SQLOjbect handle storing a matrix instance? I am quite new to SQL as well as SQLObject, so I don't know if the matrices could somehow be seperate tables or something. <br> <br> I started looking into hdf5 as a way to store this kind of data, but I think it is more complicated than I need. <br> <br> Any help would be appreciated. <br> <br> Ryan <br> <br> <br> ------------------------------------------------------- <br> This SF.Net email is sponsored by Oracle Space Sweepstakes <br> Want to be the first software developer in space? <br> Enter now for the Oracle Space Sweepstakes! <br> <a class="moz-txt-link-freetext" href="http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click">http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click</a> <br> _______________________________________________ <br> sqlobject-discuss mailing list <br> <a class="moz-txt-link-abbreviated" href="mailto:sql...@li...">sql...@li...</a> <br> <a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss">https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss</a> <br> <br> </blockquote> <br> <br> </div> <br> <br> <br> Ryan Krauss wrote: <blockquote cite="mid...@co..." type="cite">I need to store and retrieve a collection of test results where each test would have some typical properties like the date it was run and other scalar desriptors. But the main data from the test will be vectors or matrices of data the I will later plot. Each vector or matrix might have 20000 rows of floating point numbers and there may be 10 or more of these test results that I want to store in a group. Can SQLOjbect handle storing a matrix instance? I am quite new to SQL as well as SQLObject, so I don't know if the matrices could somehow be seperate tables or something. <br> <br> I started looking into hdf5 as a way to store this kind of data, but I think it is more complicated than I need. <br> <br> Any help would be appreciated. <br> <br> Ryan <br> <br> <br> ------------------------------------------------------- <br> This SF.Net email is sponsored by Oracle Space Sweepstakes <br> Want to be the first software developer in space? <br> Enter now for the Oracle Space Sweepstakes! <br> <a class="moz-txt-link-freetext" href="http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click">http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click</a> <br> _______________________________________________ <br> sqlobject-discuss mailing list <br> <a class="moz-txt-link-abbreviated" href="mailto:sql...@li...">sql...@li...</a> <br> <a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss">https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss</a> <br> <br> </blockquote> <br> </body> </html> |
From: Ian B. <ia...@co...> - 2005-05-13 15:13:41
|
Ryan Krauss wrote: > Maybe an example would make this clearer. What if I want to store a > collection of objects with the following properties: > entry1.input='a1' > entry1.output='j2' > entry1.datafile=['file1','file2','file3'] > entry1.data1=[1.2,1.47,3.56,....] > entry1.data2=[-1.5,-19.5,35.5,....] > > And what if data1 and data2 are Numeric arrays/matrices (or from > numarray)? Can SQLObject store a collection of such objects? You can use PickleCol for this, so long as its okay that the data is opaque to the database and to queries. Or you could create a _set_data1() method that inserts the values into another table, and _get_data1() that retrieves them. -- Ian Bicking / ia...@co... / http://blog.ianbicking.org |
From: Ryan K. <rya...@co...> - 2005-05-17 10:38:01
|
I thought I had replied to this, but don't see it any where in my sent folder. So, please forgive me if this is the second time I have sent this. The PickleCol works great. It is a neat idea and it does exactly what I need in this situation. But the files are very large. SciPy has a function called shelve and using it to store the same data seems to result in files about 1/10th the size of using PickleCol and matrices. I think shelve uses some sort of compression or something. Is there away to use compression with PickleCol? Thanks, Ryan Ian Bicking wrote: > Ryan Krauss wrote: > >> Maybe an example would make this clearer. What if I want to store a >> collection of objects with the following properties: >> entry1.input='a1' >> entry1.output='j2' >> entry1.datafile=['file1','file2','file3'] >> entry1.data1=[1.2,1.47,3.56,....] >> entry1.data2=[-1.5,-19.5,35.5,....] >> >> And what if data1 and data2 are Numeric arrays/matrices (or from >> numarray)? Can SQLObject store a collection of such objects? > > > You can use PickleCol for this, so long as its okay that the data is > opaque to the database and to queries. Or you could create a > _set_data1() method that inserts the values into another table, and > _get_data1() that retrieves them. > |
From: Brian B. <ex...@gm...> - 2005-05-17 15:38:12
|
Ryan Krauss wrote: > The PickleCol works great. It is a neat idea and it does exactly what I > need in this situation. But the files are very large. SciPy has a > function called shelve and using it to store the same data seems to > result in files about 1/10th the size of using PickleCol and matrices. > I think shelve uses some sort of compression or something. Is there > away to use compression with PickleCol? Is shelve in SciPy based on the shelve module in the standard Python library? If so, it uses pickle to store its data, and there should be little difference. But since that doesn't seem to be the case, perhaps you could look for helper functions for SciPy's shelve, possibily in combination with cStringIO, to store the data using a StringCol and restore it when the data is retrieved. -- Brian Beck Adventurer of the First Order |