View Issue Details

IDProjectCategoryView StatusLast Update
0012478mantisbtdb oraclepublic2015-03-16 19:18
Reportersveyret Assigned Todregad  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product Version1.2.3 
Target Version1.3.0-beta.1Fixed in Version1.3.0-beta.1 
Summary0012478: Installation with Oracle fails
Description

When installing Mantis with Oracle, the automated installation fails, with Fatal error: 401.
So I asked Mantis to generate SQL script which I runned manually. This failed again. I had to do 3 modifications on the script for installation runs to the end:

  1. Replace “;;” (on lines “CREATE OR REPLACE TRIGGER … END;;” with “;\n/\nshow errors;” (not sure the show errors is needed). So the lines now look like:
    CREATE OR REPLACE TRIGGER … END;
    /
    show errors;

  2. Replace the index name “idx_project_hierarchy_parent_id” with “idx_project_hierarchy_parnt_id”. I removed the last “e” because the identifier was initially too long for Oracle (limit: 30 characters).

  3. Change the table name for the last “INSERT INTO mantis_config_table”. The table name is hard-coded. For Oracle, we need to change default table names because mantis prefix and table sufix creates identifiers too long.

Hope this will help doing a clean Oracle installation process…

TagsNo tags attached.

Relationships

related to 0013713 closeddregad Upgrade ADOdb library to latest version 
child of 0013227 closeddregad Oracle DB support multiple issues 

Activities

rombert

rombert

2011-05-27 11:08

reporter   ~0028860

Thank you for the report and suggested fix. Would you consider supplying a git patch, for proper attribution? If so, please see the instructions at http://docs.mantisbt.org/master/en/developers/dev.contrib.html to get started.

sveyret

sveyret

2011-05-30 05:34

reporter   ~0028871

Sorry, I will not have time to make a patch for this issue, as my company finally abandoned the idea of using Mantis with Oracle.

rombert

rombert

2011-05-30 06:07

reporter   ~0028872

Thanks. Out of curiosity, have you abandoned the idea of using Mantis or just switched to another DB?

sveyret

sveyret

2011-05-30 07:08

reporter   ~0028873

We are actively using Mantis, but with MySQL…
I made some tests about Oracle, and based on those, we considered that there were too many risks switching to this it.

rombert

rombert

2011-05-30 07:44

reporter   ~0028875

OK, got it.

rombert

rombert

2011-06-01 06:36

reporter   ~0028885

I've reported the ';;' issue on the adodb forum at http://phplens.com/lens/lensforum/msgs.php?id=18879 .

dregad

dregad

2012-03-30 04:14

developer   ~0031570

The adodb bug has been fixed upstream (in version 5.16)

Related Changesets

MantisBT: master 2ce60e47

2011-08-10 08:34

dregad


Details Diff
Fix 0013227: Oracle database support (oci8)

Mantis 1.2.6 currently does not work with Oracle DB:
1. Installation:
1.1. Oracle DB autocreates PK, so index creation for same field forbidden
1.2. Oracle DB uses datetime literal format timestamp'YYYY-MM-DD HH-MI:SS'
1.3. Oracle DB don't allows altering field property NOT NULL into NOT NULL
1.4. Oracle DB max object length is 30 chars, so some index names must be reduced
1.5. Oracle DB means empty string as NULLs, so NOT NULL restriction must be disabled for some field
1.6. Oracle DB can resolve database server name through TNS, so database name cannot be required
2. General:
2.2. Direct DB query execution result accessing instead of db_fetch_array() 1.3. usage didn't works with Oracle DB
2.4. Oracle DB binds variable by name, so bind names in statement must be sorted to address them.
2.5. Oracle DB handles NULL/DEFAULT values with specific way.
2.6. Oracle DB returns NULL value as true PHP null
2.7. Oracle DB handles sequence access with specific syntax
2.8. Nothing returned by db_prepare_string() in case of oci8
2.9. Oracle DB max object length is 30 chars, so table names must be reduced
2.10. Oracle DB uses LOB literal format similar to mssql
2.11. GetRowAssoc returns empty field values with oci8, it's need to enable returning both associative and indexed arrays.

The original patch was provided by DKuranov. He reckons that this also resolves
issues 0006853, 0007644, 0010437, 0010996, 0011265, 0011270, 0011276, 0012152, 0012478

Porting to 1.3 - Conflicts:
admin/install.php
admin/schema.php
core/database_api.php
manage_tags_page.php
Affected Issues
0006853, 0007644, 0010437, 0010996, 0011265, 0011270, 0011276, 0012152, 0012478, 0013227
mod - admin/install.php Diff File
mod - admin/schema.php Diff File
mod - core/database_api.php Diff File