[limb-svn] r6091 - 3.x/branches/2007.3/limb/dbal
svn at limb-project.com
svn at limb-project.com
Fri Jul 6 17:41:01 MSD 2007
Author: pachanga
Date: 2007-07-06 17:41:01 +0400 (Fri, 06 Jul 2007)
New Revision: 6091
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6091
Modified:
3.x/branches/2007.3/limb/dbal/CHANGELOG
3.x/branches/2007.3/limb/dbal/VERSION
Log:
-- preparing for 0.4.0 beta release
Modified: 3.x/branches/2007.3/limb/dbal/CHANGELOG
===================================================================
--- 3.x/branches/2007.3/limb/dbal/CHANGELOG 2007-07-06 13:30:54 UTC (rev 6090)
+++ 3.x/branches/2007.3/limb/dbal/CHANGELOG 2007-07-06 13:41:01 UTC (rev 6091)
@@ -1,3 +1,73 @@
+0.4.0-beta - 6 July 2007 (r6090)
+==================================================
+-- lmbDBAL :: defaultConnection() added for consistency, it returns $tookit->getDefaultDbConnection()
+-- lmbTableRecordsQuery removed
+-- lmbSimpleDb :: selectAsArray() removed. Consider using lmbCollection :: toFlatArray($iterator, $key_field)
+-- lmbSimpleDb passed $this->conn to lmbSelectQuery constructor not in getRecordSet method since the last does not accepts such parameter actually.
+-- lmbSimpleDb :: selectRecord() added. lmbSimpleDb :: getFirstRecordFrom() is now deprecated, consider using selectRecord instead.
+-- lmbTestDbDump => lmbDbDump
+-- lmbDbDump :: load() added, db dump is not loaded in constructor anymore
+-- lmbDBAL :: db() passed default db connection to lmbSimpleDb constructor if $conn is not specified
+-- lmbSimpleDb :: select() accepts $order not as a string but as an array like array('field1' => 'order_type', 'field2' => 'order_type');
+-- junky lmbEmptyDbTable removed
+-- lmbSimpleDb :: quote($id) added
+-- lmbSQLTableFieldCriteria, lmbSQLTrueCriteria, lmbSQLFalseCriteria classes removed
+-- lmbSQLCriteria :: not() added, it negates the value of the criteria itself.
+-- lmbSQLCriteria :: notAll() method added, it negates the value of all criteria with all attached other criteria objects
+-- lmbSQLCompositeCriteria removed as not necessary anymore
+-- lmbSQLRawCriteria now simply extends lmbSQLCriteria, its functionality moved into lmbSQLCriteria. Most likely this class will be deprecated.
+-- lmbSQLBaseCriteria now surrounds its criteria into parenthesis only if these criteria are complex objects, i.e contain other criteria objects
+-- unnecessary getSelectQuery removed from lmbSimpleDb
+-- convenience static factory methods added into lmbSQLCriteria:
+ * in($field, $values) - returns in criteria for field
+ * equal($field, $value) - returns equal criteria for field
+ * like($field, $value) - return like criteria for field
+ * between($field, $values) - returns between criteria for field
+ * isNull($field) - returns is null criteria for field
+-- lmbSelectQueryDecorator removed
+-- lmbSelectRawQuery added it copies previous lmbSelectQuery functionality
+-- lmbSelectQuery extends lmbSelectRawQuery and accepts a table name in constructor instead of sql
+-- lmbDBAL :: query(..) renamed into fetch(..)
+-- lmbDBAL :: selectQuery($sql, $conn = null) added, it returns lmbSelectQuery instance
+-- lmbDBAL :: updateQuery($sql, $conn = null) added, it return lmbUpdateQuery instance
+-- lmbDBAL :: deleteQuery($sql, $conn = null) added, it returns lmbDeleteQuery instance
+-- lmbDBAL :: db($conn = null) added, it returns lmbSimpleDb instance
+-- lmbDBAL :: table($table, $conn = null) added, it returns lmbTableGateway instance
+-- lmbDBAL :: newStatement($sql, $conn = null) added, it returns new statement object for current connection
+-- lmbTableGateway doesn't fill $_table_info property at once, instead lazy getTableInfo() is used
+-- all query classes return itself for better chaining(fluid interfaces)
+-- convenience methods aliases added to all query classes, e.g addCriteria($criteria) has an alias of where($criteria) an so on
+-- lmbUpdateQuery :: set($values) method added
+-- lmbSelectQuery quotes order fields
+-- possible BC break: lmbSimpleDb doesn't return affected rows count after delete/update operation, use new countAffected() method instead
+-- lmbSimpleDb methods return itself for better chaining
+-- so called query modifiers removed since we don't use them anymore and they proved to be an over-design decision.
+-- lmbSQLCriteria now accepts optional $raw_sql and $values in constructor just like parent lmbSQLRawCriteria
+-- lmbTemplateQuery::_declareHints() extracts hints from sql automatically(it resolves DBAL-8)
+-- connection error recursion fixed
+-- database meta information cache is off by default now
+-- only first character is stripped from 'path' attribute, this allows to pass proper db path for sqlite driver on *nix
+-- lmbDbTools :: createTableGateway(..) now accept second optional db connection object argument
+-- lmbSqliteRecord :: importRaw($values) normalizes columns like 'foo.bar' into 'bar'
+-- lmbSQLDumpLoader :: loadStatements($sql) added
+-- lmbDbTools :: createDbConnection($dsn) added, its implementation moved from lmbDBAL :: newConnection($dsn). newConnection(..) simply delegates to toolkit
+-- added experimental functionality for setting different db environments(Rails alike):
+ * lmbDbTools :: setDbEnvironment($env), getDbEnvironment() added
+ * lmbDbTools :: getDefaultDbDSN() uses $env as a hash key in db.conf.php settings, e.g:
+ $conf = array('tests' => array('dsn' => ...), 'devel' => array('dsn' => ...))
+ * for BC if there's 'dsn' property it's used by default
+-- lmbTableGateway :: update() now can accept row set as a raw sql expression as well as array
+-- lmbDBAL :: query($sql, $conn=null) added, it simply returns record set for select query
+-- lmbDBAL :: execute($sql, $conn=null) added, it simply executes sql
+-- lmbDbTools :: setDefaultDbDSN($dsn) wraps $dsn with lmbDbDSN only if it's a string
+-- lmbSQLCriteria extends lmbSQLRawCriteria and passes "1=1" to parent constructor, so it servers as a generic container for other criteria objects
+-- lmbDbDSN re-throws custom exception on malformed uri
+-- lmbDbDSN throws exception if no such driver file was found
+-- limb/dbal/src/lmbCachedDatabaseInfo => limb/dbal/src/drivers/lmbDbCachedInfo
+-- database cached info is now stored in lmbDbTools, this allowed to isolate classes from LIMB_VAR_DIR better(LMBF-6)
+-- lmbDbTools :: getDbInfo($conn) returns cached database info for passed connection, or if it doesn't exist creates one
+-- lmbTableGateway used lmbDbTools :: getDbInfo() for database info retrieval
+
0.3.0-alpha - 9 April 2007 (r5571)
==================================================
-- changes due to datasource package cleanup and unification(DS-1)
Modified: 3.x/branches/2007.3/limb/dbal/VERSION
===================================================================
--- 3.x/branches/2007.3/limb/dbal/VERSION 2007-07-06 13:30:54 UTC (rev 6090)
+++ 3.x/branches/2007.3/limb/dbal/VERSION 2007-07-06 13:41:01 UTC (rev 6091)
@@ -1 +1 @@
-dbal-0.3.0-alpha
+dbal-0.4.0-beta
More information about the limb-svn
mailing list