<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to feature-requests</title><link>https://sourceforge.net/p/sqlobject/feature-requests/</link><description>Recent changes to feature-requests</description><atom:link href="https://sourceforge.net/p/sqlobject/feature-requests/feed.rss" rel="self"/><language>en</language><lastBuildDate>Tue, 08 Jul 2008 00:30:48 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/sqlobject/feature-requests/feed.rss" rel="self" type="application/rss+xml"/><item><title>pyodbc support</title><link>https://sourceforge.net/p/sqlobject/feature-requests/6/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Per this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sqlobject.org/SQLObject.html" rel="nofollow"&gt;http://www.sqlobject.org/SQLObject.html&lt;/a&gt;#ms-sql-server&lt;/p&gt;
&lt;p&gt;Only adodbapi and pymssql are supported for accessing MSSQL.&lt;/p&gt;
&lt;p&gt;Would it be feasible to add in support for pyodbc?&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ray Van Dolson</dc:creator><pubDate>Tue, 08 Jul 2008 00:30:48 -0000</pubDate><guid>https://sourceforge.net6427afff7b4e729d3732c8630ffe3f09ee3d0867</guid></item><item><title>SQLObject should determine joinColumn from Class Name</title><link>https://sourceforge.net/p/sqlobject/feature-requests/5/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Currently SQLObject determines the joinColumn for MultipleJoin from the name of the table.&lt;/p&gt;
&lt;p&gt;In the documentation it is recommended to use "user_table" as a table for an class called User. When one now creates another class, e.g. Address that has a ForeignKey from User in a column called "user", one needs to add joinColumn='user_id' to the MultipleJoin definition within the User class, otherwise one only gets a totally strange python traceback, when one tries to access u.addresses.&lt;/p&gt;
&lt;p&gt;I attached a simple example, that makes it more clear, where the problem here is. &lt;/p&gt;
&lt;p&gt;I use python-sqlobject-0.9.2-1.fc7 from Fedora.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Till Maas</dc:creator><pubDate>Sun, 03 Feb 2008 17:59:36 -0000</pubDate><guid>https://sourceforge.net21bfd89d096a3a0e735a5ea529f134b1595a56b2</guid></item><item><title>Update DB schema from Class description</title><link>https://sourceforge.net/p/sqlobject/feature-requests/4/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;According to the documentation, SO can update a&lt;br /&gt;
class with information about new columns in the database:&lt;/p&gt;
&lt;p&gt;"SQLObject can read the table description from the database, and fill in the class columns"&lt;/p&gt;
&lt;p&gt;However, I would prefer to update my SO class descriptions and have new DB columns created automatically.   I can manually addCol to create new columns if I know what they are, but I would like for SO to query the DB, identify columns missing from the DB and automatically create them.  (Dropping and recreating the entire table is clearly out of the question.)&lt;/p&gt;
&lt;p&gt;This would cover 90% of my requirements for managing schema evolution.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tim Kientzle</dc:creator><pubDate>Sat, 03 Mar 2007 22:43:43 -0000</pubDate><guid>https://sourceforge.netdd98f93c89d2047202eea2612b9b908654d50aba</guid></item><item><title>Bug in the release of a transaction connection</title><link>https://sourceforge.net/p/sqlobject/feature-requests/3/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;In one of my application using SQLObject, I found that&lt;br /&gt;
once I have&lt;br /&gt;
used a transaction, the next insert with an auto&lt;br /&gt;
sequence will fail.&lt;/p&gt;
&lt;p&gt;Debugging the code, I suspect this could be a bug in&lt;br /&gt;
the Transaction&lt;br /&gt;
class. The following is what happens:&lt;/p&gt;
&lt;p&gt;1. A transaction object is created. The corresponding&lt;br /&gt;
physical&lt;br /&gt;
database connection is set to autommit=0 by&lt;br /&gt;
self._dbConnection._setAutoCommit(self._connection, 0) in&lt;br /&gt;
Transaction.__init__.&lt;/p&gt;
&lt;p&gt;2. The processing with the transaction is finished.&lt;br /&gt;
Transaction object&lt;br /&gt;
is deleted. The physical database connection is&lt;br /&gt;
returned to the pool&lt;br /&gt;
using self._dbConnection.releaseConnection in the method&lt;br /&gt;
_makeObsolete. However, the connection still has&lt;br /&gt;
autommit=0.&lt;/p&gt;
&lt;p&gt;3. A new SQLObject is to be created. The&lt;br /&gt;
_SO_finishCreate method calls&lt;br /&gt;
_queryInsertID to inert the data. _queryInsertID gets a&lt;br /&gt;
physical&lt;br /&gt;
connection from the pool, which happens to be the one&lt;br /&gt;
just returned by&lt;br /&gt;
the transaction, i.e. with autocommit=0. This means the&lt;br /&gt;
INSERT SQL&lt;br /&gt;
will not automatically commit. The transaction is still&lt;br /&gt;
in progress&lt;br /&gt;
when _SO_finishCreate returns.&lt;/p&gt;
&lt;p&gt;4. _init(id) is called. It calls _SO_selectOne to see&lt;br /&gt;
if the data with&lt;br /&gt;
the given ID is actually inserted into the database.&lt;br /&gt;
However,&lt;br /&gt;
_SO_selectOne gets another physical database connection&lt;br /&gt;
from the pool,&lt;br /&gt;
and can therefore not see the new data just inserted.&lt;br /&gt;
It raises&lt;br /&gt;
SQLObjectNotFound.&lt;/p&gt;
&lt;p&gt;The problem is during transaction creatiion, the&lt;br /&gt;
autocommit status of&lt;br /&gt;
the physical database connection has been changed. But when&lt;br /&gt;
transaction object is deleted, the original status is&lt;br /&gt;
not restored.&lt;/p&gt;
&lt;p&gt;I made the following patch to dbconnection.py and my&lt;br /&gt;
problem is gone.&lt;/p&gt;
&lt;p&gt;Can anyone check my diagnosis and the fix?&lt;/p&gt;
&lt;p&gt;Index: dbconnection.py&lt;/p&gt;
&lt;p&gt;===================================================================&lt;/p&gt;
&lt;p&gt;--- dbconnection.py     (revision 1334)&lt;/p&gt;
&lt;p&gt;+++ dbconnection.py     (working copy)&lt;/p&gt;
&lt;p&gt;@@ -857,6 +857,8 @@&lt;/p&gt;
&lt;p&gt;def _makeObsolete(self):&lt;br /&gt;
self._obsolete = True&lt;br /&gt;
+        if self._dbConnection.autoCommit:&lt;br /&gt;
+         &lt;br /&gt;
self._dbConnection._setAutoCommit(self._connection, 1)&lt;/p&gt;
&lt;p&gt;self._dbConnection.releaseConnection(self._connection,&lt;br /&gt;
explicit=True)&lt;br /&gt;
self._connection = None&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hong Yuan</dc:creator><pubDate>Tue, 06 Dec 2005 09:49:48 -0000</pubDate><guid>https://sourceforge.net4ce962f92f567909ea8758acea415088dc7519f6</guid></item><item><title>Parametrized queries</title><link>https://sourceforge.net/p/sqlobject/feature-requests/2/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ian, why use sqlStringReplace and _[lL]ikeQuoted? Why&lt;br /&gt;
not import and use quoting/escaping functions from&lt;br /&gt;
low-level DB API modules? At least where they are&lt;br /&gt;
avalable at all...&lt;/p&gt;
&lt;p&gt;Why not import DB API exceptions from those modules and&lt;br /&gt;
reexport them as SQLObject exceptions?&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Oleg Broytman</dc:creator><pubDate>Mon, 22 Nov 2004 12:07:40 -0000</pubDate><guid>https://sourceforge.net8e54efb47f99eb7f0bd895bd3c98175a96a0c569</guid></item><item><title>Binding transactions to Zope transactions</title><link>https://sourceforge.net/p/sqlobject/feature-requests/1/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Support to bind transactions to Zope transactions, so&lt;br /&gt;
that transactions automatically get created/commited&lt;br /&gt;
when a Zope transaction is created/commited.&lt;/p&gt;
&lt;p&gt;The Modeling framework (modeling.sf.net) already has&lt;br /&gt;
support for this. (see the&lt;br /&gt;
ZModeling/ZEditingContextSessioning/__init__.py code).&lt;/p&gt;
&lt;p&gt;(Debian unstable switched to python 2.2 as default for&lt;br /&gt;
Zope some time ago - so it's now possible to use&lt;br /&gt;
SQLObject and Zope 2.x together :)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sat, 04 Oct 2003 14:57:17 -0000</pubDate><guid>https://sourceforge.net659bacae756968d92cff70ffab7ab3459a6ebb56</guid></item></channel></rss>