Fix xPDOTest::testGetFields for sqlite/sqlsrv
Prefix indexes with table name for sqlite
[#7797] Avoid E_NOTICE from array_diff_assoc change in 5.4
[#8060] Implement __isset() to fix empty()/isset() on hydrated vars

Changes to HYDRATE_FIELDS/HYDRATE_RELATED_OBJECTS broke the expected behavior of empty() and isset() on the variables when accessed directly. This resolves the BC break.
Merge branch 'develop' into release-2.2

* develop:
  [#8060] Implement __isset() to fix empty()/isset() on hydrated vars
  [#7797] Avoid E_NOTICE from array_diff_assoc change in 5.4
  Prefix indexes with table name for sqlite
  Fix xPDOTest::testGetFields for sqlite/sqlsrv
  - Fix lazy loading of fields on demand
  [#7607] xPDOObject->get(array) triggering invalid lazy loading
  xPDOObject/xPDOSimpleObject support for xPDO::getDescendants()
  Refactor HYDRATE_FIELDS/HYDRATE_RELATED_OBJECTS using __get()/__set()
  Bump version for 2.2.5-dev
Bump version for 2.2.5-pl release
Merge branch 'release-2.2' into develop

* release-2.2:
  Bump version for 2.2.5-pl release
[#8176] xPDO->updateCollection() fails to set NULL values

Addresses modxcms/revolution#310 from @grachov
Deprecate xPDO->getMicroTime()

Was implemented to support PHP 4 emulation of the microtime() call with the PHP 5-only get_as_float parameter set to true. No longer needed.
[#8320] Preserve order of $columns in xPDOObject::getSelectColumns()

When $exclude==false and $columns are specified, xPDOObject::getSelectColumns() will now preserve the order specified in $columns rather than reordering the returned values according to the order of the columns in the field map.
[#8148] Prevent update from criteria using raw NATIVE_KEY on install
[#6930] Fix improper escaping of $ in parseBindings
Initial commit to PostgreSQL Driver for xPDO
Something was missing
Added reverse engineering for xPDOGenerator
Cleaned up code
	modified:   xpdo/om/pgsql/xpdomanager.class.php
Merge branch 'pgsql_driver' of github.com:lazylegs/xpdo into oci_driver

	modified:   build/build.sample.properties
	modified:   build/build.xml
	modified:   test/model/sample/item.class.php
	modified:   test/model/sample/metadata.mysql.php
	new file:   test/model/sample/metadata.pgsql.php
	modified:   test/model/sample/metadata.sqlite.php
	modified:   test/model/sample/metadata.sqlsrv.php
	modified:   test/model/sample/mysql/person.map.inc.php
	modified:   test/model/sample/mysql/personphone.map.inc.php
	modified:   test/model/sample/mysql/xpdosample.map.inc.php
	new file:   test/model/sample/pgsql/bloodtype.class.php
	new file:   test/model/sample/pgsql/bloodtype.map.inc.php
	new file:   test/model/sample/pgsql/item.class.php
	new file:   test/model/sample/pgsql/item.map.inc.php
	new file:   test/model/sample/pgsql/person.class.php
	new file:   test/model/sample/pgsql/person.map.inc.php
	new file:   test/model/sample/pgsql/personphone.class.php
	new file:   test/model/sample/pgsql/personphone.map.inc.php
	new file:   test/model/sample/pgsql/phone.class.php
	new file:   test/model/sample/pgsql/phone.map.inc.php
	new file:   test/model/sample/pgsql/xpdosample.class.php
	new file:   test/model/sample/pgsql/xpdosample.map.inc.php
	modified:   test/model/sample/sqlite/xpdosample.map.inc.php
	modified:   test/model/sample/sqlsrv/xpdosample.map.inc.php
	modified:   test/model/sample/sti/metadata.mysql.php
	new file:   test/model/sample/sti/metadata.pgsql.php
	modified:   test/model/sample/sti/metadata.sqlite.php
	modified:   test/model/sample/sti/metadata.sqlsrv.php
	modified:   test/model/sample/sti/mysql/baseclass.map.inc.php
	modified:   test/model/sample/sti/mysql/relclassmany.map.inc.php
	modified:   test/model/sample/sti/mysql/relclassone.map.inc.php
	new file:   test/model/sample/sti/pgsql/baseclass.class.php
	new file:   test/model/sample/sti/pgsql/baseclass.map.inc.php
	new file:   test/model/sample/sti/pgsql/derivedclass.class.php
	new file:   test/model/sample/sti/pgsql/derivedclass.map.inc.php
	new file:   test/model/sample/sti/pgsql/derivedclass2.class.php
	new file:   test/model/sample/sti/pgsql/derivedclass2.map.inc.php
	new file:   test/model/sample/sti/pgsql/relclassmany.class.php
	new file:   test/model/sample/sti/pgsql/relclassmany.map.inc.php
	new file:   test/model/sample/sti/pgsql/relclassone.class.php
	new file:   test/model/sample/sti/pgsql/relclassone.map.inc.php
	modified:   test/model/sample/xpdosample.class.php
	modified:   test/model/schema/build.sample.php
	new file:   test/model/schema/sample.pgsql.schema.xml
	modified:   test/model/schema/sample.sqlite.schema.xml
	modified:   test/model/schema/sample.sqlsrv.schema.xml
	new file:   test/model/schema/sample.sti.pgsql.schema.xml
	modified:   test/xPDO/xPDO/xPDO.php
	modified:   test/xPDO/xPDO/xPDOObject.php
	modified:   test/xPDOTestHarness.php
	new file:   test/xPDO_ANSI/xPDO/xPDO.php
	new file:   test/xPDO_ANSI/xPDO/xPDOObject.php
	new file:   test/xPDO_ANSI/xPDO/xPDOObjectSingleTableInheritance.php
	new file:   test/xPDO_ANSI/xPDO/xPDO_AllTests.php
	new file:   test/xPDO_ANSI/xPDOQuery/xPDOQuery.php
	new file:   test/xPDO_ANSI/xPDOQuery/xPDOQuery_AllTests.php
	new file:   test/xPDO_ANSI/xPDOQuery/xPDOQuery_Having.php
	new file:   test/xPDO_ANSI/xPDOQuery/xPDOQuery_Limit.php
	new file:   test/xPDO_ANSI/xPDOQuery/xPDOQuery_SortBy.php
	new file:   test/xPDO_ANSI/xPDOSetUp.php
	new file:   test/xPDO_ANSI/xPDOSuite_AllTests.php
	new file:   test/xPDO_ANSI/xPDOTearDown.php
	modified:   test/xpdotestharness.sh
	modified:   xpdo/changelog.txt
	modified:   xpdo/om/mysql/xpdoquery.class.php
	modified:   xpdo/om/oci/xpdoobject.class.php
	new file:   xpdo/om/pgsql/xpdodriver.class.php
	new file:   xpdo/om/pgsql/xpdogenerator.class.php
	new file:   xpdo/om/pgsql/xpdomanager.class.php
	new file:   xpdo/om/pgsql/xpdoobject.class.php
	new file:   xpdo/om/pgsql/xpdoobject.map.inc.php
	new file:   xpdo/om/pgsql/xpdoquery.class.php
	new file:   xpdo/om/pgsql/xpdosimpleobject.map.inc.php
	modified:   xpdo/om/sqlite/xpdomanager.class.php
	modified:   xpdo/om/sqlite/xpdoquery.class.php
	modified:   xpdo/om/sqlsrv/xpdoquery.class.php
	modified:   xpdo/om/xpdodriver.class.php
	modified:   xpdo/om/xpdoobject.class.php
	modified:   xpdo/transport/xpdoobjectvehicle.class.php
	modified:   xpdo/xpdo.class.php