Gallery version 2.0.2 Upgrading to 2.1
PHP version (e.g. 4.3.11): PHP 5.1.1.1
PHPInfo Link (see FAQ):
Webserver (e.g. Apache 1.3.33): Appache 2.0
Database (e.g. MySql 4.0.11): Oracle Express 10g
Activated toolkits (e.g. NetPbm, GD):NA
Operating system (e.g. Linux):Windows XP
Browser (e.g. Firefox 1.0): IE 6
Error:
Error (ERROR_STORAGE_FAILURE) : Error trying to run query: ALTER TABLE g2_AccessMap DROP (g_userId) DROP (g_groupId) ADD PRIMARY KEY(g_accessListId, g_userOrGroupId)
in modules\core\classes\GalleryStorage\GalleryStorageExtras.class at line 1528 (GalleryCoreApi::error)
in modules\core\classes\GalleryStorage\GalleryStorageExtras.class at line 1304 (GalleryStorageExtras::_executeSql)
in modules\core\classes\GalleryStorage.class at line 625 (GalleryStorageExtras::configureStore)
in modules\core\classes\GalleryStorage\OracleStorage.class at line 213 (GalleryStorage::configureStore)
in modules\core\CoreModuleExtras.inc at line 1385 (OracleStorage::configureStore)
in modules\core\module.inc at line 487 (CoreModuleExtras::upgrade)
in modules\core\classes\GalleryModule.class at line 157 (CoreModule::upgrade)
in upgrade\steps\UpgradeCoreModuleStep.class at line 83 (GalleryModule::installOrUpgrade)
in upgrade\index.php at line 221 (UpgradeCoreModuleStep::processRequest)
Error from log:
ORA-00933: SQL command not properly ended
in D:\WWWShare\gallery2\lib\adodb\drivers\adodb-oci8.inc.php on
line 992
933: ORA-00933: SQL command not properly ended
Full log attached
Posts: 8601
I must admit G2 on oracle is not well tested.. we scrambled for a test environment to get installing of 2.1 to work, but didn't do any upgrade tests that i know of. I will look into the sql syntax there to see if I can find what is wrong.
Posts: 22
I've got a good backup so if you want me to test something out I can do it. I tried to look for a file that had some of the statements but couldn't find any that look similar to the one failing.
Posts: 8601
the upgrade sql is in modules/core/classes/GalleryStorage/schema.tpl
what would be very helpful is if you can make a new test install using gallery 2.0.x (and maybe back that up too, to aid in re-testing) and activate all modules (or all with modules/*/classes/GalleryStorage/schema.tpl files anyway).. testing upgrades to 2.1 for all those modules will help us find and fix as many problems as possible.
Posts: 7
You must not look for e.g. "g2_[DBNAME]" because it is coded like "DB_TABLE_PREFIX[DBNAME]". I stumbled across this one too ;-)
Posts: 7
I had an error in this module too. Step 3, updating Database. I have Postgres 7.4 in use.
In modules/core/classes/GalleryStorage/schema.tpl I had to comment out rows 812 (at least, I also commented out row 814) and add the mentioned columns in the DB by myself, including setting default '0', inserting value '0' in all existing rows and setting NOT NULL.
The automatic update failed. The DBMS said:
translation (may be incorrect):
But I guess, that this wouldn't help, because the DBMS doesn't add default values to existing rows. So you would need an additional two commands like
ALTER TABLE DB_TABLE_PREFIXAccessMap ADD COLUMN DB_COLUMN_PREFIXuserOrGroupId INTEGER;
ALTER TABLE DB_TABLE_PREFIXAccessMap ALTER DB_COLUMN_PREFIXuserOrGroupId SET DEFAULT '0';
UPDATE DB_TABLE_PREFIXAccessMap SET DB_COLUMN_PREFIXuserOrGroupId = DEFAULT;
ALTER TABLE DB_TABLE_PREFIXAccessMap ALTER DB_COLUMN_PREFIXuserOrGroupId SET NOT NULL;
Posts: 8601
schlumpfzipfel, this topic is about oracle.. that problem for postgres is a known issue.
Posts: 7
OK, didn't realize it was strictly divided.
Posts: 8601
i've updated the topic title so it's more clear.
Posts: 8601
jhecht, I checked the oracle syntax.. there can only be one DROP and it can't be combined with other things, so..
please modify your modules/core/classes/GalleryStorage/schema.tpl and find that ALTER line above.. change it to:
Hm, the forum won't display it, but there needs to be a blank line after each ALTER statement.
Restore from your backups and try the upgrade again.. let us know how it goes, thanks!
Posts: 22
That got me past that error, now I'm getting this. I'm wondering if my restore wasn't thorough enough. I'm going to try to just restore the gallery database schema I'll try again with the gallery folder as well.
Error (ERROR_PLATFORM_FAILURE) : Can't access session dir
in modules\core\CoreModuleExtras.inc at line 1567 (GalleryCoreApi::error)
in modules\core\module.inc at line 487 (CoreModuleExtras::upgrade)
in modules\core\classes\GalleryModule.class at line 157 (CoreModule::upgrade)
in upgrade\steps\UpgradeCoreModuleStep.class at line 83 (GalleryModule::installOrUpgrade)
in upgrade\index.php at line 221 (UpgradeCoreModuleStep::processRequest)
Posts: 8601
better yet, try your upgrade with this file in modules/core/classes/GalleryStorage:
http://parity.menalto.com/~mindless/schema.tpl
Posts: 22
Closer? Here is the new error:
Error (ERROR_STORAGE_FAILURE) : Error trying to run query: ALTER TABLE g2_PluginParameterMap ADD COLUMN g_parameterValueTemp VARCHAR2(4000)
in modules\core\classes\GalleryStorage\GalleryStorageExtras.class at line 1528 (GalleryCoreApi::error)
in modules\core\classes\GalleryStorage\GalleryStorageExtras.class at line 1304 (GalleryStorageExtras::_executeSql)
in modules\core\classes\GalleryStorage.class at line 625 (GalleryStorageExtras::configureStore)
in modules\core\classes\GalleryStorage\OracleStorage.class at line 213 (GalleryStorage::configureStore)
in modules\core\CoreModuleExtras.inc at line 1295 (OracleStorage::configureStore)
in modules\core\module.inc at line 487 (CoreModuleExtras::upgrade)
in modules\core\classes\GalleryModule.class at line 157 (CoreModule::upgrade)
in upgrade\steps\UpgradeCoreModuleStep.class at line 83 (GalleryModule::installOrUpgrade)
in upgrade\index.php at line 221 (UpgradeCoreModuleStep::processRequest)
Posts: 8601
oops! i updated the schema.tpl file in the same location, please retry.
Posts: 22
New error. I was getting an error becuase the script couldn't put a not null requirement on G2_PLUGINPARAMETERMAP because of records with a null value for the parameter value. So I looked at my data and deleted the rows with a null parameter value. Now I get the error about the script trying to insert nulls.
Error (ERROR_STORAGE_FAILURE)
in modules\core\classes\GalleryStorage\GalleryStorageExtras.class at line 988 (GalleryCoreApi::error)
in modules\core\classes\GalleryStorage.class at line 501 (GalleryStorageExtras::addMapEntry)
in modules\core\classes\GalleryCoreApi.class at line 2921 (GalleryStorage::addMapEntry)
in modules\core\classes\helpers\GalleryPluginHelper_medium.class at line 416 (GalleryCoreApi::addMapEntry)
in modules\core\classes\helpers\GalleryPluginHelper_medium.class at line 360 (GalleryPluginHelper_medium::_addParameter)
in modules\core\classes\GalleryCoreApi.class at line 414 (GalleryPluginHelper_medium::setParameter)
in modules\core\classes\GalleryPlugin.class at line 456 (GalleryCoreApi::setPluginParameter)
in modules\core\CoreModuleExtras.inc at line 1424 (GalleryPlugin::setParameter)
in modules\core\module.inc at line 487 (CoreModuleExtras::upgrade)
in modules\core\classes\GalleryModule.class at line 157 (CoreModule::upgrade)
in upgrade\steps\UpgradeCoreModuleStep.class at line 83 (GalleryModule::installOrUpgrade)
in upgrade\index.php at line 221 (UpgradeCoreModuleStep::processRequest)
oci8po error: [1400: ORA-01400: cannot insert NULL into
("GALLERY"."G2_PLUGINPARAMETERMAP"."G_PARAMETERVALUE")
] in EXECUTE("INSERT INTO g2_PluginParameterMap (g_pluginType, g_pluginId,
g_itemId, g_parameterName, g_parameterValue) VALUES (?,?,?,?,?)")
Posts: 8601
yup, that column should allow null.
that is now fixed in the schema.tpl at the same link.
sorry, these are new errors introduced trying to fix the other problems.. thanks for helping to work out the kinks.
Posts: 22
Thanks, it is some great software glad to help.
Now I get the following error.
Error (ERROR_PLATFORM_FAILURE) : Can't access session dir
in modules\core\CoreModuleExtras.inc at line 1567 (GalleryCoreApi::error)
in modules\core\module.inc at line 487 (CoreModuleExtras::upgrade)
in modules\core\classes\GalleryModule.class at line 157 (CoreModule::upgrade)
in upgrade\steps\UpgradeCoreModuleStep.class at line 83 (GalleryModule::installOrUpgrade)
in upgrade\index.php at line 221 (UpgradeCoreModuleStep::processRequest)
Posts: 8601
when you restored the db backup did you restore a g2data backup? most of the upgrade changes are in the db, but the upgrade does expect to remove g2data/sessions so you can restore a g2data backup or maybe just create this dir before the upgrade. seems like we're very close!
Posts: 8601
FYI, these changes will be in an official release pretty soon.. we're planning a 2.1.1 in a couple weeks.
Posts: 22
I had not restored the g2 data. I just manually created the session directory and now we're on to a new error. It looks like muliple create statments on the index AccessMap_83732.
Error (ERROR_STORAGE_FAILURE)
in modules\core\classes\GalleryStorage\GalleryStorageExtras.class at line 948 (GalleryCoreApi::error)
in modules\core\classes\GalleryStorage.class at line 489 (GalleryStorageExtras::execute)
in modules\core\CoreModuleExtras.inc at line 1710 (GalleryStorage::execute)
in modules\core\module.inc at line 487 (CoreModuleExtras::upgrade)
in modules\core\classes\GalleryModule.class at line 157 (CoreModule::upgrade)
in upgrade\steps\UpgradeCoreModuleStep.class at line 83 (GalleryModule::installOrUpgrade)
in upgrade\index.php at line 221 (UpgradeCoreModuleStep::processRequest)
Posts: 8601
can you attach or post a link to the debug output? i don't see where this is coming from.
Edit: nevermind, I do see.. that repeat is ok/expected. the error is ignored. what's failing is updating the version in the schema table..
Edit Edit: want to see debug output again.. is this execute failing because there are 2 attempts to change the schema version for AccessMap from 1.2 to 1.3?
Posts: 22
Debug attached.
Posts: 8601
ah! remove the semicolon at the end of the string in line 1706 in modules/core/CoreModuleExtras.inc
Posts: 22
Success! Step three completed and the remainder of the steps without error. Thank you so much for your help.
Posts: 8601
awesome! if i can ask for one more test, can you try a new install using 2.1 (and this schema.tpl) and make sure it works ok too?
Posts: 22
Whoops, that didn't work so well. Now I can't get to the upgrade screen.
Error (ERROR_STORAGE_FAILURE) :
in modules\core\classes\GalleryStorage.class at line 476 (GalleryCoreApi::error)
in modules\core\classes\Gallery.class at line 223 (GalleryStorage::search)
in modules\core\classes\GallerySession.class at line 911 (Gallery::search)
in modules\core\classes\GallerySession.class at line 261 (GallerySession::_loadSessionData)
in modules\core\classes\Gallery.class at line 315 (GallerySession::init)
in init.inc at line 125 (Gallery::initSession)
in main.php at line 73
I dropped the gallery user again and reloaded my backup data.
Posts: 8601
what didn't work? the app after upgrade, or the new install?
please post debug output for the above error, thx.
Posts: 22
To retry the upgrade I restored my database and now get this when I first go in. I'm not getting the upgrade screens.
Posts: 22
I tried to go into upgrade direct and I got the screens, however when I get to step three it's telling me my core is already upgraded.
Posts: 8601
did you restore g2data? to redo any upgrade you really need to restore everything.. in this case you can probably shortcut a full g2data restore by creating the sessions dir again and restoring just the g2data/versions.dat file.
but FYI, what I was asking is a test of a new install, ie put the 2.1 code somewhere else, add in schema.tpl and browse to install/index.php. on second thought though, maybe wait on that until we have a test build of 2.1.1 for you to try.
Posts: 22
Ah, my misunderstanding. When the next build is ready I'll give it a shot. Meanwhile. I guess I didn't have a great backup I didn't have a backup of the g2data directory only the database stuff. If you could tell me the version number to have in the versions.dat file I'd love to give that a shot.
Posts: 8601
versions.dat probably should have:
for the official 2.0 release.. those numbers should work fine for any 2.0.x too I think.
Posts: 8601
I PMed you the location of a test build of 2.1.1.. if you can test it out and post results here that would be great!
Posts: 22
Upgrade was successful, however when I attempt to login to the gallery I get:
Warning: ociplogon() [function.ociplogon]: OCISessionBegin: ORA-12705: Cannot access NLS data files or invalid environment specified in D:\WWWShare\gallery2\lib\adodb\drivers\adodb-oci8.inc.php on line 215
Error
Error (ERROR_STORAGE_FAILURE) :
in modules\core\classes\GalleryStorage.class at line 229 (GalleryCoreApi::error)
in modules\core\classes\GalleryStorage.class at line 449 (GalleryStorage::_getConnection)
in modules\core\classes\Gallery.class at line 223 (GalleryStorage::search)
in modules\core\classes\GallerySession.class at line 911 (Gallery::search)
in modules\core\classes\GallerySession.class at line 261 (GallerySession::_loadSessionData)
in modules\core\classes\Gallery.class at line 315 (GallerySession::init)
in init.inc at line 125 (Gallery::initSession)
in main.php at line 73
I'm going to try the new install now. I'll let you know how that goes.
Posts: 22
Error in install more modules step on new install:
Error (ERROR_STORAGE_FAILURE)
in modules\core\classes\GalleryStorage.class at line 229 (GalleryCoreApi::error)
in modules\core\classes\GalleryStorage.class at line 449 (GalleryStorage::_getConnection)
in modules\core\classes\Gallery.class at line 223 (GalleryStorage::search)
in modules\core\classes\helpers\GalleryPluginHelper_simple.class at line 519 (Gallery::search)
in modules\core\classes\helpers\GalleryPluginHelper_simple.class at line 391 (GalleryPluginHelper_simple::fetchPluginList)
in modules\core\classes\GalleryCoreApi.class at line 294 (GalleryPluginHelper_simple::fetchPluginStatus)
in install\steps\InstallOtherModulesStep.class at line 152 (GalleryCoreApi::fetchPluginStatus)
in install\index.php at line 207 (InstallOtherModulesStep::loadTemplateData)
Posts: 22
It allowed me to continue on and the when I select go to my gallery last step I get:
Warning: ocinlogon() [function.ocinlogon]: OCISessionBegin: ORA-12705: Cannot access NLS data files or invalid environment specified in D:\WWWShare\gallery2\lib\adodb\drivers\adodb-oci8.inc.php on line 222
Error
Error (ERROR_STORAGE_FAILURE) :
in modules\core\classes\GalleryStorage.class at line 229 (GalleryCoreApi::error)
in modules\core\classes\GalleryStorage.class at line 449 (GalleryStorage::_getConnection)
in modules\core\classes\Gallery.class at line 223 (GalleryStorage::search)
in modules\core\classes\helpers\GalleryPluginHelper_simple.class at line 346 (Gallery::search)
in modules\core\classes\helpers\GalleryPluginHelper_simple.class at line 246 (GalleryPluginHelper_simple::_fetchAllParameters)
in modules\core\classes\GalleryCoreApi.class at line 231 (GalleryPluginHelper_simple::getParameter)
in modules\core\classes\GallerySession.class at line 890 (GalleryCoreApi::getPluginParameter)
in modules\core\classes\GallerySession.class at line 261 (GallerySession::_loadSessionData)
in modules\core\classes\Gallery.class at line 315 (GallerySession::init)
in init.inc at line 125 (Gallery::initSession)
in main.php at line 73
Posts: 22
I'm using Oracle XE
Config looks like (with pw changed)
$storeConfig['type'] = 'oci8po';
$storeConfig['hostname'] = '';
$storeConfig['database'] = 'XE';
$storeConfig['username'] = 'g2';
$storeConfig['password'] = 'bigFancyPassword';
$storeConfig['tablePrefix'] = 'g2_';
$storeConfig['columnPrefix'] = 'g_';
$storeConfig['usePersistentConnections'] = false;
$gallery->setConfig('storage.config', $storeConfig);
Posts: 22
Restart of Apache and then attempt to access again. Gives me the login page but on login I get this:
Warning: ocinlogon() [function.ocinlogon]: OCISessionBegin: ORA-12705: Cannot access NLS data files or invalid environment specified in D:\WWWShare\gallery2\lib\adodb\drivers\adodb-oci8.inc.php on line 222
Warning: ocinlogon() [function.ocinlogon]: OCISessionBegin: ORA-12705: Cannot access NLS data files or invalid environment specified in D:\WWWShare\gallery2\lib\adodb\drivers\adodb-oci8.inc.php on line 222
Will try to set gallery for debug and see if that output file gives something to look at.
Posts: 22
Appears this may be related to the other discussion. http://gallery.menalto.com/node/46344?highlight=ORA-12705
I changed the usepersistantconnections to true and it worked for a while.
Posts: 8601
you never saw these errors until upgrading to 2.1(.1)? hmm..
Posts: 22
Actually as soon as I upgraded to 2.1 I started to see this. Didn't see it in 2.0. I was holding off chasing it down until the upgrade was completed. Generally the 12705 is a configuation issue with the host. I have one of the initial versions of XE I think I'll try and upgrade that and see if the problem goes away.
Posts: 8601
in case it is something that changed with G2.. maybe try commenting out putenv("NLS_LANG=UTF8") in modules/core/classes/GalleryStorage/OracleStorage.class
Posts: 22
Ok, I tried commenting out like:
function _setConnectionSettings(&$db) {
/* @putenv("NLS_LANG=UTF8"); */
return null;
}
And now I get:
Notice: Undefined index: mode.maintenance in D:\WWWShare\gallery2\modules\core\classes\Gallery.class on line 303
Warning: Cannot modify header information - headers already sent by (output started at D:\WWWShare\gallery2\modules\core\classes\Gallery.class:303) in D:\WWWShare\gallery2\modules\core\classes\GalleryPhpVm.class on line 124
Is that meaningful?
Posts: 8601
the upgrade to 2.1.x should have updated your config.php to include that mode.maintenance value.. is it not there? this part seems unrelated to the database you're using! (or was this the new-install?)
Posts: 22
Sorry, I have so many iterations of this I grabbed the config from the wrong area when I last tried it. Editing the OracleStorage.Class as recommended did make the NLS_LANG problem go away. I'm up and running with UsePersistantConnections=False and that edit. Unfortunately, in all of my iterations I think I messed up my g2_data directory and I may have to rebuild my albums, that's ok though, its been good to get a little better understanding how this all ties together. If I can be any further assistance in testing stuff against Oracle I'd be glad to give it a shot. Thanks for your help and thanks for such a great piece of software.