Skip to content

Commit acd4dce

Browse files
committed
Update devel TODO
1 parent 914103a commit acd4dce

File tree

3 files changed

+57
-50
lines changed

3 files changed

+57
-50
lines changed

devel/TODO.html

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -108,22 +108,24 @@ <h1>TODO<a class="headerlink" href="#todo" title="Permalink to this headline">¶
108108
</li>
109109
<li><p class="first">Cached join results.</p>
110110
</li>
111-
<li><p class="first">Invert tests isinstance(obj, (tuple, list)) to not isinstance(obj, basestr)
112-
to allow any iterable.</p>
111+
<li><p class="first">Invert tests isinstance(obj, (tuple, list)) to not isinstance(obj,
112+
basestr) to allow any iterable.</p>
113113
</li>
114114
<li><p class="first">Always use .lazyIter().</p>
115115
</li>
116116
<li><p class="first">Optimize Iteration.next() - use cursor.fetchmany().</p>
117117
</li>
118118
<li><p class="first">Generators instead of loops (fetchall =&gt; fetchone).</p>
119119
</li>
120-
<li><p class="first">Cache columns in sqlmeta.getColumns(); reset the cache on add/del Column/Join.</p>
120+
<li><p class="first">Cache columns in sqlmeta.getColumns(); reset the cache on add/del
121+
Column/Join.</p>
121122
</li>
122123
<li><p class="first">Make ConnectionHub a context manager instead of .doInTransaction().</p>
123124
</li>
124125
<li><p class="first">Make version_info a namedtuple.</p>
125126
</li>
126-
<li><p class="first">Expression columns - in SELECT but not in INSERT/UPDATE. Something like this:</p>
127+
<li><p class="first">Expression columns - in SELECT but not in INSERT/UPDATE. Something like
128+
this:</p>
127129
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">MyClass</span><span class="p">(</span><span class="n">SQLObject</span><span class="p">):</span>
128130
<span class="n">function1</span> <span class="o">=</span> <span class="n">ExpressionCol</span><span class="p">(</span><span class="n">func</span><span class="o">.</span><span class="n">my_function</span><span class="p">(</span><span class="n">MyClass</span><span class="o">.</span><span class="n">q</span><span class="o">.</span><span class="n">col1</span><span class="p">))</span>
129131
<span class="n">function2</span> <span class="o">=</span> <span class="n">ExpressionCol</span><span class="p">(</span><span class="s1">&#39;sum(col2)&#39;</span><span class="p">)</span>
@@ -140,30 +142,32 @@ <h1>TODO<a class="headerlink" href="#todo" title="Permalink to this headline">¶
140142
</li>
141143
<li><p class="first">PREPARE/EXECUTE.</p>
142144
</li>
143-
<li><p class="first">Protect all .encode(), catch UnicodeEncode exceptions and reraise Invalid.</p>
145+
<li><p class="first">Protect all .encode(), catch UnicodeEncode exceptions and reraise
146+
Invalid.</p>
144147
</li>
145148
<li><p class="first">More kinds of joins, and more powerful join results (closer to how
146149
<cite>select</cite> works).</p>
147150
</li>
148-
<li><p class="first">Better joins - automatic joins in .select()
149-
based on ForeignKey/MultipleJoin/RelatedJoin.</p>
151+
<li><p class="first">Better joins - automatic joins in .select() based on
152+
ForeignKey/MultipleJoin/RelatedJoin.</p>
150153
</li>
151154
<li><p class="first">Deprecate, then remove connectionForOldURI.</p>
152155
</li>
153156
<li><p class="first">Switch from setuptools to distribute.</p>
154157
</li>
155-
<li><p class="first">Ultramysql <a class="reference external" href="https://github.com/esnme/ultramysql">for Python2</a> and
156-
<a class="reference external" href="https://github.com/arpitbbhayani/umysql3">Python3</a>. See also <a class="reference external" href="https://github.com/hongqn/umysqldb">umysqldb</a>.</p>
158+
<li><p class="first"><a class="reference external" href="https://pypi.python.org/pypi/pg8000">pg8000 driver</a>.</p>
157159
</li>
158-
<li><p class="first">pg8000 driver: <a class="reference external" href="http://code.google.com/p/pg8000/">http://code.google.com/p/pg8000/</a></p>
160+
<li><p class="first"><a class="reference external" href="https://pypi.python.org/pypi/py-postgresql">py-postgresql driver</a>.</p>
159161
</li>
160-
<li><p class="first">py-postgresql driver: <a class="reference external" href="http://python.projects.postgresql.org/">http://python.projects.postgresql.org/</a></p>
162+
<li><p class="first"><a class="reference external" href="https://pypi.python.org/pypi/firebirdsql">pyfirebirdsql</a>.</p>
161163
</li>
162-
<li><p class="first">pyfirebirdsql: <a class="reference external" href="https://github.com/nakagami/pyfirebirdsql">https://github.com/nakagami/pyfirebirdsql</a></p>
164+
<li><p class="first"><a class="reference external" href="https://pypi.python.org/pypi/dbms">dbms</a> is a DB API wrapper for DB
165+
API drivers for IBM DB2, Firebird, MSSQL Server, MySQL, Oracle,
166+
PostgreSQL, SQLite and ODBC.</p>
163167
</li>
164-
<li><p class="first">dict API: use getitem interface for column access instead of getattr; reserve
165-
getattr for internal attributes only; this helps to avoid collisions with
166-
internal attributes.</p>
168+
<li><p class="first">dict API: use getitem interface for column access instead of getattr;
169+
reserve getattr for internal attributes only; this helps to avoid
170+
collisions with internal attributes.</p>
167171
</li>
168172
<li><p class="first">Or move column values access to a separate namespace, e.g. .c:
169173
row.c.column.</p>
@@ -172,18 +176,18 @@ <h1>TODO<a class="headerlink" href="#todo" title="Permalink to this headline">¶
172176
</li>
173177
<li><p class="first">RSS 2.0 and Atom news feeds.</p>
174178
</li>
175-
<li><p class="first">Use <a class="reference external" href="http://www.webwareforpython.org/DBUtils">DBUtils</a>, especially SolidConnection.</p>
179+
<li><p class="first">Use <a class="reference external" href="https://pypi.python.org/pypi/DBUtils">DBUtils</a>, especially SolidConnection.</p>
176180
</li>
177181
</ul>
178182
<ul class="simple">
179-
<li><code class="docutils literal"><span class="pre">_fromDatabase</span></code> currently doesn&#8217;t support IDs that don&#8217;t fit into
180-
the normal naming scheme. It should do so. You can still use
181-
<code class="docutils literal"><span class="pre">_idName</span></code> with <code class="docutils literal"><span class="pre">_fromDatabase</span></code>.</li>
182-
<li>More databases supported. There has been interest and some work in
183-
the progress for Oracle. IWBN to have Informix and DB2 drivers.</li>
184-
<li>Better transaction support &#8211; right now you can use transactions
185-
for the database, but objects aren&#8217;t transaction-aware, so
186-
non-database persistence won&#8217;t be able to be rolled back.</li>
183+
<li><code class="docutils literal"><span class="pre">_fromDatabase</span></code> currently doesn&#8217;t support IDs that don&#8217;t fit into the
184+
normal naming scheme. It should do so. You can still use <code class="docutils literal"><span class="pre">_idName</span></code>
185+
with <code class="docutils literal"><span class="pre">_fromDatabase</span></code>.</li>
186+
<li>More databases supported. There has been interest and some work in the
187+
progress for Oracle. IWBN to have Informix and DB2 drivers.</li>
188+
<li>Better transaction support &#8211; right now you can use transactions for the
189+
database, but objects aren&#8217;t transaction-aware, so non-database
190+
persistence won&#8217;t be able to be rolled back.</li>
187191
<li>Optimistic locking and other techniques to handle concurrency.</li>
188192
<li>Profile of SQLObject performance to identify bottlenecks.</li>
189193
<li>Increase hooks with FormEncode validation and form generation package, so

devel/_sources/TODO.txt

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,24 @@ TODO
2525

2626
* Cached join results.
2727

28-
* Invert tests isinstance(obj, (tuple, list)) to not isinstance(obj, basestr)
29-
to allow any iterable.
28+
* Invert tests isinstance(obj, (tuple, list)) to not isinstance(obj,
29+
basestr) to allow any iterable.
3030

3131
* Always use .lazyIter().
3232

3333
* Optimize Iteration.next() - use cursor.fetchmany().
3434

3535
* Generators instead of loops (fetchall => fetchone).
3636

37-
* Cache columns in sqlmeta.getColumns(); reset the cache on add/del Column/Join.
37+
* Cache columns in sqlmeta.getColumns(); reset the cache on add/del
38+
Column/Join.
3839

3940
* Make ConnectionHub a context manager instead of .doInTransaction().
4041

4142
* Make version_info a namedtuple.
4243

43-
* Expression columns - in SELECT but not in INSERT/UPDATE. Something like this::
44+
* Expression columns - in SELECT but not in INSERT/UPDATE. Something like
45+
this::
4446

4547
class MyClass(SQLObject):
4648
function1 = ExpressionCol(func.my_function(MyClass.q.col1))
@@ -56,31 +58,32 @@ TODO
5658

5759
* PREPARE/EXECUTE.
5860

59-
* Protect all .encode(), catch UnicodeEncode exceptions and reraise Invalid.
61+
* Protect all .encode(), catch UnicodeEncode exceptions and reraise
62+
Invalid.
6063

6164
* More kinds of joins, and more powerful join results (closer to how
6265
`select` works).
6366

64-
* Better joins - automatic joins in .select()
65-
based on ForeignKey/MultipleJoin/RelatedJoin.
67+
* Better joins - automatic joins in .select() based on
68+
ForeignKey/MultipleJoin/RelatedJoin.
6669

6770
* Deprecate, then remove connectionForOldURI.
6871

6972
* Switch from setuptools to distribute.
7073

71-
* Ultramysql `for Python2 <https://github.com/esnme/ultramysql>`_ and
72-
`Python3 <https://github.com/arpitbbhayani/umysql3>`_. See also `umysqldb
73-
<https://github.com/hongqn/umysqldb>`_.
74+
* `pg8000 driver <https://pypi.python.org/pypi/pg8000>`_.
7475

75-
* pg8000 driver: http://code.google.com/p/pg8000/
76+
* `py-postgresql driver <https://pypi.python.org/pypi/py-postgresql>`_.
7677

77-
* py-postgresql driver: http://python.projects.postgresql.org/
78+
* `pyfirebirdsql <https://pypi.python.org/pypi/firebirdsql>`_.
7879

79-
* pyfirebirdsql: https://github.com/nakagami/pyfirebirdsql
80+
* `dbms <https://pypi.python.org/pypi/dbms>`_ is a DB API wrapper for DB
81+
API drivers for IBM DB2, Firebird, MSSQL Server, MySQL, Oracle,
82+
PostgreSQL, SQLite and ODBC.
8083

81-
* dict API: use getitem interface for column access instead of getattr; reserve
82-
getattr for internal attributes only; this helps to avoid collisions with
83-
internal attributes.
84+
* dict API: use getitem interface for column access instead of getattr;
85+
reserve getattr for internal attributes only; this helps to avoid
86+
collisions with internal attributes.
8487

8588
* Or move column values access to a separate namespace, e.g. .c:
8689
row.c.column.
@@ -91,18 +94,18 @@ TODO
9194

9295
* Use DBUtils_, especially SolidConnection.
9396

94-
.. _DBUtils: http://www.webwareforpython.org/DBUtils
97+
.. _DBUtils: https://pypi.python.org/pypi/DBUtils
9598

96-
* ``_fromDatabase`` currently doesn't support IDs that don't fit into
97-
the normal naming scheme. It should do so. You can still use
98-
``_idName`` with ``_fromDatabase``.
99+
* ``_fromDatabase`` currently doesn't support IDs that don't fit into the
100+
normal naming scheme. It should do so. You can still use ``_idName``
101+
with ``_fromDatabase``.
99102

100-
* More databases supported. There has been interest and some work in
101-
the progress for Oracle. IWBN to have Informix and DB2 drivers.
103+
* More databases supported. There has been interest and some work in the
104+
progress for Oracle. IWBN to have Informix and DB2 drivers.
102105

103-
* Better transaction support -- right now you can use transactions
104-
for the database, but objects aren't transaction-aware, so
105-
non-database persistence won't be able to be rolled back.
106+
* Better transaction support -- right now you can use transactions for the
107+
database, but objects aren't transaction-aware, so non-database
108+
persistence won't be able to be rolled back.
106109

107110
* Optimistic locking and other techniques to handle concurrency.
108111

devel/searchindex.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy