Package snooze.plt contributed by untyped [docs]
To load: (require (planet untyped/snooze:1:4/snooze))
Old style:(require (planet "snooze.ss" ("untyped" "snooze.plt" 1 4)))
Package description:

An Object Relational Mapping (ORM) system from Untyped. Snooze lets you define special MzScheme structs called persistent-structs and serialize them to an SQLite or PostgreSQL database.

Downloads this week: 0
Total downloads: 648
Tickets:0
Open tickets:0
Primary files:
NameContract
(all-from (planet "gen.ss" ("untyped" "unlib.plt" 2)))
(all-from (file "base.ss"))
(all-from (file "era.ss"))
(all-from (file "persistent-struct.ss"))
(all-from (file "query-lang.ss"))
(all-from (file "query-util.ss"))
(all-from (file "type.ss"))
(all-defined)
 Current version
PLaneT versionExternal versionSourceDLsDocsReq. PLTDate added
(1 4)
85
[none]2008-01-07
To load: (require (planet untyped/snooze:1:4/snooze))
Available in repositories: 4.x, 3xx
  • more Scribble documentation;
  • fixes to the rendering of "IN" and "CROSS JOIN" statements.
No Tickets Currently open for this Package [New Ticket]

 Old versions
PLaneT versionExternal versionSourceDLsDocsReq. PLTDate added
(1 3)
12
[none]2007-11-19
To load: (require (planet "snooze.ss" ("untyped" "snooze.plt" 1 (= 3))))
Available in repositories: 3xx, 4.x

The PostgreSQL backend now uses SPGSQL 2.1.

(1 2)
11
[none]2007-11-01
To load: (require (planet "snooze.ss" ("untyped" "snooze.plt" 1 (= 2))))
Available in repositories: 4.x, 3xx
save! and delete! now return the (mutated) stuct passed to them.
(1 1)
5
[none]2007-10-19
To load: (require (planet "snooze.ss" ("untyped" "snooze.plt" 1 (= 1))))
Available in repositories: 4.x, 3xx
Added default values for fields and functional updating of persistent structs... and a little (just a little) documentation.
(1 0)351
8
[none]2007-09-28
To load: (require (planet "snooze.ss" ("untyped" "snooze.plt" 1 (= 0))))
Available in repositories: 4.x, 3xx
Initial PLaneT release.
 Packages in other repositories

These packages are not available in the 3xx repository, but they are available for other versions of Racket.

PLaneT versionExternal versionSourceDLsDocsReq. PLTDate added
(2 9)
100
4.2.22011-05-20
To load: (require (planet "main.ss" ("untyped" "snooze.plt" 2 (= 9))))
Available in repositories: 4.x

Changes and additions:

  • added connection pooling support to PostgreSQL back end;
  • changed audit transaction timestamps to SRFI 19 time-utcs;
  • added query-logger parameter;
  • added sql-list syntax.
(2 8)
201
4.0.2.52009-06-27
To load: (require (planet "main.ss" ("untyped" "snooze.plt" 2 (= 8))))
Available in repositories: 4.x

Changes and additions:

  • updated from SQLite.plt v3.x to SQLite.plt v4.3.
(2 7)
15
4.0.2.52009-06-03
To load: (require (planet "main.ss" ("untyped" "snooze.plt" 2 (= 7))))
Available in repositories: 4.x

Changes and additions:

  • simplified the query system:
    • the macro query language is now the preferred way of writing queries;
    • entity names can now be used in queries;
    • introduced entity.attr syntax to refer to attributes;
    • special attribute aliases are no longer required;
  • simplified accessing entity/attribute metadata:
    • the entity name foo can now be used instead of entity:foo;
    • the syntax (attr entity attr-id) has been added to replace attr:entity-attr-id;
  • enhancements to the quick-find system:
    • quick-find procedures now accept #:what, #:order, #:limit and #:offset arguments;
  • documented the #:ssl option for PostgreSQL in the Quick Start, including a note about the lower speed of SSL-enabled connections;
  • removed extraneous provides from snooze.ss.
(2 6)
129
4.0.2.52009-01-11
To load: (require (planet "main.ss" ("untyped" "snooze.plt" 2 (= 6))))
Available in repositories: 4.x

Changes:

  • argumentless and and or are supported;
  • added extra functions to the check library;
  • added extra information to persistent-struct-info, supporting simple development of more advanced persistent struct related macros.
(2 5)
6
4.0.2.52009-01-06
To load: (require (planet "main.ss" ("untyped" "snooze.plt" 2 (= 5))))
Available in repositories: 4.x

Changes:

  • corrected typos in the quick start in the docs;
  • updated the contract on the make-database procedure for the SQLite backend, to match changes in the contract on the open procedure in sqlite.plt.
(2 4)
3
4.0.2.52009-01-03
To load: (require (planet "main.ss" ("untyped" "snooze.plt" 2 (= 4))))
Available in repositories: 4.x

Fixes to documentation compilation bugs.

(2 3)
13
4.0.2.52008-11-30
To load: (require (planet "snooze.ss" ("untyped" "snooze.plt" 2 (= 3))))
Available in repositories: 4.x

Fixes to documentation compilation bugs.

(2 2)
45
4.0.2.52008-09-12
To load: (require (planet "snooze.ss" ("untyped" "snooze.plt" 2 (= 2))))
Available in repositories: 4.x

New features:

  • added a struct-saved? procedure as the preferred method of checking whether a struct has been saved to the database.
(2 1)
12
4.0.2.52008-09-01
To load: (require (planet "snooze.ss" ("untyped" "snooze.plt" 2 (= 1))))
Available in repositories: 4.x

Bug fixes:

  • joins are rendered in a manner that is acceptable to SQLite;
  • #:distinct works correctly in the syntax query language;
  • sql:string-append and sql:string-replace have the correct names.
(2 0)
3
4.0.2.52008-08-30
To load: (require (planet "snooze.ss" ("untyped" "snooze.plt" 2 (= 0))))
Available in repositories: 4.x

New features:

  • a completely new procedural query language that supports nested subqueries, expressions on columns, aggregate functions and DISTINCT, GROUP and HAVING clauses;
  • a new syntax wrapper for the query language, allowing briefer queries;
  • full support for nested transactions in PostgreSQL (including rollback of persistent structs to keep them synced with changes in the database);
  • an experimental audit trail feature (warning: the interface is likely to change in a future release).
  • persistent-structs are now serializable with scheme/serialize.

Known issues:

  • transaction support and pipelines have not been fully documented;
  • a bug in SQLite causes all queries with nested joins in them to fail: a solution to this problem is being worked on.