View Issue Details

IDProjectCategoryView StatusLast Update
0010437mantisbtchange logpublic2015-03-16 18:51
Reporterdamien_bAssigned Todregad 
Status closedResolutionfixed 
Product Version1.1.7 
Target Version1.3.0-beta.1Fixed in Version1.3.0-beta.1 
Summary0010437: APPLICATION WARNING #403: Database field "description" not found.

On Mantis 1.1.7 with an Oracle database (and at least up to 1.1.2), when going to changelog_page.php, the message
APPLICATION WARNING #403: Database field "description" not found.
appears for every version without a description. That is because there is no such thing as an empty string in Oracle.
So, in version_api.php in function version_get_field,
if ( isset( $row[$p_field_name] ) ) {
should be instead
if ( array_key_exists ( $p_field_name, $row ) ) {

TagsNo tags attached.


child of 0013227 closeddregad Oracle DB support multiple issues 




2009-05-01 13:43

reporter   ~0021744

This sounds more like an issue with ADOdb's handling of Oracle. Could you please try testing against the latest nightly builds [1] for 1.2.x? It includes a newer release of ADOdb, and would be nice to report any issues with it.





2009-05-03 14:28

reporter   ~0021765

It's not really an issue with ADOdb: the field is present in the array, associated to a NULL value, which is the correct semantic. On the other hand, testing for the presence of a key inside an array with isset is not semantically correct.



2009-05-03 17:10

reporter   ~0021766

Reminder sent to: grangeway

Paul, since you're the database guy, can you take a look into this? Cheers.



2009-09-29 12:58

reporter   ~0023044

Same problem in custom_function_default_print_column_value:
if ( isset( $p_issue_row[$p_column] ) ) {
echo $t_column_start . $p_issue_row[$p_column] . $t_column_end;
} else {
echo $t_column_start . '@' . $p_column . '@' . $t_column_end;

The test is wrong, it must be:
if ( array_key_exists( $p_column, $p_issue_row ) ) {

Related Changesets

MantisBT: master 2ce60e47

2011-08-10 12:34:07


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:
mod - admin/install.php Diff File
mod - admin/schema.php Diff File
mod - core/database_api.php Diff File

Issue History

Date Modified Username Field Change
2009-04-30 11:50 damien_b New Issue
2009-05-01 13:43 jreese Note Added: 0021744
2009-05-01 13:43 jreese Status new => feedback
2009-05-03 14:28 damien_b Note Added: 0021765
2009-05-03 17:10 jreese Note Added: 0021766
2009-09-29 12:58 damien_b Note Added: 0023044
2011-08-09 11:55 dregad Relationship added parent of 0013227
2013-10-17 12:08 dregad Changeset attached => MantisBT master 2ce60e47
2013-10-17 12:51 dregad Target Version => 1.3.0-beta.1
2013-10-17 12:52 dregad Status feedback => resolved
2013-10-17 12:52 dregad Fixed in Version => 1.3.0-beta.1
2013-10-17 12:52 dregad Resolution open => fixed
2013-10-17 12:52 dregad Assigned To => dregad
2014-12-08 00:34 vboctor Status resolved => closed
2015-03-16 18:51 dregad Relationship replaced child of 0013227