<commit_before>sfPgLookPlugin
===============

This plugin aims at providing a fast & lightweight ORM based on PDO to take advantage of Postgresql features :

 *  Extra data types like key => value store, hierachical data and arrays, vectors, ISBN, IPV4 adresses etc...
 *  Regular expressions in SQL
 *  multiple tables inheritance
 *  schemas and views
 *  window functions
 *  stored procedures
 *  triggers
 *  million features I forget to mention here

Because the query language is raw SQL.

The abstraction layer turns data in your database into PHP objects in your code using a _translator_ :

 *  booleans in postgres will be boolean in PHP
 *  arrays in postgres will be arrays in PHP

For now, simple CRUD operations are supported, no code generation, no admin gen, no schema, no fixtures, just a kernel to make fast and efficient queries.

Queries return Collections, with handy iterator methods like in Propel 1.5 : isFirst, isLast, isOdd, getOddEven etc ...<commit_msg>Changed README<commit_after>sfPgLookPlugin
===============

This plugin aims at providing a fast & lightweight ORM based on PDO to take advantage of Postgresql features :

 *  Extra data types like key => value store, hierachical data and arrays, vectors, ISBN, IPV4 adresses etc...
 *  Regular expressions in SQL
 *  multiple tables inheritance
 *  schemas and views
 *  window functions
 *  stored procedures
 *  triggers
 *  million features I forget to mention here

Because the query language is SQL.

    PgLook::getMapFor('Book')->query(' SELECT * FROM book WHERE title ~ ? AND ? ~ ANY (tags)', array('postgresql', 'must read'));
    // same as
    PgLook::getMapFor('Book')->findWhere('title ~ ? AND ? ~ ANY (tags)', array('postgresql', 'must read'));
    // same as
    PgLook::getMapFor('Book')->findPgLookWhere(PgLookWhere::create('title ~ ?', array('postgresql'))->andWhere('? ANY (tags)', array('must read')))

The abstraction layer turns data in your database into PHP objects in your code using a _translator_ :

 *  booleans in postgres will be boolean in PHP
 *  arrays in postgres will be arrays in PHP

For now, simple CRUD operations and basic forms are supported, no code generation, no admin gen, no schema, no fixtures, just a kernel to make easy, fast and efficient queries.

Queries return Collections, with handy iterator methods like in Propel 1.5 : isFirst, isLast, isOdd, getOddEven etc ...
I haven't tested it yet with PostGIS but it should work fine.
{'fraction_non_alphanumeric': 0.0864448051948052, 'fraction_numerical': 0.002435064935064935, 'mean_word_length': 4.233545647558387, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '433048', 'n_tokens_mistral': 673, 'n_tokens_neox': 650, 'n_words': 323}