Quick Search:

jump to detailed chart Line History

line history graph

View Mode

Logical Physical

Show Arbitrary Diff

From to

Supports revisions and tags.

Watches and RSS

History

trunk 225 36

latest revision download trunk

225 annotated / raw | Diffs: previous, other | Lines: 2022 ( +38, -38 )

Created: 2008-08-28 11:31:55 -0500 (39 hours ago) | Author: opengeek | Changeset: 225

* Changed calls from _log() to log(). (merged from branches/1.0 -r223:224)

209 annotated / raw | Diffs: previous, other | Lines: 2022 ( +39, -103 )

Created: 2008-08-11 13:47:19 -0500 (18 days ago) | Author: opengeek | Changeset: 209

* Merging revisions 206:208 from branches/1.0

204 annotated / raw | Diffs: previous, other | Lines: 2086 ( +3, -3 )

Created: 2008-04-25 14:42:35 -0500 (4 months 4 days ago) | Author: opengeek | Changeset: 204

* [#XPDO-16] xPDO::getCacheManager() always returns an instance of xPDOCacheManager.
* [#XPDO-15] update to warning message in xPDOObject::addOne()
* Licensing updates
[merged from branches/1.0 revs 201:203]

194 annotated / raw | Diffs: previous, other | Lines: 2086 ( +1, -1 )

Created: 2008-04-01 15:17:59 -0500 (4 months 28 days ago) | Author: splittingred | Changeset: 194

[Merged from branches/1.0 rev 192]
- Removing invalid var reference in debug log call

192 annotated / raw | Diffs: previous, other | Lines: 2086 ( +247, -24 )

Created: 2008-04-01 12:18:36 -0500 (4 months 28 days ago) | Author: splittingred | Changeset: 192

[Merged from branches/1.0 revs 180:191]

177 annotated / raw | Diffs: previous, other | Lines: 1863 ( +17, -4 )

Created: 2008-03-18 19:36:55 -0500 (5 months 11 days ago) | Author: opengeek | Changeset: 177

[Merged from branches/1.0 revs 175:176]
* [XPDO-10] Respect class aliases when loading object instances from custom xPDOQuery criteria in xPDOObject::_loadInstance().

175 annotated / raw | Diffs: previous, other | Lines: 1850 ( +142, -86 )

Created: 2008-03-14 13:19:47 -0500 (5 months 15 days ago) | Author: opengeek | Changeset: 175

[Merged from branches/1.0 revs 168:174]
* [#XPDO-10] Add loadCollectionGraph static function to xPDOObject and incorporate into getObjectLoader() facilities.
* [#XPDO-11] getCollectionGraph returns related objects even if they do not exist. This patch should stop hydration if the results are null for a related object key.
* [#XPDO-13] Added lazy loading of object fields.  You can now use all xPDO getObject* and getCollection* functions to load objects with only certain fields populated.  Data for other attributes will be loaded when requested via the xPDOObject get() method.
* [#XPDO-13] Fixed bug introduced in xPDOObject :: loadCollection() function @ changeset 173.

168 annotated / raw | Diffs: previous, other | Lines: 1794 ( +9, -6 )

Created: 2008-02-28 00:40:07 -0600 (6 months ago) | Author: opengeek | Changeset: 168

[#XPDO-8] Check all ancestry matches from XPDO_OPT_LOADER_CLASSES for a valid callback method rather than just the first.
[#XPDO-9] Fix error with xPDOObject::getMany() returning all rows when custom criteria are passed.

160 annotated / raw | Diffs: previous, other | Lines: 1791 ( +1, -0 )

Created: 2007-12-21 12:46:09 -0600 (8 months ago) | Author: splittingred | Changeset: 160

[merge from 1.0] Fix to xPDOObject::fromArray where the field array's internal pointer was not being reset.

158 annotated / raw | Diffs: previous, other | Lines: 1790 ( +1, -1 )

Created: 2007-12-19 15:41:26 -0600 (8 months ago) | Author: splittingred | Changeset: 158

[merge from 1.0] Fix for ADHOC fields, if not set before, prevent PHP Notice error from showing by first checking to see if array index is set.

153 annotated / raw | Diffs: previous, other | Lines: 1790 ( +119, -87 )

Created: 2007-12-10 22:16:58 -0600 (8 months ago) | Author: opengeek | Changeset: 153

[merged -r143:152 from branches/1.0]
* Refactored xPDOObject::set() method to allow third parameter, vType, to be of type callable. When this parameter is a valid callable, the responsibility of setting the value of the appropriate xPDOObject::$_fields array element becomes that of the callback function.  The callback should accept three parameters, the key of the field, the value to set, and a reference to the xPDOObject instance, (i.e. $this).
* Added logic to xPDOObject::set() when working with fields of type date,  datetime, or timestamp for vType='utc'; this will indicate that the string being passed is already a valid utc format string acceptable as is to the database, avoiding the venerable strtotime/strftime conversion that would otherwise take place.
* Added XPDO_PHP_VERSION constant which holds the php_version() result that can be referenced throughout any xPDO-base code.
* Added check to xPDOObject::strtotime() implementation to revert back to PHP's default implementation if XPDO_PHP_VERSION >= 5.1.0.
* Added xPDO::getObjectLoader() to find any overridden static methods by name from a given xPDOObject derivative. Used by xPDO::getObject() and getCollection() to find load() and loadCollection() functions on any xPDOObject derivative in the ancestry of the class being retrieved and use those functions instead of the xPDOObject equivalents. To prevent searching on every call, classes which override these functions should be added to the xPDO::$config array using the XPDO_OPT_LOADER_CLASSES constant.
* Added 'json' phptype for treating text column data as pure JSON.
* Added array and json phptypes (both recently added) to the list of quotable types in xPDOObject::save() logic.

132 annotated / raw | Diffs: previous, other | Lines: 1758 ( +30, -28 )

Created: 2007-11-15 23:55:43 -0600 (9 months ago) | Author: opengeek | Changeset: 132

* Modify xPDO::getCachePath() to just return the cachePath var unless it is not set already.
* Add XPDO_OPT_CACHE_PATH constant.
* Refactored xPDO::getPKType() to return an array of types for compound keys instead of the string 'compound'.
* Add xPDOObject::isNew() public function; use this and not xPDOObject::_new which is intended as a protected field.
* xPDOObject::fromArray() will automatically set adhoc fields based on the option XPDO_OPT_HYDRATE_ADHOC_FIELDS; passing the adhoc parameter as true will allow you to force adhoc fields to be set despite the setting.
* xPDOObject::set() will now respect XPDO_OPT_HYDRATE_ADHOC_FIELDS.

128 annotated / raw | Diffs: previous, other | Lines: 1756 ( +80, -69 )

Created: 2007-11-13 11:45:46 -0600 (9 months ago) | Author: opengeek | Changeset: 128

[merge -r122:127 from 1.0 branch]
* Added XPDO_OPT_HYDRATE_ADHOC_FIELDS option to xPDO and xPDOObject.
* Additional refactoring to xPDO::toCache() and xPDO::fromCache(), including allowing generic __sqlResult queries to be cached, though that needs some additional commits to enable fully. Still more to come.
* Documented xPDOCacheManager object caching functions.
* Fix undefined variable $fromCache in xPDOObject::loadObject() and loadCollection() functions.
* Tweaks to xPDOCacheManager::generateObject() to use raw values in toArray() and fromArray() calls used to create the cache representation.
* Fix xPDOObject::loadCollection() to use rawValues when loading objects using fromArray().
* Fix xPDOQuery::hydrateGraph() and hydrateGraphNode() functions to use rawValues when loading objects with fromArray().
* Fix strrpos() call in xPDOObject::__construct() to work properly in PHP 4 and 5 since PHP 4 does not allow the needle parameter to be more than a single character string.
* Adding XPDO_TRANSPORT_ACTION_* constants to represent INSTALL, UPGRADE, and UNINSTALL actions that can be performed on a package.
* Refactor logic for handling null values in xPDOObject::set() and save(). Removed all support for string 'NULL' to be converted to a SQL null value. Use PHP null.
* Fix bug in xPDO::toCache() trying to retrieve cached objects using the original signature, rather than the processed signature string.

122 annotated / raw | Diffs: previous, other | Lines: 1745 ( +1, -1 )

Created: 2007-11-12 17:40:38 -0600 (9 months ago) | Author: splittingred | Changeset: 122

- Fix to prevent unserialized arrays from being unserialized again.

121 annotated / raw | Diffs: previous, other | Lines: 1745 ( +1, -0 )

Created: 2007-11-12 17:36:21 -0600 (9 months ago) | Author: splittingred | Changeset: 121

- Removed $installed param from retrieve, moved to Transport Package handling.
- Removed XPDO_TRANSPORT_STATE_NOT_INSTALLED and changed XPDO_TRANSPORT_STATE_INSTALLED to 2.

116 annotated / raw | Diffs: previous, other | Lines: 1744 ( +11, -8 )

Created: 2007-11-12 13:44:08 -0600 (9 months ago) | Author: opengeek | Changeset: 116

* Refactoring cache_db mechanisms to cache all objects by default; i.e. cacheFlag=true, when cache_db option is enabled in xPDO configuration.
* Refactoring of xPDO::fromCache() and xPDO::toCache() to improve cache_db option.
        - Smart deletes based on aggregate and composite relations.
        - All xPDOObject queries (i.e. using xPDOQuery) can now be cached by query signature and primary key(s).
* Small tweak to xPDOCacheManager::writeFile() to test for file_exists() on dirname() before attempting fopen().

115 annotated / raw | Diffs: previous, other | Lines: 1741 ( +1, -0 )

Created: 2007-11-12 13:35:26 -0600 (9 months ago) | Author: splittingred | Changeset: 115

- fixed missing break;

103 annotated / raw | Diffs: previous, other | Lines: 1740 ( +10, -4 )

Created: 2007-11-07 13:47:07 -0600 (9 months ago) | Author: opengeek | Changeset: 103

[MERGED rev 100:102 from 1.0 branch]
* Added second parameter, setGeneratedKeys = false, to xPDOObject::save(). This will allow developers to insert pre-determined keys on tables with database generated keys in special circumstances.
* Modified xPDOTransport::install() to use the new setGeneratedKeys parameter when saving new objects with preserve_keys attribute set.
* xPDOTransport::install() was not respecting each vehicles attributes properly.

94 annotated / raw | Diffs: previous, other | Lines: 1734 ( +8, -7 )

Created: 2007-11-05 09:40:03 -0600 (9 months ago) | Author: opengeek | Changeset: 94

[MERGED rev 92:93 from 1.0 branch]
* Fix problem with xPDOObject::_saveRelatedObjects() when cascading a set of new objects where a relationship with cardinality of one is owned by the foreign class.

92 annotated / raw | Diffs: previous, other | Lines: 1733 ( +7, -3 )

Created: 2007-11-03 18:14:28 -0500 (9 months ago) | Author: opengeek | Changeset: 92

[MERGED rev 88 : 91 from 1.0 branch]
* Fix warning in xPDOObject::set() when XPDO_OPT_ON_SET_STRIPSLASHES is not set in xPDO::config.
* Modify PDO_mysql::quote() and PDOStatement_mysql::quote() functions to addslashes to literal escaped strings in code.  mysql_real_escape_string likes to consume and replace literally escaped strings with appropriate MySQL representations, unline native PDO::quote() and PDOStatement::quote() implementations with the mysql driver.
* Fix warning with invalid index table_prefix, when empty array is passed as options to xPDO constructor.
* Fix bug when saving xPDOObject vehicles with compound primary keys; signature was not getting set, preventing the vehicle from being written to file.
* Added validateCompound parameter to xPDOObject::getPrimaryKey() to allow retrieval of arrays from compound keys, even if the values are null or empty.

88 annotated / raw | Diffs: previous, other | Lines: 1729 ( +16, -20 )

Created: 2007-11-01 22:06:12 -0500 (9 months ago) | Author: opengeek | Changeset: 88

[MERGED rev 86 : 87 from 1.0 branch]
* Added XPDO_OPT constants for supported core xPDO options
 - XPDO_OPT_TABLE_PREFIX defines the runtime table prefix applied to an object container (i.e. table) name.
 - XPDO_OPT_HYDRATE_FIELDS defines the option to turn on the population of xPDOObject _fields as references directly on the objects; i.e. object->get('attr') would be available as object->attr as well. This option can be toggled globally and per xPDOObject instance.
 - XPDO_OPT_HYDRATE_RELATED_OBJECTS defines the option to turn on the population of xPDOObject aggregates and composites, i.e. _relatedObjects, as references directly on the parent object; i.e. object->getOne('Alias') is available as object->Alias as well. This option can be toggled globally and per xPDOObject instance.
 - XPDO_OPT_ON_SET_STRIPSLASHES defines a new option to apply stripslashes to string values when using xPDOObject::set(). This option can be toggled globally and per xPDOObject instance.
* Added xPDOObject->_options to hold settings applicable to an object instance.
* Removed xPDOObject->_hydrateFields and _hydrateObjects in favor of _options using the new XPDO_OPT constants.

84 annotated / raw | Diffs: previous, other | Lines: 1733 ( +21, -9 )

Created: 2007-10-30 22:44:02 -0500 (9 months ago) | Author: opengeek | Changeset: 84

[MERGED rev 82:83 FROM 1.0 branch]
* Refactored xPDO::loadClass()
 - Made xPDO::packages a single-dimensional array of package names and paths.
 - Changed the way classes are loaded by searching through all registered packages if not found in the current package, and isolated actual class/map loading logic to a separate _loadClass() function. Needs some profiling.
        - TODO: Need to remove the loading of base classes from the constructor for more control in using custom base classes.
* Added package to the map metadata for each object; requires full map regeneration.
* Fixed xPDOObject::addMany() to properly set compound primary keys on _relatedObjects, i.e. only if all keys in a compound primary key are set.
* Fixed xPDOObject::_saveRelatedObject() functionality to set _relatedObjects of cardinality=many with proper keys and remove placeholder objects with keys like __new1, __new2, etc.
* XPDOTest::testCascadeSave(), added an assertion to ensure multiple related object trees are saved properly.
* Modified xPDOObject::getFKClass() to use loadClass() and validate the relationship is usable.
* Introducing xPDOGenerator::compile()
 - Started adding in functionality to compile all classes and maps from a single package into one file for potentially quicker loading in some situations.

77 annotated / raw | Diffs: previous, other | Lines: 1721 ( +6, -3 )

Created: 2007-10-25 12:03:40 -0500 (10 months ago) | Author: opengeek | Changeset: 77

* Modified @package statements for documentation purposes.

Branch point for: 1.0

76 annotated / raw | Diffs: previous, other | Lines: 1718 ( +9, -4 )

Created: 2007-10-23 10:25:52 -0500 (10 months ago) | Author: opengeek | Changeset: 76

* Correct xPDO::connect() when not using native PDO in PHP 5+ to avoid trying to catch an exception, since the emulated PDO_ classes do not throw exceptions.
* When using native PDO, make sure to catch PDOException explicitly, and not Exception.
* Unset instance variables in xPDOGenerator after execution of parseSchema() to allow execution on multiple schemas.
* Fix error in xPDOObject::loadCollection() when using relative or fully-qualified classnames, e.g. when using classes in subpackages.
* Be sure the value is a string before attempting to unserialize it when phptype = array in xPDOObject::get().
* Updates and corrections to a few logging statements.

75 annotated / raw | Diffs: previous, other | Lines: 1713 ( +6, -3 )

Created: 2007-10-17 23:17:03 -0500 (10 months ago) | Author: opengeek | Changeset: 75

* Correct nasty error with xPDOObject::remove() when certain circular composite relationships exist.
        - Added some tests, but these need further development.

73 annotated / raw | Diffs: previous, other | Lines: 1710 ( +26, -26 )

Created: 2007-10-10 01:09:06 -0500 (10 months ago) | Author: opengeek | Changeset: 73

* Just tidying up some silly windows line endings that slipped in

71 annotated / raw | Diffs: previous, other | Lines: 1710 ( +80, -52 )

Created: 2007-09-24 14:32:33 -0500 (11 months ago) | Author: opengeek | Changeset: 71

* Modified xPDOCriteria constructor to delay the prepare() unless cacheFlag is false (or less than 0), allowing cached xPDOCriteria statements to avoid requiring a database connection.
* Lots more documentation updates, changed license headers, etc.

70 annotated / raw | Diffs: previous, other | Lines: 1682 ( +77, -19 )

Created: 2007-09-21 11:48:03 -0500 (11 months ago) | Author: opengeek | Changeset: 70

* Documentation updates

69 annotated / raw | Diffs: previous, other | Lines: 1624 ( +100, -101 )

Created: 2007-09-19 15:38:05 -0500 (11 months ago) | Author: opengeek | Changeset: 69

* Documentation updates.

67 annotated / raw | Diffs: previous, other | Lines: 1625 ( +1, -2 )

Created: 2007-09-14 12:50:14 -0500 (11 months ago) | Author: opengeek | Changeset: 67

* Fix bug introduced recently to getOne relating to setting references.

66 annotated / raw | Diffs: previous, other | Lines: 1626 ( +132, -59 )

Created: 2007-09-11 20:48:23 -0500 (11 months ago) | Author: opengeek | Changeset: 66

* Fixed xPDOObject::__construct() to preset _relatedObject fields when hydrate_rel_obj_vars is not enabled.
* [FS#11] Fix population of final node of graph chains in xPDOQuery::hydrateGraphNode(); still needs more testing and refactoring for PHP 4 (unless the combination of this change and the xPDOObject::__construct() fix address it).
* Documentation updates.
* PHPUnit tests added for xPDO::getObjectGraph() and xPDO::getCollectionGraph()

65 annotated / raw | Diffs: previous, other | Lines: 1553 ( +1, -1 )

Created: 2007-09-10 14:03:49 -0500 (11 months ago) | Author: opengeek | Changeset: 65

* Fix debug statement to include bindings in output.

64 annotated / raw | Diffs: previous, other | Lines: 1553 ( +52, -5 )

Created: 2007-09-06 16:38:37 -0500 (11 months ago) | Author: opengeek | Changeset: 64

* Added xPDOObject::isDirty(string $key) as public method for checking if a field is dirty, i.e. is part of an unpersisted object (xPDOObject::_new) or has been modified since it was loaded.
* Updated xPDOObject::encode() to default type param to 'md5' and modified behavior to only apply encoding when a valid type has been provided.
* A few comment updates.

62 annotated / raw | Diffs: previous, other | Lines: 1506 ( +71, -63 )

Created: 2007-08-22 18:03:55 -0500 (12 months ago) | Author: opengeek | Changeset: 62

* Fixed significant bug in xPDOObject :: _getPHPType() -- was always returning string and treating all values as string in the get() and set() methods as a result. :/
* Added array phptype for xPDOObject fields which automatically serializes and unserializes the array to a valid character data type field in the database table.  Only supports character database field types at the moment.

61 annotated / raw | Diffs: previous, other | Lines: 1498 ( +63, -63 )

Created: 2007-08-17 12:42:04 -0500 (12 months ago) | Author: opengeek | Changeset: 61

* Fix to xPDOObject::loadCollection() to populate object var references if hydrate_obj_vars is enabled.

53 annotated / raw | Diffs: previous, other | Lines: 1498 ( +1, -1 )

Created: 2007-06-17 16:45:40 -0500 (14 months ago) | Author: opengeek | Changeset: 53

* Removed realpath() calls in xPDOCacheManager functions
* Updates to xPDOTransport/xPDOVehicle classes for file resolver handling

51 annotated / raw | Diffs: previous, other | Lines: 1498 ( +6, -6 )

Created: 2007-06-08 17:21:25 -0500 (14 months ago) | Author: opengeek | Changeset: 51

* Added xPDOCacheManager::copyFile() and added new parameter to copyTree() to differentiate between folder and file permissions
* Updates to xPDOVehicle based on xPDOCacheManager changes
* [FS#7] Fix xPDOObject::_getDataType() and _getPHPType() functions to refer to proper parameter name

49 annotated / raw | Diffs: previous, other | Lines: 1498 ( +48, -43 )

Created: 2007-06-04 17:43:30 -0500 (14 months ago) | Author: opengeek | Changeset: 49

- Refactored several methods depending on $criteria->stmt being an object using $criteria->prepare() method.
- Refactored several instances of XPDO_LOG_LEVEL_FATAL to XPDO_LOG_LEVEL_ERROR

46 annotated / raw | Diffs: previous, other | Lines: 1493 ( +54, -31 )

Created: 2007-05-29 18:49:34 -0500 (15 months ago) | Author: opengeek | Changeset: 46

- Fix the handling of xPDO timestamp fields when dbtype is numeric (i.e. stored as unix timestamp).
- Remove unnecessary get() and set() in db specific xPDOObject implementations.
- Add more tokens for identifying conditional clauses in xPDOQuery::isConditionalClause().
- Minor path and require/include changes.

45 annotated / raw | Diffs: previous, other | Lines: 1470 ( +9, -7 )

Created: 2007-05-08 09:58:20 -0500 (15 months ago) | Author: opengeek | Changeset: 45

- Some PHP 4 bug fixes and refactoring to better handle aggregate and composite relations

44 annotated / raw | Diffs: previous, other | Lines: 1468 ( +1, -1 )

Created: 2007-05-01 10:18:02 -0500 (15 months ago) | Author: opengeek | Changeset: 44

* Fix PHP notice in xPDOObject :: _getRelatedObjectsByFK

41 annotated / raw | Diffs: previous, other | Lines: 1468 ( +211, -7 )

Created: 2007-04-23 12:19:23 -0500 (16 months ago) | Author: opengeek | Changeset: 41

- xPDOObject_mysql issues -- cannot inherit from this class; reverting mysql specific functionality to base class for now; upcoming changes will address this problem

40 annotated / raw | Diffs: previous, other | Lines: 1264 ( +13, -14 )

Created: 2007-04-23 02:24:00 -0500 (16 months ago) | Author: opengeek | Changeset: 40

- xPDOObject->getOne was assigning to _relatedObjects as reference and causing problems
- Corrected a few warnings in xPDOQuery
- Corrected an incorrect path in xPDOGenerator
- MakeForm needs additional refactoring and probably needs to be moved to the modx project at some point

37 annotated / raw | Diffs: previous, other | Lines: 1265 ( +5, -5 )

Created: 2007-03-27 10:10:30 -0500 (17 months ago) | Author: opengeek | Changeset: 37

- Corrections to xPDOGenerator for 1.0 beta changes
- Documentation updates

36 new annotated / raw | Lines: 1265 ( +1265, -0 )

Created: 2007-03-26 12:35:43 -0500 (17 months ago) | Author: opengeek | Changeset: 36

- Initial commit of 1.0 beta (potentially unstable)
- New aggregate and composite schema/map definitions
 - simpler definitions are faster and easier to process
 - refer to distinct relationships to another class by an alias rather than class name + key
 - new owner attribute to indicate if the local or foreign object owns the foreign key value used to define the relationship
 - to migrate:
   - modify schema:
     - add an alias attribute for each aggregate/composite relation (key attribute can be removed)
     - add an owner attribute for each aggregate/composite relation (value will be local or foreign)
   - Public API changes requiring code modifications (migration guide will be released with additional details):
     - xPDO class:
       - getObjectGraph()
       - getCollectionGraph()
       - getFKDefinition()
     - xPDOObject class and derivatives (i.e. all generated classes):
       - getOne()
       - getMany()
       - addOne()
       - addMany()
       - getFKDefinition()
     - xPDOQuery class
       - join()
       - innerJoin()
       - leftJoin()
       - rightJoin()
       - from()
       - bindGraph()
- New physical class/map structure to better support for platform-specific optimizations
 - packages now require both a class file in the package root, as well as classes for each driver implementation in the appropriate subdirectory
 - to migrate, move your existing classes to the package root, and regenerate from the schema to create the new driver specific class stubs

Atlassian FishEye, Subversion, CVS & Perforce analysis. (Version:1.5 Build:build-293 2008-04-15 ) - Administration - Page generated 2008-08-30 02:34 -0500