joomla/joomla-cms — pull request #166 by gpongelli (2012-03-25 17:50:50+00:00)
Title: PostgreSQL driver for Joomla! CMS. [v2]

This driver implements inherited function from JDatabase class and add some other useful function to be able to use Joomla! on PostgreSQL database.
There is also a class that inherits from JDatabaseQuery to be able to create query object using PostgreSQL dialect.
Also added change item class for Postgresql under CMS libraries folder.
This pull include codes from platform 12.1 for JDatabaseQuery::charLength to address CMS' CASE WHEN
queries that has to be compared with 0 .

JDatabasePostgresql::getQuery has an optional second parameter to retrieve JDatabasePostgresqlQuery object, used inside JDatabasePostgresql::insertid call .

PostgreSQL's added functions:
- getRandom, ge a random number
- getStringPositionSQL, returns string's position inside another string
- releaseTransactionSavepoint, release given savepoint during transaction
- showTables, lists all table in database
- transactionSavepoint, to create a savepoint

Overridden functions:
- connected
- dropTable
- escape
- explain
- fetchArray
- fetchAssoc
- fetchObject
- freeResult
- getAffectedRows
- getAlterDbCharacterSet
- getCollation
- getCreateDbQuery
- getNumRows
- getQuery
- getTableColumns
- getTableCreate
- getTableKeys
- getTableList
- getVersion
- hasUTF
- insertid
- insertObject
- lockTable
- query
- queryBatch
- renameTable
- replacePrefix
- select
- setUTF
- test
- transactionCommit
- transactionRollback
- transactionStart
- unlockTables
- updateObject

PostgreSQL database query added functions:
- limit, a possible replace for limit in setQuery
- offset, a possible replace for limit in setQuery
- forShare, lock table/row during SELECT
- forUpdate, lock table/row during SELECT
- noWait, no wait a locked table
- returning, an INSERT INTO optional clause to returns last insert id