Request for testing: CMS on PostgreSQL database

480 views
Skip to first unread message

84.le0n

unread,
Jan 6, 2012, 3:49:22 PM1/6/12
to joomla-...@googlegroups.com
Hi folks,
I'm searching tester of CMS on PostgreSQL database, there's someone
who can help me trying to play on it and finding possible bugs ?
The repository is
https://github.com/gpongelli/joomla-cms/tree/postgresql
feel free to fork and make issues and pull request, signaling how replicate it.

For someone interested, after install is completed, edit
configuration.php and set
$sef = '0'
$debug = '1'
to have site correcly working and have necessary debug, useful during
sending issue report to me.

Hoping on your helps,
Eng. Gabriele Pongelli.

Michael Babker

unread,
Jan 6, 2012, 4:02:57 PM1/6/12
to joomla-...@googlegroups.com
I've got PostgreSQL set up locally. Installed OK. Tried to use the
Global Config to make the changes below. On hitting save and close, got
this error:

JDatabasePostgreSQL::query: 0 - JLIB_DATABASE_QUERY_FAILED ERROR: LOCK
TABLE can only be used in transaction blocks SQL=LOCK TABLE "yqg6v_assets"
IN ACCESS EXCLUSIVE MODE
Call stack
# Function Location
1 JAdministrator->dispatch() /administrator/index.php:47
2 JComponentHelper::renderComponent()
/administrator/includes/application.php:153
3 JComponentHelper::executeComponent()
/libraries/joomla/application/component/helper.php:357
4 require_once()
/libraries/joomla/application/component/helper.php:387
5 JController->execute()
/administrator/components/com_config/config.php:23
6 ConfigControllerApplication->save()
/libraries/joomla/application/component/controller.php:754
7 ConfigModelApplication->save()
/administrator/components/com_config/controllers/application.php:88
8 JTableNested->store()
/administrator/components/com_config/models/application.php:111
9 JTable->_lock()
/libraries/joomla/database/tablenested.php:843
10 JDatabasePostgreSQL->lockTable()
/libraries/joomla/database/table.php:1498
11 JDatabasePostgreSQL->query()
/libraries/joomla/database/database/postgresql.php:426
12 JError::raiseError()
/libraries/joomla/database/database/postgresql.php:499
13 JError::raise()
/libraries/joomla/error/error.php:251

>--
>You received this message because you are subscribed to the Google Groups
>"Joomla! CMS Development" group.
>To post to this group, send an email to joomla-...@googlegroups.com.
>To unsubscribe from this group, send email to
>joomla-dev-cm...@googlegroups.com.
>For more options, visit this group at
>http://groups.google.com/group/joomla-dev-cms?hl=en-GB.
>


84.le0n

unread,
Jan 7, 2012, 9:14:12 AM1/7/12
to joomla-...@googlegroups.com
Hi Michael,
thank you for reporting, I'm investigating on it.
I think lock table use was added recently, because I've saved global
configuration correctly some days ago.
That problem is because PostgreSQL's lock table (from version 9.1)
must be used inside a transaction, while MySQL can use lock table
always.

Bye,
Eng. Gabriele Pongelli

84.le0n

unread,
Jan 7, 2012, 10:56:12 AM1/7/12
to joomla-...@googlegroups.com
Hi Michael,
I've changed PostgreSQL driver and pushed to my cms repository, please
pull it and test again.
Thank you!

Eng. Gabriele Pongelli.

Michael Babker

unread,
Jan 7, 2012, 11:04:36 AM1/7/12
to joomla-...@googlegroups.com
Working fine now. I'll play around some more throughout the next few days.

Michael Babker

unread,
Jan 7, 2012, 11:08:38 AM1/7/12
to joomla-...@googlegroups.com
Error at extension install:

JDatabasePostgreSQL::query: 0 - JLIB_DATABASE_QUERY_FAILED ERROR: null
value in column "custom_data" violates not-null constraint SQL=INSERT INTO
"yqg6v_extensions"
("params","manifest_cache","protected","access","enabled","client_id","fold
er","element","type","name") VALUES
('{}','{"legacy":false,"name":"com_podcastmanager","type":"component","crea
tionDate":"2012-01-07","author":"Michael Babker","copyright":"(C) 2011
Michael
Babker","authorEmail":"mba...@flbab.com","authorUrl":"http:\\/\\/www.babde
v.com","version":"2.0-alpha-dev","description":"COM_PODCASTMANAGER_XML_DESC
RIPTION","group":""}','0','0','1','1','','com_podcastmanager','component','
com_podcastmanager')


Call stack
#
Function
Location
1
JAdministrator->dispatch()
/administrator/index.php:47
2
JComponentHelper::renderComponent()
/administrator/includes/application.php:153
3
JComponentHelper::executeComponent()
/libraries/joomla/application/component/helper.php:357
4
require_once()
/libraries/joomla/application/component/helper.php:387
5
JController->execute()

/administrator/components/com_installer/installer.php:23
6
InstallerControllerInstall->install()
/libraries/joomla/application/component/controller.php:754
7
InstallerModelInstall->install()
/administrator/components/com_installer/controllers/install.php:31
8
JInstaller->install()
/administrator/components/com_installer/models/install.php:111
9
JInstallerPackage->install()
/libraries/joomla/installer/installer.php:472
10
JInstaller->install()
/libraries/joomla/installer/adapters/package.php:134
11
JInstallerComponent->install()
/libraries/joomla/installer/installer.php:472
12
JTable->store()
/libraries/joomla/installer/adapters/component.php:537
13
JDatabase->insertObject()
/libraries/joomla/database/table.php:602
14
JDatabasePostgreSQL->query()
/libraries/joomla/database/database.php:865
15
JError::raiseError()
/libraries/joomla/database/database/postgresql.php:500
16
JError::raise()
/libraries/joomla/error/error.php:251

84.le0n

unread,
Jan 7, 2012, 11:51:27 AM1/7/12
to joomla-...@googlegroups.com
This problem is about column used during query building.

The fields that generate this error are
"custom_data" , "system_data"
because they haven't default value.

I've changed table structure definition and pushed to my branch.

Thank you again ;)

Eng. Gabriele Pongelli.

Ofer Cohen

unread,
Jan 9, 2012, 3:40:22 PM1/9/12
to joomla-...@googlegroups.com

Hey

If someone testing it on ubuntu he'll need PostgreSQL driver for PHP. So, simple install it with next command (Ubuntu 11.10):

sudo apt-get install php5-pgsql

If package not found try php-pgsql.

Continue to test :-)

Ofer Cohen

Ofer Cohen

unread,
Jan 9, 2012, 3:51:47 PM1/9/12
to joomla-...@googlegroups.com

Hey Gabriele,

I've try to install plugin and I've got the next error:

JDatabasePostgreSQL::query: 0 - JLIB_DATABASE_QUERY_FAILED ERROR: duplicate key value violates unique constraint "j_extensions_pkey" DETAIL: Key (extension_id)=(2) already exists. SQL=INSERT INTO "j_extensions" ("ordering","system_data","custom_data","params","manifest_cache","protected","access","enabled","client_id","folder","element","type","name") VALUES ('0','','','{"secure_key":"secure_key","secure_value":"secure_value"}','{"legacy":false,"name":"plg_system_jisecuremysite","type":"plugin","creationDate":"May 2011","author":"Ofer Cohen","copyright":"Copyright (C) 2005 - 2011 Open Source Matters. All rights reserved.","authorEmail":"oc...@netvision.net.il","authorUrl":"http:\\/\\/oc666.net","version":"1.0.0","description":"PLG_JISECUREMYSITE_XML_DESCRIPTION","group":""}','0','1','0','0','system','jisecuremysite','plugin','plg_system_jisecuremysite')

I think it happened cause extension_id field doesn't declare as auto_increment field, but I'm not sure about that (this is my second use with postgresql).

thanks.

Ofer Cohen

On 01/07/2012 04:14 PM, 84.le0n wrote:

Ofer Cohen

unread,
Jan 9, 2012, 3:57:22 PM1/9/12
to joomla-...@googlegroups.com

Hey Gabriele,

Another issue when create new article I'm getting the next error:
JDatabasePostgreSQL::query: 0 - JLIB_DATABASE_QUERY_FAILED ERROR: invalid input syntax for type timestamp: "" LINE 1: ...ge_fulltext_alt":"","image_fulltext_caption":""}','','2012-0... ^ SQL=INSERT INTO "j_content" ("language","featured","metadata","access","metadesc","metakey","version","attribs","urls","images","publish_down","publish_up","created_by_alias","created_by","created","catid","state","fulltext","introtext","alias","title") VALUES ('*','1','{"robots":"","author":"","rights":"","xreference":""}','1','','','1','{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}','{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}','{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}','','2012-01-09 20:52:36','','42','2012-01-09 20:52:36','14','1','','

Steps to reproduce: Fresh install Joomla!PSQL branch including sample data. Then, I've just created new article with title and simple text.

Thanks


Ofer Cohen

Ofer Cohen

unread,
Jan 9, 2012, 4:00:21 PM1/9/12
to joomla-...@googlegroups.com

Hey Gabriele

On the same installation, when I'm visiting some of the categories, I'm getting the next error: Category not found

DB error log: http://uploads.oc666.net/psql.db.log (long, so I've uploaded this)

Maybe we need tracker for this?

Thanks

Ofer Cohen

On 01/06/2012 11:02 PM, Michael Babker wrote:

Michael Babker

unread,
Jan 9, 2012, 4:04:16 PM1/9/12
to joomla-...@googlegroups.com
The field type is correct; it should auto increment.  Looking at the MySQL versus PostgreSQL install DDL's, it looks like the auto increment value needs to be manually set to 10000 (I think the same needs to be done for the SQL Server definition as well, but that one is at least starting after the last ID of 800).

84.le0n

unread,
Jan 9, 2012, 5:22:18 PM1/9/12
to joomla-...@googlegroups.com
Yes I know that increment value is set to 10000, I haven't set it yet
in sql file.
That uploaded log returns me 404 page.

Tomorrow I'll look at all these errors, thank you.
Meanwhile if you find other errors write them to me.

Eng. Gabriele Pongelli

Ofer Cohen

unread,
Jan 9, 2012, 6:03:02 PM1/9/12
to joomla-...@googlegroups.com

Hey Gabriele,

The link was broken. Here is fix one: http://uploads.oc666.net/jpsql.db.log

Tell me when you fix it, I'll continue the testing.

Thanks

Ofer Cohen

84.le0n

unread,
Jan 10, 2012, 4:25:30 AM1/10/12
to joomla-...@googlegroups.com, joomla-...@googlegroups.com
Hi Ofer, 
thanks for your tests!
I've fixed #__extension table issue but now maybe there will be a problem about id: to make possible that new extensions will start with id 10000 I've to rely hardly on sequence, and sequence can't have "jumps", let me explain this.
Firstly I've found that inside INSERT INTO there are jumps, like com_finder that is 27 instead of 26, and I hope it will not be a problem...maybe it's time to fix it in mysql or I've to split INSERT INTO in more than one command.

Then I've found that there aren't values between 700 and 800 (for example), I hope that there isn't any procedure that will add a row in that range (or in another empty range below id 10000), because PostgreSQL will return error (it can be solved with a trick, but it is not obvious for developer).
Can someone tell me how is usually used #__extension table ?

About article I can reproduce that error, I'll check it soon but before I've to understand a little bit better how JTable is intended to be used. Have you any links about JTable ?

Eng. Gabriele Pongelli

AVVERTENZE AI SENSI DEL D.LGS. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e negli eventuali files allegati, sono da considerarsi strettamente riservati. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceveste per errore questo messaggio, Vi preghiamo cortesemente di darcene notizia all'indirizzo e-mail di cui sopra e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema; costituisce comportamento contrario ai principi dettati dal D.lgs. 196/2003 il trattenere il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse.
This electronic transmission is strictly confidential and intended solely for the addresses. It may contain information which is covered by legal, professional or other privilege. If you are not the intended addressee, you must not disclose, copy or take any action in reliance of this transmission. If you have received this transmission in error, please notify us and delete the received data as soon as possible.

Michael Babker

unread,
Jan 10, 2012, 8:18:16 AM1/10/12
to joomla-...@googlegroups.com
Each extension type distributed in core is grouped in a certain range to allow for flexibility in adding core extensions without needing to come up with creative methods to add those records during upgrade.  Aside from the #__assets table, we can insert records with assigned ID's for core extensions without issue using this method.  I'm not 100% positive on why 10000 was chosen as the starting value for user installed extensions, but that's what it is.  The only time records should be getting inserted that don't have an ID greater than 10000 is when new core extensions are installed.

From: "84.le0n" <84....@gmail.com>
Reply-To: <joomla-...@googlegroups.com>
Date: Tue, 10 Jan 2012 10:25:30 +0100
To: "joomla-...@googlegroups.com" <joomla-...@googlegroups.com>
Cc: "joomla-...@googlegroups.com" <joomla-...@googlegroups.com>
Subject: Re: [jcms] Request for testing: CMS on PostgreSQL database

84.le0n

unread,
Jan 10, 2012, 11:03:57 AM1/10/12
to joomla-...@googlegroups.com, <joomla-dev-cms@googlegroups.com>
So is there a reference of #__assets content inside #__extension ?
Why does com_finder have id 27 instead of 26?


Eng. Gabriele Pongelli

AVVERTENZE AI SENSI DEL D.LGS. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e negli eventuali files allegati, sono da considerarsi strettamente riservati. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceveste per errore questo messaggio, Vi preghiamo cortesemente di darcene notizia all'indirizzo e-mail di cui sopra e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema; costituisce comportamento contrario ai principi dettati dal D.lgs. 196/2003 il trattenere il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse.
This electronic transmission is strictly confidential and intended solely for the addresses. It may contain information which is covered by legal, professional or other privilege. If you are not the intended addressee, you must not disclose, copy or take any action in reliance of this transmission. If you have received this transmission in error, please notify us and delete the received data as soon as possible.

Michael Babker

unread,
Jan 10, 2012, 12:09:50 PM1/10/12
to joomla-...@googlegroups.com
To be honest, no idea why.  Looking back to the old Finder Integration CMS fork, it started at 26 and was changed to 27 with this commit: https://github.com/Finder-Integration/joomla-cms--HISTORICAL-ONLY--DO-NOT-PULL/commit/ec6d2af52078d8aedad21bec144663b3bc4efc7b#diff-0

Just stayed like that ever since.

84.le0n

unread,
Jan 10, 2012, 12:48:29 PM1/10/12
to joomla-...@googlegroups.com, <joomla-dev-cms@googlegroups.com>
I'm trying to understand why add an article goes to error.
Maybe relative JTable class is not 100% working, because it might bind empty fields with null date (for reported error) but it tries to send void string, so PostgreSQL generates error.
Trying to manually set a date using calendar, I've found another error, empty "xreference" field, that I don't know what it has to contain.
Have I to remove NOT NULL constraints or someone tries to light me on this table?

Thank you!


Eng. Gabriele Pongelli

AVVERTENZE AI SENSI DEL D.LGS. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e negli eventuali files allegati, sono da considerarsi strettamente riservati. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceveste per errore questo messaggio, Vi preghiamo cortesemente di darcene notizia all'indirizzo e-mail di cui sopra e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema; costituisce comportamento contrario ai principi dettati dal D.lgs. 196/2003 il trattenere il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse.
This electronic transmission is strictly confidential and intended solely for the addresses. It may contain information which is covered by legal, professional or other privilege. If you are not the intended addressee, you must not disclose, copy or take any action in reliance of this transmission. If you have received this transmission in error, please notify us and delete the received data as soon as possible.

84.le0n

unread,
Jan 10, 2012, 6:13:40 PM1/10/12
to joomla-...@googlegroups.com
I'm solving some issues (2 on content), I've found what is needed for
JTableContent to don't return errors.
Now I've to choose if abandon sequence variable for all id fields
(replacing with int as mysql, so I don't have to change any sql files)
or change each sql file that can become really different from mysql's
one.

Somebody knows about "xreference" field of JTableContent? Who fills it?

Last open issue is about categories, more debug on this?

Thank you,
Eng. Gabriele Pongelli.

Andrea Tarr at Tarr Consulting

unread,
Jan 10, 2012, 6:29:20 PM1/10/12
to joomla-...@googlegroups.com
The "xference" field is just manually entered in the Article Edit. It's called Key Reference under Article Options. It was used in 1.5 for putting things like an external link to a news article. It is available for use when an article displays, but requires a template override to actually display it.

There is a similar field in the article parameters called External Reference under Metadata Options. I think someone started to move it to parameters instead of a separate field, but it was never completed. Since we didn't discover this until 1.7, we left both in because different people might be using different ones. A good thing to clean up in 3.0.

Andy

Andrea Tarr

Tarr Consulting





84.le0n

unread,
Jan 10, 2012, 7:12:21 PM1/10/12
to joomla-...@googlegroups.com
Ok I've pushed some commits, please test it.

About "xreference", I've added a default value, so it's not a problem.

84.le0n

unread,
Jan 12, 2012, 6:22:18 PM1/12/12
to joomla-...@googlegroups.com
Now seems that all works ok, please test this cms version again.
Unique problem I have is about SEF configuration, without SEF all goes ok.

Ofer Cohen

unread,
Jan 13, 2012, 6:37:02 AM1/13/12
to joomla-...@googlegroups.com
Hey Gabriele

Did all the bugs which I reported fixed already? Can I continue to test?

Thanks
Ofer Cohen

84.le0n

unread,
Jan 13, 2012, 7:45:05 AM1/13/12
to joomla-...@googlegroups.com, joomla-...@googlegroups.com
I've fixed that errors on creating new article and now its possible to create new categories too.
Seems that all these bugs are corrected, but I'm not really confident on this, please try to test them and test the rest of cms too.

Thank you,

Eng. Gabriele Pongelli

AVVERTENZE AI SENSI DEL D.LGS. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e negli eventuali files allegati, sono da considerarsi strettamente riservati. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceveste per errore questo messaggio, Vi preghiamo cortesemente di darcene notizia all'indirizzo e-mail di cui sopra e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema; costituisce comportamento contrario ai principi dettati dal D.lgs. 196/2003 il trattenere il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse.
This electronic transmission is strictly confidential and intended solely for the addresses. It may contain information which is covered by legal, professional or other privilege. If you are not the intended addressee, you must not disclose, copy or take any action in reliance of this transmission. If you have received this transmission in error, please notify us and delete the received data as soon as possible.

84.le0n

unread,
Jan 13, 2012, 5:19:12 PM1/13/12
to joomla-...@googlegroups.com
Now I've added last two commits, fixing some errors, and these are
results of reverse study about sef error.

With $sef = 0 it works correctly, this is the call stack when clicking
on "Using Joomla!" link on homepage

ContentModelArticle::getItem
JView::get('Item') line 482
ContentViewArticle::display line 36
___

With $sef = 1 it doesn't work, this is the call stack when clicking on
"Using Joomla!" link on homepage

ContentModelCategory::getCategory
ContentModelCategory::getItems line 212
JView::get('Items') line 482
ContentViewCategory::display line 43


As you can see it's not called the same view class, I don't know why,
the flow is that
ContentModelCategory::getCategory
will set
$this->_parent = false
on line 329 and this value is compared with "false" in
ContentViewCategory::display on line 46, so they are same and it will
return 404 error.

Now I don't know about how can fix this error, please help me
suggesting possible solution.

Thank you,
Eng Gabriele Pongelli.

84.le0n

unread,
Jan 14, 2012, 11:22:49 AM1/14/12
to joomla-...@googlegroups.com
I've changed configuration to use mysql database, as I've imagined the
problem is about called view.
In fact using mysql database, do click on "Using Joomla!" link with
any sef value, the view instantiated is always ContentModelArticle,
the working class for PostgreSQL too.

I'm trying to understand why same link will redirect to two different views.

Again, I don't know about how can fix this error, please help me

84.le0n

unread,
Jan 14, 2012, 11:47:27 AM1/14/12
to joomla-...@googlegroups.com
The error seems to come from $_REQUEST var, in fact inside
JRequest::getVar() at line 134 will be used $input from $_REQUEST, and
$_REQUEST is an array that contains
Itemid = 45
option = com_content
view = category <<<< source of this issue!!
id = 0

I'm going on this debug session.

Eng. Gabriele Pongelli

Ofer Cohen

unread,
Jan 14, 2012, 3:50:21 PM1/14/12
to joomla-...@googlegroups.com

Hey Gabriele

I've debugged the router.php of com_content (front-end).

In psql is going into ContentParseRoute method, but in mysql is going into ContentBuildRoute.
Don't know why :-/

Continue to test...

Ofer Cohen

84.le0n

unread,
Jan 15, 2012, 6:49:06 AM1/15/12
to joomla-...@googlegroups.com
I haven't seen that difference, I did an hard debug session and, after my last email,  I've found that the problem is inside includes/router.php , line 219 .
It's really strange because there are same result set from mysql and postgresql but next instruction

 if ($length > 0 && JString::strpos($route_lowercase.'/', $item->route.'/') === 0 && $item->type != 'menulink' && ($item->language == '*' || $item->language == $lang_tag))

is not true when $item->route is equal to $route_lowercase as is with mysql database.
Vars and arrays are equals but will be evaluated differently, don't know why.

I'll check that you've told, thank you!

84.le0n

unread,
Jan 15, 2012, 7:13:49 AM1/15/12
to joomla-...@googlegroups.com
Issue fixed!
The error was in $item->language because was defined inside database
as 7 fixed character, so a simple asterisk was saved as an asterisk
and six spaces.
Now seems that cms works with postgresql and sef enabled.

Please continue trying to use it searching other bugs, thank you!

Eng. Gabriele Pongelli.

Ofer Cohen

unread,
Jan 15, 2012, 7:22:51 AM1/15/12
to joomla-...@googlegroups.com
Hey Gabriele
Did you make a change in the code or db? 
Thanks

84.le0n

unread,
Jan 15, 2012, 7:25:43 AM1/15/12
to joomla-...@googlegroups.com
Database tables definition.
Just pushed here:
https://github.com/gpongelli/joomla-cms/tree/postgresql


Eng. Gabriele Pongelli.

84.le0n

unread,
Jan 15, 2012, 8:28:58 AM1/15/12
to joomla-...@googlegroups.com
Ofer, have you installed PHPUnit 3.5 or 3.6 ?
If you have 3.5 version, can you run system tests ?
http://docs.joomla.org/Running_Automated_Tests_for_Version_1.6#System_Tests

I've installed 3.6 version and receive a fatal error.

84.le0n

unread,
Jan 17, 2012, 2:44:51 AM1/17/12
to joomla-...@googlegroups.com
Fixed other issues, please pull last commits and test again.
I'll do tests today too.
Seems to be at a good point ;)

Ofer Cohen

unread,
Jan 20, 2012, 7:48:48 AM1/20/12
to joomla-...@googlegroups.com

Hey Gabriele,

I've retest the sef issue and it really fixed. I've even tested unicode url and it's just fine.

I can create articles and this bug also fixed.

In addition, my plugin "JISecure My Site" can be installed on PostgreSQL, so the installation bug also squeezed.

Amazing job!! Thanks Gabriele for bringing us the PostgreSQL Driver for Joomla!

J-O-O-M-L-A R-O-C-K-S !-!-! :-)

Ofer Cohen
Joomlalics Anonymous Group

84.le0n

unread,
Jan 20, 2012, 8:20:20 AM1/20/12
to joomla-...@googlegroups.com, joomla-...@googlegroups.com
Happy to see that all works ;)
I'm not stop working on this, I think I'll add exporter and importer, but now I'm focused on integration with master branch.
If you fin other bugs please let me know.

OT
I'll watch your plugin, seems interesting ;)

Chad Windnagle

unread,
Jan 20, 2012, 8:28:15 AM1/20/12
to joomla-...@googlegroups.com, joomla-...@googlegroups.com
Very excited to see this! Should we update our press releases to say that Postgres will be making it into core?

-Chad

Regards,
Chad Windnagle
s-go Consulting, LLC
http://www.s-go.net
Office: 607-330-2574 x 103
Mobile: 607-229-6260

84.le0n

unread,
Jan 20, 2012, 9:03:04 AM1/20/12
to joomla-...@googlegroups.com, joomla-...@googlegroups.com
Hi Chad,
I don't know if PostgreSQL will be merged inside master cms branch before of 2.5 announce, because it isn't part of platform yet and there is an issue with sqlsrv code about its charLength return string (ther is a discussion inside cms pull requests).

I will be happier if PostgreSQL will be merged now and not with 3.0 release, but I can't decide about what has to be merged and what has to be rejected inside cms.

Mark Dexter

unread,
Jan 20, 2012, 12:11:53 PM1/20/12
to joomla-...@googlegroups.com
I don't think it is realistic for 2.5.0, which we are building this weekend. However, we could certainly aim to get this into 2.5.1, which will likely be released in about 2 months. The first priority is to get the platform changes committed to the platform. Then we can back-port those changes over to the CMS. Thanks. Mark

Ofer Cohen

unread,
Jan 20, 2012, 3:21:14 PM1/20/12
to joomla-...@googlegroups.com

Hey Gabriele,

Another test I've done - smart search.

I've enabled the plugin - OK

Then I've click in the component (Smart Search) on Index button - Failed.
I've get the next error: An Error Has Occurred
Unknown column 'ta.term' in 'group statement' SQL=INSERT INTO `j_finder_terms` (`term`, `stem`, `common`, `phrase`, `weight`, `soundex`) SELECT tag.term, tag.stem, tag.common, tag.phrase, tag.term_weight, SOUNDEX(tag.term) FROM `j_finder_tokens_aggregate` AS `tag`,`j_finder_terms` AS `terms` WHERE tag.term_id = 0 AND terms.term=tag.term AND terms.stem=tag.stem AND terms.common=tag.common AND terms.phrase=tag.phrase AND terms.weight=tag.term_weight AND terms.soundex=SOUNDEX(tag.term) GROUP BY ta.term

Best Regards,

Ofer Cohen
Joomlics Anonymous Group

Michael Babker

unread,
Jan 20, 2012, 3:26:22 PM1/20/12
to joomla-...@googlegroups.com
PostgreSQL doesn't support SOUNDEX in a default install, so I'm expecting the indexer to fail in a few places.  We've thrown around using PHP's sounded function a few times, but to be honest, it's been all talk and no code and test.

As far as this specific error, I'm curious as to where the g is getting added.  In the code, the query is 'SELECT ta.term, ta.stem…', not tag (unless that was your e-mail's auto-correct).

From: Ofer Cohen <ofer...@gmail.com>
Reply-To: <joomla-...@googlegroups.com>
Date: Fri, 20 Jan 2012 22:21:14 +0200
To: <joomla-...@googlegroups.com>
Subject: Re: [jcms] Request for testing: CMS on PostgreSQL database

Michael Babker

unread,
Jan 20, 2012, 3:28:18 PM1/20/12
to joomla-...@googlegroups.com
PHP's soundex… DYAC…

Ofer Cohen

unread,
Jan 20, 2012, 3:39:25 PM1/20/12
to joomla-...@googlegroups.com

Maybe we should make it special requirement for PostgreSQL?

Ofer Cohen

84.le0n

unread,
Jan 20, 2012, 6:50:31 PM1/20/12
to joomla-...@googlegroups.com, joomla-...@googlegroups.com
Michael is right, PostgreSQL doesn't have soundex function in a default install, only in a contrib package.
Best solution is use php function, if it gives same result of mysql's one... I can do some tests but I don't have a big dictionary to do these tests.
Another solution is not use soundex, but I don't know what function can be used to replace it .

Chad Windnagle

unread,
Jan 20, 2012, 7:19:27 PM1/20/12
to joomla-...@googlegroups.com
I'm pretty far outside the development on the postgres work and have only briefly looked at what soundex is, but it appears some comparable commands might be MetaPhone, at least according to this link:


Hoping this helps. 

-Chad

Regards,
Chad Windnagle
Fight SOPA


elin

unread,
Jan 20, 2012, 8:17:50 PM1/20/12
to joomla-...@googlegroups.com
What I think we should do is when Gabriele is ready pack up the driver into an installable library extension and get a lot wider testing so for 2.5.1 we are solid.

Great work by everyone especially Gabriele persisting with this :). 

I have a  blog post on what it means to say an extension is multi db ready which I'll probably post tomorrow.

Elin


Brad Gies

unread,
Jan 20, 2012, 10:56:12 PM1/20/12
to joomla-...@googlegroups.com

Double metaphone works much better than Soundex (at least for English)
... and there are implementations for php, and many databases also. I
know it works well for most latin-derived languages (English, Spanish,
French, German), but I don't know about other languages.

On 20/01/2012 3:50 PM, 84.le0n wrote:
> Michael is right, PostgreSQL doesn't have soundex function in a default install, only in a contrib package.
> Best solution is use php function, if it gives same result of mysql's one... I can do some tests but I don't have a big dictionary to do these tests.
> Another solution is not use soundex, but I don't know what function can be used to replace it .
>
> Eng. Gabriele Pongelli
>
> AVVERTENZE AI SENSI DEL D.LGS. 196/2003

> Le informazioni contenute in questo messaggio di posta elettronica e negli eventuali files allegati, sono da considerarsi strettamente riservati. Il loro utilizzo � consentito esclusivamente al destinatario del messaggio, per le finalit� indicate nel messaggio stesso. Qualora riceveste per errore questo messaggio, Vi preghiamo cortesemente di darcene notizia all'indirizzo e-mail di cui sopra e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema; costituisce comportamento contrario ai principi dettati dal D.lgs. 196/2003 il trattenere il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalit� diverse.


> This electronic transmission is strictly confidential and intended solely for the addresses. It may contain information which is covered by legal, professional or other privilege. If you are not the intended addressee, you must not disclose, copy or take any action in reliance of this transmission. If you have received this transmission in error, please notify us and delete the received data as soon as possible.
>


--
Sincerely,

Brad Gies
----------------------------------------------
bgies.com maxhomevalue.com
idailythought.com greenfarminvest.com
----------------------------------------------

Ofer Cohen

unread,
Jan 21, 2012, 7:22:50 AM1/21/12
to joomla-...@googlegroups.com

 From MySQL documentation (soundex function):

"This function, as currently implemented, is intended to work well with strings that are in the English language only. Strings in other languages may not produce reliable results."

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_soundex

Few comments about soundex & postgresql:

  1. We should ping about the languages supported soundex to translation teams.
  2. We should think about general solution for soundex that don't depended on specific DB.
  3. Not related to soundex, but postgresql - Maybe we should merge the driver into 2.5.0 with experimental mark in the installation process. In this way we will get much more tests.

And that was my 3 cents :-)


Ofer Cohen

On 01/21/2012 05:56 AM, Brad Gies wrote:

Double metaphone works much better than Soundex (at least for English) ... and there are implementations for php, and many databases also.  I know it works well for most latin-derived languages (English, Spanish, French, German), but I don't know about other languages.

On 20/01/2012 3:50 PM, 84.le0n wrote:
Michael is right, PostgreSQL doesn't have soundex function in a default install, only in a contrib package.
Best solution is use php function, if it gives same result of mysql's one... I can do some tests but I don't have a big dictionary to do these tests.
Another solution is not use soundex, but I don't know what function can be used to replace it .

Eng. Gabriele Pongelli

AVVERTENZE AI SENSI DEL D.LGS. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e negli eventuali files allegati, sono da considerarsi strettamente riservati. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceveste per errore questo messaggio, Vi preghiamo cortesemente di darcene notizia all'indirizzo e-mail di cui sopra e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema; costituisce comportamento contrario ai principi dettati dal D.lgs. 196/2003 il trattenere il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse.

elin

unread,
Jan 21, 2012, 9:22:25 AM1/21/12
to joomla-...@googlegroups.com
I actually would like to do the experimental mark (assuming you mean what I do which is that we say in the UI that support is experimental).   
I don't know if that creates any string problems however.

Elin

84.le0n

unread,
Jan 22, 2012, 8:49:15 AM1/22/12
to joomla-...@googlegroups.com
About when my driver will be included: I hope in 2.5.1 for an sqlsrv
problem (its code already present in platform and cms) that collide
with some of my cms code, so we have to fix platform differences
before and then add in cms.

About soundex: some time ago someone sent this link in a discussion
inside this list or in platform one.
http://www.postgresonline.com/journal/archives/158-Where-is-soundex-and-other-warm-and-fuzzy-string-things.html
I've read this and investigating about enabling soundex or other
functions (I think double metaphone works better than soundex,
expecially for language other than english, but it's not installed by
default in other databases), seems that in postgresql I've to run code
inside sql file as superuser.
It's better check if PHP's soundex works as MySQL's one, to let use
this instead of database specific code.


Eng. Gabriele Pongelli.

Thomas

unread,
Jan 27, 2012, 10:27:21 AM1/27/12
to Joomla! CMS Development
Hi,

When I try to install it, I have the following message at the 2nd
step : Fatal error: Declaration of JDatabasePostgreSQL::select() must
be compatible with that of JDatabase::select() in D:\Website
\joomla_sites\thematiques\j25\libraries\joomla\database\database
\postgresql.php on line 1225

Did I miss something?

Thomas

On 6 jan, 21:49, "84.le0n" <84.l...@gmail.com> wrote:
> Hi folks,
> I'm searching tester of CMS on PostgreSQL database, there's someone
> who can help me trying to play on it and finding possible bugs ?
> The repository ishttps://github.com/gpongelli/joomla-cms/tree/postgresql
> feel free to fork and make issues and pull request, signaling how replicate it.
>
> For someone interested, after install is completed, edit
> configuration.php and set
> $sef = '0'
> $debug = '1'
> to have site correcly working and have necessary debug, useful during
> sending issue report to me.
>
> Hoping on your helps,
> Eng. Gabriele Pongelli.

84.le0n

unread,
Jan 28, 2012, 4:49:37 AM1/28/12
to joomla-...@googlegroups.com
Have you used code from
https://github.com/gpongelli/joomla-cms/tree/postgresql ?
It's very strange because yesterday I did a fresh install and I
haven't received this error.
Pull it again, I've never had this error and looking my code I've no
"select" declaration at line 1225 .

Thank you,
Eng. Gabriele Pongelli.

84.le0n

unread,
Feb 10, 2012, 2:17:07 AM2/10/12
to joomla-...@googlegroups.com, Joomla! CMS Development
Hi all,
I've pushed now a SOUNDEX replacement, created with PL/pgSQL language inside joomla.sql and correctly handled in database.php file of installation folder.
Creation is ok, after installation I've used SOUNDEX inside queries and it works.

I've start testing it and, after enabled smart search plugins, doing "index" I get "undefined null null" in a modal window.
Can anyone help me debugging that?

Thank you,

Chris Davenport

unread,
Feb 13, 2012, 5:33:17 AM2/13/12
to joomla-...@googlegroups.com
This is usually what you get when the indexer has stopped with a fatal error.  Check your error logs to see what the problem is.  A common cause is not having write access to /logs as the indexer currently puts out lots of diagnostic stuff into /logs/indexer.php.

Chris.

--
You received this message because you are subscribed to the Google Groups "Joomla! CMS Development" group.
To post to this group, send an email to joomla-...@googlegroups.com.
To unsubscribe from this group, send email to joomla-dev-cm...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/joomla-dev-cms?hl=en-GB.




--
Chris Davenport
Joomla Leadership Team - Production Working Group
Joomla Documentation Coordinator

84.le0n

unread,
Feb 13, 2012, 9:19:13 AM2/13/12
to joomla-...@googlegroups.com, joomla-...@googlegroups.com
I haven't installed iconv support.


Eng. Gabriele Pongelli

AVVERTENZE AI SENSI DEL D.LGS. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e negli eventuali files allegati, sono da considerarsi strettamente riservati. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceveste per errore questo messaggio, Vi preghiamo cortesemente di darcene notizia all'indirizzo e-mail di cui sopra e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema; costituisce comportamento contrario ai principi dettati dal D.lgs. 196/2003 il trattenere il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse.
This electronic transmission is strictly confidential and intended solely for the addresses. It may contain information which is covered by legal, professional or other privilege. If you are not the intended addressee, you must not disclose, copy or take any action in reliance of this transmission. If you have received this transmission in error, please notify us and delete the received data as soon as possible.

Michael Babker

unread,
Jul 5, 2012, 10:41:02 PM7/5/12
to joomla-...@googlegroups.com
I know the topic of PostgreSQL in the CMS hasn't come up really in a little while, but I think now would be a great time to revisit it and make the push to get it integrated for 3.0.

I can't offer to test every change thoroughly, but I've got a PostgreSQL instance set up on my systems that I could test with to help with the integration, and I'll help where I can on code issues to keep compatibility with our other supported drivers.

I know Gabriele has spent a lot of time working on this, and I think it would be a shame to lose all his work.

Can we see this one through to being committed into the CMS?

elin

unread,
Jul 6, 2012, 10:39:48 AM7/6/12
to joomla-...@googlegroups.com
I really would like to see this and I think the most important thing is to get it out to postgres users to test. What is the best way to do that? 

Elin

84.le0n

unread,
Jul 6, 2012, 2:04:14 PM7/6/12
to joomla-...@googlegroups.com, ale...@alexred.com
Hi all,
If I remember correctly, my cms' pull request last update was for 2.5.4 and I've thought to update to 2.5.5 or 3.0 opening a new pull request.
I haven't seen 3.0 branch but, if it contains at least 12.1 platform, it already contains my driver.

I've also a pull request on platform repository to improve installation phase, but it's not yet merged.
I can try to let italian joomla's users do test on cms, but before I've to adapt 2.5 code and see 3.0 news. In cc there's www.joomla.it forum administrator, head of italian translation team, talk with him on how let user test this version.

bye,

Michael Babker

unread,
Jul 6, 2012, 3:42:53 PM7/6/12
to joomla-...@googlegroups.com, ale...@alexred.com
Within the next few days, there should be a Platform merge on the master
branch on the CMS repo (since it's now being used for 3.0). Once the
Platform merge is done, you should be able to get your branch set up with
the current Platform code and merge in the changes you need to get
PostgreSQL working. IIRC, the first 3.0 Alpha is scheduled for next week
and was only going to contain the Platform merge with the necessary CMS
tweaks to keep things running.

elin

unread,
Jul 6, 2012, 4:30:32 PM7/6/12
to joomla-...@googlegroups.com, ale...@alexred.com
Really it's easy enough to put postgres support into alpha mode once any tweaks are done. All we have to do is change the supported databases field on the installation and it's ready to go. I'd say let's do that for alpha if we can, that's the only way we're ever going to get enough real world testing for the release.

Elin
>To post to this group, send an email to joomla-dev-cms@googlegroups.com.
>To unsubscribe from this group, send email to

84.le0n

unread,
Jul 7, 2012, 3:53:06 AM7/7/12
to joomla-...@googlegroups.com, joomla-...@googlegroups.com, ale...@alexred.com
Hi,
I think I'll try to put cms' changes on 3.0 branch after new platform will be merged, so changes are relative only for cms' modules and components without touching libraries folder.
About 2.5.x I can try to add Postgresql driver, but I don't want an unmaintainable situation with two similar branches, 2.5 and 3.0, and with 2.5.x branch that it's used only to see if it works (it could not be merged because of changes inside libraries platform).

Bye,

Eng. Gabriele Pongelli

AVVERTENZE AI SENSI DEL D.LGS. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e negli eventuali files allegati, sono da considerarsi strettamente riservati. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceveste per errore questo messaggio, Vi preghiamo cortesemente di darcene notizia all'indirizzo e-mail di cui sopra e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema; costituisce comportamento contrario ai principi dettati dal D.lgs. 196/2003 il trattenere il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse.
This electronic transmission is strictly confidential and intended solely for the addresses. It may contain information which is covered by legal, professional or other privilege. If you are not the intended addressee, you must not disclose, copy or take any action in reliance of this transmission. If you have received this transmission in error, please notify us and delete the received data as soon as possible.
To view this discussion on the web, visit https://groups.google.com/d/msg/joomla-dev-cms/-/t5XYvAsL3QYJ.
To post to this group, send an email to joomla-...@googlegroups.com.
To unsubscribe from this group, send email to joomla-dev-cm...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages