sqlobject-cvs Mailing List for SQLObject (Page 53)
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
(9) |
Apr
(74) |
May
(29) |
Jun
(16) |
Jul
(28) |
Aug
(10) |
Sep
(57) |
Oct
(9) |
Nov
(29) |
Dec
(12) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(7) |
Feb
(14) |
Mar
(6) |
Apr
(3) |
May
(12) |
Jun
(34) |
Jul
(9) |
Aug
(29) |
Sep
(22) |
Oct
(2) |
Nov
(15) |
Dec
(52) |
| 2005 |
Jan
(47) |
Feb
(78) |
Mar
(14) |
Apr
(35) |
May
(33) |
Jun
(16) |
Jul
(26) |
Aug
(63) |
Sep
(40) |
Oct
(96) |
Nov
(96) |
Dec
(123) |
| 2006 |
Jan
(159) |
Feb
(144) |
Mar
(64) |
Apr
(31) |
May
(88) |
Jun
(48) |
Jul
(16) |
Aug
(64) |
Sep
(87) |
Oct
(92) |
Nov
(56) |
Dec
(76) |
| 2007 |
Jan
(94) |
Feb
(103) |
Mar
(126) |
Apr
(123) |
May
(85) |
Jun
(11) |
Jul
(130) |
Aug
(47) |
Sep
(65) |
Oct
(70) |
Nov
(12) |
Dec
(11) |
| 2008 |
Jan
(30) |
Feb
(55) |
Mar
(88) |
Apr
(20) |
May
(50) |
Jun
|
Jul
(38) |
Aug
(1) |
Sep
(9) |
Oct
(5) |
Nov
(6) |
Dec
(39) |
| 2009 |
Jan
(8) |
Feb
(16) |
Mar
(3) |
Apr
(33) |
May
(44) |
Jun
(1) |
Jul
(10) |
Aug
(33) |
Sep
(74) |
Oct
(22) |
Nov
|
Dec
(15) |
| 2010 |
Jan
(28) |
Feb
(22) |
Mar
(46) |
Apr
(29) |
May
(1) |
Jun
(1) |
Jul
(27) |
Aug
(8) |
Sep
(5) |
Oct
(33) |
Nov
(24) |
Dec
(41) |
| 2011 |
Jan
(4) |
Feb
(12) |
Mar
(35) |
Apr
(29) |
May
(19) |
Jun
(16) |
Jul
(32) |
Aug
(25) |
Sep
(5) |
Oct
(11) |
Nov
(21) |
Dec
(12) |
| 2012 |
Jan
(3) |
Feb
(4) |
Mar
(20) |
Apr
(4) |
May
(25) |
Jun
(13) |
Jul
|
Aug
|
Sep
(2) |
Oct
(25) |
Nov
(9) |
Dec
(1) |
| 2013 |
Jan
(6) |
Feb
(8) |
Mar
|
Apr
(10) |
May
(31) |
Jun
(7) |
Jul
(18) |
Aug
(33) |
Sep
(4) |
Oct
(16) |
Nov
|
Dec
(27) |
| 2014 |
Jan
(2) |
Feb
|
Mar
|
Apr
(11) |
May
(39) |
Jun
(8) |
Jul
(11) |
Aug
(4) |
Sep
|
Oct
(27) |
Nov
|
Dec
(71) |
| 2015 |
Jan
(17) |
Feb
(47) |
Mar
(33) |
Apr
|
May
|
Jun
(9) |
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(8) |
| 2016 |
Jan
(4) |
Feb
(4) |
Mar
|
Apr
|
May
(12) |
Jun
(7) |
Jul
(9) |
Aug
(31) |
Sep
(8) |
Oct
(3) |
Nov
(15) |
Dec
(1) |
| 2017 |
Jan
(13) |
Feb
(7) |
Mar
(14) |
Apr
(8) |
May
(10) |
Jun
(4) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(8) |
Nov
(4) |
Dec
(5) |
| 2018 |
Jan
(2) |
Feb
(8) |
Mar
|
Apr
(4) |
May
|
Jun
(6) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2019 |
Jan
(1) |
Feb
(16) |
Mar
(1) |
Apr
(3) |
May
(5) |
Jun
(1) |
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
(1) |
Dec
(3) |
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(2) |
Nov
|
Dec
(2) |
| 2021 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
| 2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(6) |
Oct
(1) |
Nov
(1) |
Dec
(4) |
| 2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(3) |
Sep
(2) |
Oct
(2) |
Nov
(4) |
Dec
|
| 2024 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(9) |
| 2025 |
Jan
|
Feb
(4) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(2) |
Dec
(2) |
|
From: <sub...@co...> - 2009-10-20 13:49:59
|
Author: phd Date: 2009-10-20 07:49:47 -0600 (Tue, 20 Oct 2009) New Revision: 4041 Modified: SQLObject/branches/0.11/docs/News.txt Log: Dots. Modified: SQLObject/branches/0.11/docs/News.txt =================================================================== --- SQLObject/branches/0.11/docs/News.txt 2009-10-16 12:51:21 UTC (rev 4040) +++ SQLObject/branches/0.11/docs/News.txt 2009-10-20 13:49:47 UTC (rev 4041) @@ -15,21 +15,21 @@ SQLObject 0.11.2 ================ -Released 30 Sep 2009 +Released 30 Sep 2009. * A number of changes ported from `SQLObject 0.10.8`_. SQLObject 0.11.1 ================ -Released 20 Sep 2009 +Released 20 Sep 2009. * A number of changes ported from `SQLObject 0.10.7`_. SQLObject 0.11.0 ================ -Released 12 Aug 2009 +Released 12 Aug 2009. Features & Interface -------------------- @@ -84,7 +84,7 @@ SQLObject 0.10.8 ================ -Released 30 Sep 2009 +Released 30 Sep 2009. * Fixed a bug in logging to console - convert unicode to str. @@ -94,7 +94,7 @@ SQLObject 0.10.7 ================ -Released 20 Sep 2009 +Released 20 Sep 2009. * Fixed a bug: Sybase tables with identity column fire two identity_inserts. @@ -105,7 +105,7 @@ SQLObject 0.10.6 ================ -Released 18 May 2009 +Released 18 May 2009. * Better support for Python 2.6: do not import the deprecated sets module. @@ -114,7 +114,7 @@ SQLObject 0.10.5 ================ -Released 6 May 2009 +Released 6 May 2009. * A number of changes ported from `SQLObject 0.9.10`_. @@ -224,7 +224,7 @@ SQLObject 0.9.11 ================ -Released 18 May 2009 +Released 18 May 2009. * Two bugs in SQLiteConnection.columnsFromSchema() were fixed: use sqlmeta.idName instead of 'id'; convert default 'NULL' to None. @@ -237,7 +237,7 @@ SQLObject 0.9.10 ================ -Released 6 May 2009 +Released 6 May 2009. * Another unicode-related patch for MySQL; required because different versions of MySQLdb require different handling:: |
|
From: <sub...@co...> - 2009-10-16 12:51:33
|
Author: phd
Date: 2009-10-16 06:51:21 -0600 (Fri, 16 Oct 2009)
New Revision: 4040
Modified:
SQLObject/tags/0.12.0b2/setup.cfg
SQLObject/tags/0.12.0b2/setup.py
SQLObject/tags/0.12.0b2/sqlobject/__init__.py
SQLObject/tags/0.12.0b2/sqlobject/main.py
Log:
Version 0.12.0b2.
Modified: SQLObject/tags/0.12.0b2/setup.cfg
===================================================================
--- SQLObject/tags/0.12.0b2/setup.cfg 2009-10-16 12:46:41 UTC (rev 4039)
+++ SQLObject/tags/0.12.0b2/setup.cfg 2009-10-16 12:51:21 UTC (rev 4040)
@@ -2,13 +2,6 @@
command_packages = buildutils.pudge_command,
buildutils.publish_command
-[easy_install]
-#find_links = http://svn.pythonpaste.org/package_index.html
-
-[egg_info]
-tag_build = dev
-tag_svn_revision = true
-
[pudge]
theme = pythonpaste.org
docs = docs/index.txt docs/Authors.txt docs/DeveloperGuide.txt docs/FAQ.txt
Modified: SQLObject/tags/0.12.0b2/setup.py
===================================================================
--- SQLObject/tags/0.12.0b2/setup.py 2009-10-16 12:46:41 UTC (rev 4039)
+++ SQLObject/tags/0.12.0b2/setup.py 2009-10-16 12:51:21 UTC (rev 4040)
@@ -21,7 +21,7 @@
"""
setup(name="SQLObject",
- version="0.12",
+ version="0.12.0b2",
description="Object-Relational Manager, aka database wrapper",
long_description="""\
SQLObject is a popular *Object Relational Manager* for providing an
Modified: SQLObject/tags/0.12.0b2/sqlobject/__init__.py
===================================================================
--- SQLObject/tags/0.12.0b2/sqlobject/__init__.py 2009-10-16 12:46:41 UTC (rev 4039)
+++ SQLObject/tags/0.12.0b2/sqlobject/__init__.py 2009-10-16 12:51:21 UTC (rev 4040)
@@ -1,5 +1,5 @@
"""
-SQLObject 0.12
+SQLObject 0.12.0b2
"""
from col import *
Modified: SQLObject/tags/0.12.0b2/sqlobject/main.py
===================================================================
--- SQLObject/tags/0.12.0b2/sqlobject/main.py 2009-10-16 12:46:41 UTC (rev 4039)
+++ SQLObject/tags/0.12.0b2/sqlobject/main.py 2009-10-16 12:51:21 UTC (rev 4040)
@@ -1,6 +1,6 @@
"""
-SQLObject 0.12
---------------
+SQLObject 0.12.0b2
+------------------
:author: Ian Bicking <ia...@co...>
|
|
From: <sub...@co...> - 2009-10-16 12:46:53
|
Author: phd Date: 2009-10-16 06:46:41 -0600 (Fri, 16 Oct 2009) New Revision: 4039 Added: SQLObject/tags/0.12.0b2/ Log: Tagging 0.12.0b2 Copied: SQLObject/tags/0.12.0b2 (from rev 4038, SQLObject/branches/0.12) |
|
From: <sub...@co...> - 2009-10-16 12:43:45
|
Author: phd
Date: 2009-10-16 06:43:33 -0600 (Fri, 16 Oct 2009)
New Revision: 4038
Modified:
SQLObject/trunk/sqlobject/main.py
SQLObject/trunk/sqlobject/sqlbuilder.py
SQLObject/trunk/sqlobject/tests/test_select.py
Log:
Merged revision 4037 from branch 0.12: fixed a bug in calling column.from_python.
Modified: SQLObject/trunk/sqlobject/main.py
===================================================================
--- SQLObject/trunk/sqlobject/main.py 2009-10-16 12:40:05 UTC (rev 4037)
+++ SQLObject/trunk/sqlobject/main.py 2009-10-16 12:43:33 UTC (rev 4038)
@@ -889,7 +889,7 @@
if val is None:
try:
val = cls(_SO_fetch_no_create=1)
- val._SO_validatorState = SQLObjectState(val)
+ val._SO_validatorState = sqlbuilder.SQLObjectState(val)
val._init(id, connection, selectResults)
cache.put(id, cls, val)
finally:
@@ -1237,7 +1237,7 @@
self.sqlmeta._creating = True
self._SO_createValues = {}
- self._SO_validatorState = SQLObjectState(self)
+ self._SO_validatorState = sqlbuilder.SQLObjectState(self)
# First we do a little fix-up on the keywords we were
# passed:
@@ -1686,13 +1686,6 @@
return '_SO_val_%s' % name
-class SQLObjectState(object):
-
- def __init__(self, soObject):
- self.soObject = weakref.proxy(soObject)
- self.protocol = 'sql'
-
-
########################################
## Utility functions (for external consumption)
########################################
Modified: SQLObject/trunk/sqlobject/sqlbuilder.py
===================================================================
--- SQLObject/trunk/sqlobject/sqlbuilder.py 2009-10-16 12:40:05 UTC (rev 4037)
+++ SQLObject/trunk/sqlobject/sqlbuilder.py 2009-10-16 12:43:33 UTC (rev 4038)
@@ -62,19 +62,28 @@
## Constants
########################################
+import fnmatch
+import operator
+import re
+import threading
+import types
+import weakref
+
+import classregistry
+from converters import sqlrepr, registerConverter
+
+
class VersionError(Exception):
pass
class NoDefault:
pass
-import re, fnmatch
-import operator
-import threading
-import types
-import classregistry
-from converters import sqlrepr, registerConverter
+class SQLObjectState(object):
+ def __init__(self, soObject):
+ self.soObject = weakref.proxy(soObject)
+
safeSQLRE = re.compile(r'^[a-zA-Z_][a-zA-Z0-9_\.]*$')
def sqlIdentifier(obj):
# some db drivers return unicode column names
@@ -329,7 +338,7 @@
def _from_python(self, value):
column = self.column
if not isinstance(value, SQLExpression) and column and column.from_python:
- value = column.from_python(value, self.soClass)
+ value = column.from_python(value, SQLObjectState(self.soClass))
return value
def __eq__(self, other):
if other is None:
Modified: SQLObject/trunk/sqlobject/tests/test_select.py
===================================================================
--- SQLObject/trunk/sqlobject/tests/test_select.py 2009-10-16 12:40:05 UTC (rev 4037)
+++ SQLObject/trunk/sqlobject/tests/test_select.py 2009-10-16 12:43:33 UTC (rev 4038)
@@ -184,3 +184,8 @@
assert IterTest.select(RLIKE(IterTest.q.name, "^sqlb.*$")).count() == 1
assert IterTest.select(RLIKE(IterTest.q.name, "^sqlb.*$")).count() == 1
assert IterTest.select(RLIKE(IterTest.q.name, "^sqlx.*$")).count() == 0
+
+def test_select_sqlbuilder():
+ setupClass(IterTest)
+ IterTest(name='sqlobject')
+ IterTest.select(IterTest.q.name==u'sqlobject')
|
|
From: <sub...@co...> - 2009-10-16 12:40:17
|
Author: phd
Date: 2009-10-16 06:40:05 -0600 (Fri, 16 Oct 2009)
New Revision: 4037
Modified:
SQLObject/branches/0.12/sqlobject/main.py
SQLObject/branches/0.12/sqlobject/sqlbuilder.py
SQLObject/branches/0.12/sqlobject/tests/test_select.py
Log:
Fixed a bug in calling column.from_python.
Modified: SQLObject/branches/0.12/sqlobject/main.py
===================================================================
--- SQLObject/branches/0.12/sqlobject/main.py 2009-10-16 12:35:22 UTC (rev 4036)
+++ SQLObject/branches/0.12/sqlobject/main.py 2009-10-16 12:40:05 UTC (rev 4037)
@@ -889,7 +889,7 @@
if val is None:
try:
val = cls(_SO_fetch_no_create=1)
- val._SO_validatorState = SQLObjectState(val)
+ val._SO_validatorState = sqlbuilder.SQLObjectState(val)
val._init(id, connection, selectResults)
cache.put(id, cls, val)
finally:
@@ -1237,7 +1237,7 @@
self.sqlmeta._creating = True
self._SO_createValues = {}
- self._SO_validatorState = SQLObjectState(self)
+ self._SO_validatorState = sqlbuilder.SQLObjectState(self)
# First we do a little fix-up on the keywords we were
# passed:
@@ -1686,13 +1686,6 @@
return '_SO_val_%s' % name
-class SQLObjectState(object):
-
- def __init__(self, soObject):
- self.soObject = weakref.proxy(soObject)
- self.protocol = 'sql'
-
-
########################################
## Utility functions (for external consumption)
########################################
Modified: SQLObject/branches/0.12/sqlobject/sqlbuilder.py
===================================================================
--- SQLObject/branches/0.12/sqlobject/sqlbuilder.py 2009-10-16 12:35:22 UTC (rev 4036)
+++ SQLObject/branches/0.12/sqlobject/sqlbuilder.py 2009-10-16 12:40:05 UTC (rev 4037)
@@ -62,19 +62,28 @@
## Constants
########################################
+import fnmatch
+import operator
+import re
+import threading
+import types
+import weakref
+
+import classregistry
+from converters import sqlrepr, registerConverter
+
+
class VersionError(Exception):
pass
class NoDefault:
pass
-import re, fnmatch
-import operator
-import threading
-import types
-import classregistry
-from converters import sqlrepr, registerConverter
+class SQLObjectState(object):
+ def __init__(self, soObject):
+ self.soObject = weakref.proxy(soObject)
+
safeSQLRE = re.compile(r'^[a-zA-Z_][a-zA-Z0-9_\.]*$')
def sqlIdentifier(obj):
# some db drivers return unicode column names
@@ -329,7 +338,7 @@
def _from_python(self, value):
column = self.column
if not isinstance(value, SQLExpression) and column and column.from_python:
- value = column.from_python(value, self.soClass)
+ value = column.from_python(value, SQLObjectState(self.soClass))
return value
def __eq__(self, other):
if other is None:
Modified: SQLObject/branches/0.12/sqlobject/tests/test_select.py
===================================================================
--- SQLObject/branches/0.12/sqlobject/tests/test_select.py 2009-10-16 12:35:22 UTC (rev 4036)
+++ SQLObject/branches/0.12/sqlobject/tests/test_select.py 2009-10-16 12:40:05 UTC (rev 4037)
@@ -184,3 +184,8 @@
assert IterTest.select(RLIKE(IterTest.q.name, "^sqlb.*$")).count() == 1
assert IterTest.select(RLIKE(IterTest.q.name, "^sqlb.*$")).count() == 1
assert IterTest.select(RLIKE(IterTest.q.name, "^sqlx.*$")).count() == 0
+
+def test_select_sqlbuilder():
+ setupClass(IterTest)
+ IterTest(name='sqlobject')
+ IterTest.select(IterTest.q.name==u'sqlobject')
|
|
From: <sub...@co...> - 2009-10-16 12:35:42
|
Author: phd
Date: 2009-10-16 06:35:22 -0600 (Fri, 16 Oct 2009)
New Revision: 4036
Modified:
SQLObject/branches/0.11/sqlobject/tests/test_select.py
Log:
Added a simple test for StringValidator converting unicode to str.
Modified: SQLObject/branches/0.11/sqlobject/tests/test_select.py
===================================================================
--- SQLObject/branches/0.11/sqlobject/tests/test_select.py 2009-10-16 12:09:58 UTC (rev 4035)
+++ SQLObject/branches/0.11/sqlobject/tests/test_select.py 2009-10-16 12:35:22 UTC (rev 4036)
@@ -175,3 +175,8 @@
assert IterTest.select(RLIKE(IterTest.q.name, "^sqlb.*$")).count() == 1
assert IterTest.select(RLIKE(IterTest.q.name, "^sqlb.*$")).count() == 1
assert IterTest.select(RLIKE(IterTest.q.name, "^sqlx.*$")).count() == 0
+
+def test_select_sqlbuilder():
+ setupClass(IterTest)
+ IterTest(name='sqlobject')
+ IterTest.select(IterTest.q.name==u'sqlobject')
|
|
From: <sub...@co...> - 2009-10-16 12:10:15
|
Author: phd Date: 2009-10-16 06:09:58 -0600 (Fri, 16 Oct 2009) New Revision: 4035 Modified: SQLObject/branches/0.12/docs/News.txt Log: SQLObject 0.12.0. Modified: SQLObject/branches/0.12/docs/News.txt =================================================================== --- SQLObject/branches/0.12/docs/News.txt 2009-10-12 17:22:15 UTC (rev 4034) +++ SQLObject/branches/0.12/docs/News.txt 2009-10-16 12:09:58 UTC (rev 4035) @@ -7,8 +7,8 @@ .. _start: -SQLObject (trunk) -================= +SQLObject 0.12.0 +================ Features & Interface -------------------- |
|
From: <sub...@co...> - 2009-10-12 17:22:22
|
Author: phd
Date: 2009-10-12 11:22:15 -0600 (Mon, 12 Oct 2009)
New Revision: 4034
Modified:
SQLObject/trunk/README.txt
SQLObject/trunk/docs/News.txt
SQLObject/trunk/setup.py
SQLObject/trunk/sqlobject/__init__.py
SQLObject/trunk/sqlobject/main.py
Log:
Branch 0.12 has been created.
Modified: SQLObject/trunk/README.txt
===================================================================
--- SQLObject/trunk/README.txt 2009-10-12 17:13:10 UTC (rev 4033)
+++ SQLObject/trunk/README.txt 2009-10-12 17:22:15 UTC (rev 4034)
@@ -1,4 +1,4 @@
-SQLObject 0.12
+SQLObject 0.13
==============
Thanks for looking at SQLObject. SQLObject is an object-relational
Modified: SQLObject/trunk/docs/News.txt
===================================================================
--- SQLObject/trunk/docs/News.txt 2009-10-12 17:13:10 UTC (rev 4033)
+++ SQLObject/trunk/docs/News.txt 2009-10-12 17:22:15 UTC (rev 4034)
@@ -10,6 +10,9 @@
SQLObject (trunk)
=================
+SQLObject 0.12
+==============
+
Features & Interface
--------------------
Modified: SQLObject/trunk/setup.py
===================================================================
--- SQLObject/trunk/setup.py 2009-10-12 17:13:10 UTC (rev 4033)
+++ SQLObject/trunk/setup.py 2009-10-12 17:22:15 UTC (rev 4034)
@@ -21,7 +21,7 @@
"""
setup(name="SQLObject",
- version="0.12",
+ version="0.13",
description="Object-Relational Manager, aka database wrapper",
long_description="""\
SQLObject is a popular *Object Relational Manager* for providing an
@@ -35,7 +35,7 @@
Supports MySQL, PostgreSQL, SQLite, Firebird, Sybase, MSSQL and MaxDB (SAPDB).
For development see the `subversion repository
-<http://svn.colorstudy.com/SQLObject/trunk#egg=SQLObject-0.12dev>`_
+<http://svn.colorstudy.com/SQLObject/trunk#egg=SQLObject-0.13dev>`_
""",
classifiers=[
"Development Status :: 5 - Production/Stable",
Modified: SQLObject/trunk/sqlobject/__init__.py
===================================================================
--- SQLObject/trunk/sqlobject/__init__.py 2009-10-12 17:13:10 UTC (rev 4033)
+++ SQLObject/trunk/sqlobject/__init__.py 2009-10-12 17:22:15 UTC (rev 4034)
@@ -1,5 +1,5 @@
"""
-SQLObject 0.12
+SQLObject 0.13
"""
from col import *
Modified: SQLObject/trunk/sqlobject/main.py
===================================================================
--- SQLObject/trunk/sqlobject/main.py 2009-10-12 17:13:10 UTC (rev 4033)
+++ SQLObject/trunk/sqlobject/main.py 2009-10-12 17:22:15 UTC (rev 4034)
@@ -1,5 +1,5 @@
"""
-SQLObject 0.12
+SQLObject 0.13
--------------
:author: Ian Bicking <ia...@co...>
|
|
From: <sub...@co...> - 2009-10-12 17:13:16
|
Author: phd
Date: 2009-10-12 11:13:10 -0600 (Mon, 12 Oct 2009)
New Revision: 4033
Modified:
SQLObject/tags/0.12.0b1/docs/News.txt
SQLObject/tags/0.12.0b1/setup.cfg
SQLObject/tags/0.12.0b1/setup.py
SQLObject/tags/0.12.0b1/sqlobject/__init__.py
SQLObject/tags/0.12.0b1/sqlobject/main.py
Log:
Version 0.12.0b1.
Modified: SQLObject/tags/0.12.0b1/docs/News.txt
===================================================================
--- SQLObject/tags/0.12.0b1/docs/News.txt 2009-10-12 17:11:27 UTC (rev 4032)
+++ SQLObject/tags/0.12.0b1/docs/News.txt 2009-10-12 17:13:10 UTC (rev 4033)
@@ -7,8 +7,8 @@
.. _start:
-SQLObject (trunk)
-=================
+SQLObject 0.12.0
+================
Features & Interface
--------------------
Modified: SQLObject/tags/0.12.0b1/setup.cfg
===================================================================
--- SQLObject/tags/0.12.0b1/setup.cfg 2009-10-12 17:11:27 UTC (rev 4032)
+++ SQLObject/tags/0.12.0b1/setup.cfg 2009-10-12 17:13:10 UTC (rev 4033)
@@ -2,13 +2,6 @@
command_packages = buildutils.pudge_command,
buildutils.publish_command
-[easy_install]
-#find_links = http://svn.pythonpaste.org/package_index.html
-
-[egg_info]
-tag_build = dev
-tag_svn_revision = true
-
[pudge]
theme = pythonpaste.org
docs = docs/index.txt docs/Authors.txt docs/DeveloperGuide.txt docs/FAQ.txt
Modified: SQLObject/tags/0.12.0b1/setup.py
===================================================================
--- SQLObject/tags/0.12.0b1/setup.py 2009-10-12 17:11:27 UTC (rev 4032)
+++ SQLObject/tags/0.12.0b1/setup.py 2009-10-12 17:13:10 UTC (rev 4033)
@@ -21,7 +21,7 @@
"""
setup(name="SQLObject",
- version="0.12",
+ version="0.12.0b1",
description="Object-Relational Manager, aka database wrapper",
long_description="""\
SQLObject is a popular *Object Relational Manager* for providing an
Modified: SQLObject/tags/0.12.0b1/sqlobject/__init__.py
===================================================================
--- SQLObject/tags/0.12.0b1/sqlobject/__init__.py 2009-10-12 17:11:27 UTC (rev 4032)
+++ SQLObject/tags/0.12.0b1/sqlobject/__init__.py 2009-10-12 17:13:10 UTC (rev 4033)
@@ -1,5 +1,5 @@
"""
-SQLObject 0.12
+SQLObject 0.12.0b1
"""
from col import *
Modified: SQLObject/tags/0.12.0b1/sqlobject/main.py
===================================================================
--- SQLObject/tags/0.12.0b1/sqlobject/main.py 2009-10-12 17:11:27 UTC (rev 4032)
+++ SQLObject/tags/0.12.0b1/sqlobject/main.py 2009-10-12 17:13:10 UTC (rev 4033)
@@ -1,6 +1,6 @@
"""
-SQLObject 0.12
---------------
+SQLObject 0.12.0b1
+------------------
:author: Ian Bicking <ia...@co...>
|
|
From: <sub...@co...> - 2009-10-12 17:11:37
|
Author: phd Date: 2009-10-12 11:11:27 -0600 (Mon, 12 Oct 2009) New Revision: 4032 Added: SQLObject/tags/0.12.0b1/ Log: Tagging 0.12.0b1 Copied: SQLObject/tags/0.12.0b1 (from rev 4031, SQLObject/branches/0.12) |
|
From: <sub...@co...> - 2009-10-12 17:01:35
|
Author: phd Date: 2009-10-12 11:01:23 -0600 (Mon, 12 Oct 2009) New Revision: 4031 Added: SQLObject/branches/0.12/ Log: Branch 0.12 Copied: SQLObject/branches/0.12 (from rev 4030, SQLObject/trunk) |
|
From: SourceForge.net <no...@so...> - 2009-10-12 15:39:18
|
Bugs item #2870763, was opened at 2009-09-30 18:08 Message generated for change (Comment added) made by phd You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2870763&group_id=74338 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Postgres Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: SQLObject doesn't handle psycopg2.IntegrityError Initial Comment: SQLObject throws psycopg2.IntegrityError (duplicate key value violates unique constraint "account_username_key") when in fact it should throw sqlobject.dberrors.IntegrityError. try: person = Account(username="rafael", password="senha", connection=conn) person.addContact(Contact(email="ro...@ma...", connection=conn)) person.addContact(Contact(email="ma...@ma...", connection=conn)) except sqlobject.dberrors.IntegrityError, e: pass ---------------------------------------------------------------------- >Comment By: Oleg Broytman (phd) Date: 2009-10-12 19:39 Message: Only SQLiteConnection and MySQLConnection currently map DB API exceptions to sqlobject.dberrors. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=540672&aid=2870763&group_id=74338 |
|
From: <sub...@co...> - 2009-10-09 15:28:16
|
Author: phd
Date: 2009-10-09 09:28:09 -0600 (Fri, 09 Oct 2009)
New Revision: 4030
Modified:
SQLObject/trunk/docs/News.txt
SQLObject/trunk/sqlobject/cache.py
Log:
The cache culling algorithm was enhanced by Jason Culverhouse <ja...@me...>.
Modified: SQLObject/trunk/docs/News.txt
===================================================================
--- SQLObject/trunk/docs/News.txt 2009-10-09 15:26:30 UTC (rev 4029)
+++ SQLObject/trunk/docs/News.txt 2009-10-09 15:28:09 UTC (rev 4030)
@@ -55,6 +55,11 @@
* Removed the last remained string exceptions.
+SQLObject 0.11.3
+================
+
+* A change ported from `SQLObject 0.10.9`_.
+
SQLObject 0.11.2
================
@@ -117,6 +122,13 @@
* Changed the order of testing of SQLite modules - look for external
PySQLite2 before sqlite3.
+SQLObject 0.10.9
+================
+
+* The cache culling algorithm was enhanced to eliminate memory leaks by
+ removing references to dead objects; tested on a website that runs around
+ 4 million requests a day.
+
SQLObject 0.10.8
================
Modified: SQLObject/trunk/sqlobject/cache.py
===================================================================
--- SQLObject/trunk/sqlobject/cache.py 2009-10-09 15:26:30 UTC (rev 4029)
+++ SQLObject/trunk/sqlobject/cache.py 2009-10-09 15:28:09 UTC (rev 4030)
@@ -180,18 +180,31 @@
self.expiredCache[id] = ref(obj)
def cull(self):
- """
- Runs through the cache and expires objects. E.g., if
- ``cullFraction`` is 3, then every third object is moved to
+ """Runs through the cache and expires objects
+
+ E.g., if ``cullFraction`` is 3, then every third object is moved to
the 'expired' (aka weakref) cache.
+
"""
self.lock.acquire()
try:
+ #remove dead references from the expired cache
+ keys = self.expiredCache.keys()
+ for key in keys:
+ if self.expiredCache[key]() is None:
+ self.expiredCache.pop(key, None)
+
keys = self.cache.keys()
for i in xrange(self.cullOffset, len(keys), self.cullFraction):
id = keys[i]
- self.expiredCache[id] = ref(self.cache[id])
+ # create a weakref, then remove from the cache
+ obj = ref(self.cache[id])
del self.cache[id]
+
+ #the object may have been gc'd when removed from the cache
+ #above, no need to place in expiredCache
+ if obj() is not None:
+ self.expiredCache[id] = obj
# This offset tries to balance out which objects we
# expire, so no object will just hang out in the cache
# forever.
|
|
From: <sub...@co...> - 2009-10-09 15:26:40
|
Author: phd
Date: 2009-10-09 09:26:30 -0600 (Fri, 09 Oct 2009)
New Revision: 4029
Modified:
SQLObject/branches/0.11/docs/News.txt
SQLObject/branches/0.11/sqlobject/cache.py
Log:
The cache culling algorithm was enhanced by Jason Culverhouse <ja...@me...>.
Modified: SQLObject/branches/0.11/docs/News.txt
===================================================================
--- SQLObject/branches/0.11/docs/News.txt 2009-10-09 15:23:39 UTC (rev 4028)
+++ SQLObject/branches/0.11/docs/News.txt 2009-10-09 15:26:30 UTC (rev 4029)
@@ -7,6 +7,11 @@
.. _start:
+SQLObject 0.11.3
+================
+
+* A change ported from `SQLObject 0.10.9`_.
+
SQLObject 0.11.2
================
@@ -69,6 +74,13 @@
* Changed the order of testing of SQLite modules - look for external
PySQLite2 before sqlite3.
+SQLObject 0.10.9
+================
+
+* The cache culling algorithm was enhanced to eliminate memory leaks by
+ removing references to dead objects; tested on a website that runs around
+ 4 million requests a day.
+
SQLObject 0.10.8
================
Modified: SQLObject/branches/0.11/sqlobject/cache.py
===================================================================
--- SQLObject/branches/0.11/sqlobject/cache.py 2009-10-09 15:23:39 UTC (rev 4028)
+++ SQLObject/branches/0.11/sqlobject/cache.py 2009-10-09 15:26:30 UTC (rev 4029)
@@ -180,18 +180,31 @@
self.expiredCache[id] = ref(obj)
def cull(self):
- """
- Runs through the cache and expires objects. E.g., if
- ``cullFraction`` is 3, then every third object is moved to
+ """Runs through the cache and expires objects
+
+ E.g., if ``cullFraction`` is 3, then every third object is moved to
the 'expired' (aka weakref) cache.
+
"""
self.lock.acquire()
try:
+ #remove dead references from the expired cache
+ keys = self.expiredCache.keys()
+ for key in keys:
+ if self.expiredCache[key]() is None:
+ self.expiredCache.pop(key, None)
+
keys = self.cache.keys()
for i in xrange(self.cullOffset, len(keys), self.cullFraction):
id = keys[i]
- self.expiredCache[id] = ref(self.cache[id])
+ # create a weakref, then remove from the cache
+ obj = ref(self.cache[id])
del self.cache[id]
+
+ #the object may have been gc'd when removed from the cache
+ #above, no need to place in expiredCache
+ if obj() is not None:
+ self.expiredCache[id] = obj
# This offset tries to balance out which objects we
# expire, so no object will just hang out in the cache
# forever.
|
|
From: <sub...@co...> - 2009-10-09 15:23:50
|
Author: phd
Date: 2009-10-09 09:23:39 -0600 (Fri, 09 Oct 2009)
New Revision: 4028
Modified:
SQLObject/branches/0.10/docs/News.txt
SQLObject/branches/0.10/sqlobject/cache.py
Log:
The cache culling algorithm was enhanced by Jason Culverhouse <ja...@me...>.
Modified: SQLObject/branches/0.10/docs/News.txt
===================================================================
--- SQLObject/branches/0.10/docs/News.txt 2009-09-30 15:58:01 UTC (rev 4027)
+++ SQLObject/branches/0.10/docs/News.txt 2009-10-09 15:23:39 UTC (rev 4028)
@@ -7,6 +7,13 @@
.. _start:
+SQLObject 0.10.9
+================
+
+* The cache culling algorithm was enhanced to eliminate memory leaks by
+ removing references to dead objects; tested on a website that runs around
+ 4 million requests a day.
+
SQLObject 0.10.8
================
Modified: SQLObject/branches/0.10/sqlobject/cache.py
===================================================================
--- SQLObject/branches/0.10/sqlobject/cache.py 2009-09-30 15:58:01 UTC (rev 4027)
+++ SQLObject/branches/0.10/sqlobject/cache.py 2009-10-09 15:23:39 UTC (rev 4028)
@@ -180,18 +180,31 @@
self.expiredCache[id] = ref(obj)
def cull(self):
- """
- Runs through the cache and expires objects. E.g., if
- ``cullFraction`` is 3, then every third object is moved to
+ """Runs through the cache and expires objects
+
+ E.g., if ``cullFraction`` is 3, then every third object is moved to
the 'expired' (aka weakref) cache.
+
"""
self.lock.acquire()
try:
+ #remove dead references from the expired cache
+ keys = self.expiredCache.keys()
+ for key in keys:
+ if self.expiredCache[key]() is None:
+ self.expiredCache.pop(key, None)
+
keys = self.cache.keys()
for i in xrange(self.cullOffset, len(keys), self.cullFraction):
id = keys[i]
- self.expiredCache[id] = ref(self.cache[id])
+ # create a weakref, then remove from the cache
+ obj = ref(self.cache[id])
del self.cache[id]
+
+ #the object may have been gc'd when removed from the cache
+ #above, no need to place in expiredCache
+ if obj() is not None:
+ self.expiredCache[id] = obj
# This offset tries to balance out which objects we
# expire, so no object will just hang out in the cache
# forever.
|
|
From: <sub...@co...> - 2009-09-30 15:58:08
|
Author: phd
Date: 2009-09-30 09:58:01 -0600 (Wed, 30 Sep 2009)
New Revision: 4027
Modified:
SQLObject/trunk/sqlobject/col.py
Log:
Added an omitted dot.
Modified: SQLObject/trunk/sqlobject/col.py
===================================================================
--- SQLObject/trunk/sqlobject/col.py 2009-09-30 15:53:49 UTC (rev 4026)
+++ SQLObject/trunk/sqlobject/col.py 2009-09-30 15:58:01 UTC (rev 4027)
@@ -355,7 +355,7 @@
return self
if obj.sqlmeta._obsolete:
raise RuntimeError('The object <%s %s> is obsolete' % (
- obj__class__.__name__, obj.id))
+ obj.__class__.__name__, obj.id))
if obj.sqlmeta.cacheColumns:
columns = obj.sqlmeta._columnCache
if columns is None:
|
|
From: <sub...@co...> - 2009-09-30 15:53:59
|
Author: phd
Date: 2009-09-30 09:53:49 -0600 (Wed, 30 Sep 2009)
New Revision: 4026
Modified:
SQLObject/trunk/docs/News.txt
SQLObject/trunk/sqlobject/col.py
Log:
Removed the last remained string exceptions.
Modified: SQLObject/trunk/docs/News.txt
===================================================================
--- SQLObject/trunk/docs/News.txt 2009-09-30 15:48:38 UTC (rev 4025)
+++ SQLObject/trunk/docs/News.txt 2009-09-30 15:53:49 UTC (rev 4026)
@@ -53,6 +53,8 @@
* Removed all deprecated attribute and functions.
+* Removed the last remained string exceptions.
+
SQLObject 0.11.2
================
Modified: SQLObject/trunk/sqlobject/col.py
===================================================================
--- SQLObject/trunk/sqlobject/col.py 2009-09-30 15:48:38 UTC (rev 4025)
+++ SQLObject/trunk/sqlobject/col.py 2009-09-30 15:53:49 UTC (rev 4026)
@@ -354,7 +354,8 @@
# class attribute, return the descriptor itself
return self
if obj.sqlmeta._obsolete:
- raise '@@: figure out the exception for a delete'
+ raise RuntimeError('The object <%s %s> is obsolete' % (
+ obj__class__.__name__, obj.id))
if obj.sqlmeta.cacheColumns:
columns = obj.sqlmeta._columnCache
if columns is None:
@@ -975,7 +976,7 @@
return "VARCHAR(%i)" % (length), checkConstraint
def _maxdbType(self):
- raise "Enum type is not supported"
+ raise TypeError("Enum type is not supported on MAX DB")
def _getlength(self, obj):
"""
|
|
From: <sub...@co...> - 2009-09-30 15:48:48
|
Author: phd
Date: 2009-09-30 09:48:38 -0600 (Wed, 30 Sep 2009)
New Revision: 4025
Modified:
SQLObject/trunk/sqlobject/col.py
Log:
Fixed the name of the attribute: sqlmeta._obsolete.
Modified: SQLObject/trunk/sqlobject/col.py
===================================================================
--- SQLObject/trunk/sqlobject/col.py 2009-09-30 15:47:55 UTC (rev 4024)
+++ SQLObject/trunk/sqlobject/col.py 2009-09-30 15:48:38 UTC (rev 4025)
@@ -353,7 +353,7 @@
if obj is None:
# class attribute, return the descriptor itself
return self
- if obj.sqlmeta.obsolete:
+ if obj.sqlmeta._obsolete:
raise '@@: figure out the exception for a delete'
if obj.sqlmeta.cacheColumns:
columns = obj.sqlmeta._columnCache
|
|
From: <sub...@co...> - 2009-09-30 15:48:05
|
Author: phd
Date: 2009-09-30 09:47:55 -0600 (Wed, 30 Sep 2009)
New Revision: 4024
Modified:
SQLObject/branches/0.11/sqlobject/col.py
Log:
Fixed the name of the attribute: sqlmeta._obsolete.
Modified: SQLObject/branches/0.11/sqlobject/col.py
===================================================================
--- SQLObject/branches/0.11/sqlobject/col.py 2009-09-30 15:47:07 UTC (rev 4023)
+++ SQLObject/branches/0.11/sqlobject/col.py 2009-09-30 15:47:55 UTC (rev 4024)
@@ -353,7 +353,7 @@
if obj is None:
# class attribute, return the descriptor itself
return self
- if obj.sqlmeta.obsolete:
+ if obj.sqlmeta._obsolete:
raise '@@: figure out the exception for a delete'
if obj.sqlmeta.cacheColumns:
columns = obj.sqlmeta._columnCache
|
|
From: <sub...@co...> - 2009-09-30 15:47:27
|
Author: phd
Date: 2009-09-30 09:47:07 -0600 (Wed, 30 Sep 2009)
New Revision: 4023
Modified:
SQLObject/branches/0.10/sqlobject/col.py
Log:
Fixed the name of the attribute: sqlmeta._obsolete.
Modified: SQLObject/branches/0.10/sqlobject/col.py
===================================================================
--- SQLObject/branches/0.10/sqlobject/col.py 2009-09-30 15:35:30 UTC (rev 4022)
+++ SQLObject/branches/0.10/sqlobject/col.py 2009-09-30 15:47:07 UTC (rev 4023)
@@ -353,7 +353,7 @@
if obj is None:
# class attribute, return the descriptor itself
return self
- if obj.sqlmeta.obsolete:
+ if obj.sqlmeta._obsolete:
raise '@@: figure out the exception for a delete'
if obj.sqlmeta.cacheColumns:
columns = obj.sqlmeta._columnCache
|
|
From: <sub...@co...> - 2009-09-30 15:35:41
|
Author: phd Date: 2009-09-30 09:35:30 -0600 (Wed, 30 Sep 2009) New Revision: 4022 Removed: SQLObject/trunk/release Log: Removed very old and outdated release script. Deleted: SQLObject/trunk/release =================================================================== --- SQLObject/trunk/release 2009-09-30 15:35:19 UTC (rev 4021) +++ SQLObject/trunk/release 2009-09-30 15:35:30 UTC (rev 4022) @@ -1,26 +0,0 @@ -#!/bin/sh - -#echo 'Installing...' -#sudo python ./setup.py install -#echo 'installation done.' - -#pushd tests > /dev/null -#echo 'Testing...' -#python ./test.py -#echo 'testing done.' -#popd - -echo 'Building...' -python ./setup.py sdist -python ./setup.py bdist_rpm -python ./setup.py bdist_wininst -echo 'building done.' - -echo 'Uploading...' -pushd dist > /dev/null -for F in * ; do - echo -n " uploading $F..." - ncftpput upload.sourceforge.net incoming "$F" - echo "done." -done -echo 'uploading done' |
|
From: <sub...@co...> - 2009-09-30 15:35:29
|
Author: phd Date: 2009-09-30 09:35:19 -0600 (Wed, 30 Sep 2009) New Revision: 4021 Removed: SQLObject/branches/0.11/release Log: Removed very old and outdated release script. Deleted: SQLObject/branches/0.11/release =================================================================== --- SQLObject/branches/0.11/release 2009-09-30 15:35:02 UTC (rev 4020) +++ SQLObject/branches/0.11/release 2009-09-30 15:35:19 UTC (rev 4021) @@ -1,26 +0,0 @@ -#!/bin/sh - -#echo 'Installing...' -#sudo python ./setup.py install -#echo 'installation done.' - -#pushd tests > /dev/null -#echo 'Testing...' -#python ./test.py -#echo 'testing done.' -#popd - -echo 'Building...' -python ./setup.py sdist -python ./setup.py bdist_rpm -python ./setup.py bdist_wininst -echo 'building done.' - -echo 'Uploading...' -pushd dist > /dev/null -for F in * ; do - echo -n " uploading $F..." - ncftpput upload.sourceforge.net incoming "$F" - echo "done." -done -echo 'uploading done' |
|
From: <sub...@co...> - 2009-09-30 15:35:12
|
Author: phd Date: 2009-09-30 09:35:02 -0600 (Wed, 30 Sep 2009) New Revision: 4020 Removed: SQLObject/branches/0.10/release Log: Removed very old and outdated release script. Deleted: SQLObject/branches/0.10/release =================================================================== --- SQLObject/branches/0.10/release 2009-09-30 15:29:52 UTC (rev 4019) +++ SQLObject/branches/0.10/release 2009-09-30 15:35:02 UTC (rev 4020) @@ -1,26 +0,0 @@ -#!/bin/sh - -#echo 'Installing...' -#sudo python ./setup.py install -#echo 'installation done.' - -#pushd tests > /dev/null -#echo 'Testing...' -#python ./test.py -#echo 'testing done.' -#popd - -echo 'Building...' -python ./setup.py sdist -python ./setup.py bdist_rpm -python ./setup.py bdist_wininst -echo 'building done.' - -echo 'Uploading...' -pushd dist > /dev/null -for F in * ; do - echo -n " uploading $F..." - ncftpput upload.sourceforge.net incoming "$F" - echo "done." -done -echo 'uploading done' |
|
From: <sub...@co...> - 2009-09-30 15:30:02
|
Author: phd Date: 2009-09-30 09:29:52 -0600 (Wed, 30 Sep 2009) New Revision: 4019 Modified: SQLObject/trunk/README.txt Log: The minimal version of Python for SQLObject is 2.4. Modified: SQLObject/trunk/README.txt =================================================================== --- SQLObject/trunk/README.txt 2009-09-30 15:29:11 UTC (rev 4018) +++ SQLObject/trunk/README.txt 2009-09-30 15:29:52 UTC (rev 4019) @@ -7,7 +7,7 @@ It currently supports MySQL through the `MySQLdb` package, PostgreSQL through the `psycopg` package, SQLite, Firebird, MaxDB (SAP DB), MS SQL -and Sybase. It should support Python versions back to 2.3. +and Sybase. It should support Python versions back to 2.4. For more information please see the documentation in docs/SQLObject.txt, or online at http://sqlobject.org/ |
|
From: <sub...@co...> - 2009-09-30 15:29:24
|
Author: phd Date: 2009-09-30 09:29:11 -0600 (Wed, 30 Sep 2009) New Revision: 4018 Modified: SQLObject/trunk/docs/News.txt Log: TimestampCol instantiation is a rather major API enhancement. Modified: SQLObject/trunk/docs/News.txt =================================================================== --- SQLObject/trunk/docs/News.txt 2009-09-30 15:26:37 UTC (rev 4017) +++ SQLObject/trunk/docs/News.txt 2009-09-30 15:29:11 UTC (rev 4018) @@ -41,6 +41,9 @@ * SET client_encoding for PostgreSQL to the value of "charset" parameter in DB URI or PostgresConnection. +* TimestampCol() can be instantiated without any defaults, in this case + default will be None (good default for TIMESTAMP columns in MySQL). + Small Features -------------- @@ -50,9 +53,6 @@ * Removed all deprecated attribute and functions. -* TimestampCol() can be instantiated without any defaults, in this case - default will be None (good default for TIMESTAMP columns in MySQL). - SQLObject 0.11.2 ================ |