View Issue Details

IDProjectCategoryView StatusLast Update
0012152mantisbtdb oraclepublic2015-03-16 19:18
Reporterdfletcher Assigned Todregad  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
PlatformLinuxOSUbuntu AMD64 bitOS Version10.0.4
Product Version1.2.1 
Target Version1.3.0-beta.1Fixed in Version1.3.0-beta.1 
Summary0012152: Indexes already created
Description

CREATE INDEX idx_project_id ON m_project_tbl (id);
ORA-01408: such column list already indexed

CREATE INDEX idx_email_id ON m_email_tbl (email_id);
ORA-01408: such column list already indexed

ALTER TABLE m_user_pref_tbl MODIFY(redirect_delay NUMBER(10) DEFAULT 0 NOT NULL);
ORA-01442: column to be modified to NOT NULL is already NOT NULL

Note, I changed the prefix and suffix names (mantis and _table) so all table names would be < 30 character per Oracle requirements

Additional Information

Mantis 1.2.1
Fresh install on Oracle 10g
Oracle OCI8

Checking your installation
Database Type (adodb) oci8
Database Provider (adodb) oci8
Database Server Description (adodb) Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production With the Partitioning, OLAP and Data Mining options
Database Server Description (version) 10.2.0.3.0
magic_quotes_gpc
include_path /usr/share/mantis/mantisbt-1.2.1/core/:/usr/share/mantis/mantisbt-1.2.1/library:.:/usr/share/php:/usr/share/pear

TagsNo tags attached.

Relationships

child of 0013227 closeddregad Oracle DB support multiple issues 

Activities

dfletcher

dfletcher

2010-07-09 16:15

reporter   ~0026043

PHP 5.3.2-1ubuntu4.2

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