Mercurial > p > roundup > code
comparison roundup/backends/rdbms_common.py @ 1599:cc96bf971b33
extended date syntax to make range searches even more useful
| author | Andrey Lebedev <kedder@users.sourceforge.net> |
|---|---|
| date | Tue, 22 Apr 2003 20:53:55 +0000 |
| parents | 33a0d94c7658 |
| children | 3d627e34f18e |
comparison
equal
deleted
inserted
replaced
| 1598:b3263567b8c6 | 1599:cc96bf971b33 |
|---|---|
| 1 # $Id: rdbms_common.py,v 1.54 2003-04-20 11:58:45 kedder Exp $ | 1 # $Id: rdbms_common.py,v 1.55 2003-04-22 20:53:54 kedder Exp $ |
| 2 ''' Relational database (SQL) backend common code. | 2 ''' Relational database (SQL) backend common code. |
| 3 | 3 |
| 4 Basics: | 4 Basics: |
| 5 | 5 |
| 6 - map roundup classes to relational tables | 6 - map roundup classes to relational tables |
| 1850 else: | 1850 else: |
| 1851 try: | 1851 try: |
| 1852 # Try to filter on range of dates | 1852 # Try to filter on range of dates |
| 1853 date_rng = Range(v, date.Date, offset=timezone) | 1853 date_rng = Range(v, date.Date, offset=timezone) |
| 1854 if (date_rng.from_value): | 1854 if (date_rng.from_value): |
| 1855 where.append('_%s > %s'%(k, a)) | 1855 where.append('_%s >= %s'%(k, a)) |
| 1856 args.append(date_rng.from_value.serialise()) | 1856 args.append(date_rng.from_value.serialise()) |
| 1857 if (date_rng.to_value): | 1857 if (date_rng.to_value): |
| 1858 where.append('_%s < %s'%(k, a)) | 1858 where.append('_%s <= %s'%(k, a)) |
| 1859 args.append(date_rng.to_value.serialise()) | 1859 args.append(date_rng.to_value.serialise()) |
| 1860 except ValueError: | 1860 except ValueError: |
| 1861 # If range creation fails - ignore that search parameter | 1861 # If range creation fails - ignore that search parameter |
| 1862 pass | 1862 pass |
| 1863 elif isinstance(propclass, Interval): | 1863 elif isinstance(propclass, Interval): |
| 1868 else: | 1868 else: |
| 1869 try: | 1869 try: |
| 1870 # Try to filter on range of intervals | 1870 # Try to filter on range of intervals |
| 1871 date_rng = Range(v, date.Interval) | 1871 date_rng = Range(v, date.Interval) |
| 1872 if (date_rng.from_value): | 1872 if (date_rng.from_value): |
| 1873 where.append('_%s > %s'%(k, a)) | 1873 where.append('_%s >= %s'%(k, a)) |
| 1874 args.append(date_rng.from_value.serialise()) | 1874 args.append(date_rng.from_value.serialise()) |
| 1875 if (date_rng.to_value): | 1875 if (date_rng.to_value): |
| 1876 where.append('_%s < %s'%(k, a)) | 1876 where.append('_%s <= %s'%(k, a)) |
| 1877 args.append(date_rng.to_value.serialise()) | 1877 args.append(date_rng.to_value.serialise()) |
| 1878 except ValueError: | 1878 except ValueError: |
| 1879 # If range creation fails - ignore that search parameter | 1879 # If range creation fails - ignore that search parameter |
| 1880 pass | 1880 pass |
| 1881 #where.append('_%s=%s'%(k, a)) | 1881 #where.append('_%s=%s'%(k, a)) |
