View Issue Details

IDProjectCategoryView StatusLast Update
0011276mantisbtdb oraclepublic2015-03-16 19:18
ReporterbobAssigned Todregad 
PrioritynormalSeveritymajorReproducibilitysometimes
Status closedResolutionfixed 
Product Version 
Target Version1.3.0-beta.1Fixed in Version1.3.0-beta.1 
Summary0011276: db_param sometimes creating duplicate
Description

Especially in filter_api.php as this is run in the background.
db_param can generate duplicate parameter binding, ie: see picture.

Additional Information

probable fix is to create a private db_param that only filter_api.php uses
with its own global variable.

TagsNo tags attached.

Relationships

child of 0013227 closeddregad Oracle DB support multiple issues 

Activities

bob

bob

2009-12-08 23:25

reporter  

mantis_oracle_bug2.png (31,096 bytes)
mantis_oracle_bug2.png (31,096 bytes)
bob

bob

2009-12-09 14:43

reporter   ~0023889

You will noticed the :0 is repeated twice.
In this case they should be different variables, ie: :0 and :1. In Oracle even if it refers to the same variable where the :0 is repeated, the variable in the array list would also have to be repeated.

Related Changesets

MantisBT: master 2ce60e47

2011-08-10 12:34:07

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
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-12-08 23:25 bob New Issue
2009-12-08 23:25 bob File Added: mantis_oracle_bug2.png
2009-12-09 14:43 bob Note Added: 0023889
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 new => 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-04-12 19:39 grangeway Issue cloned: 0017205
2014-12-08 00:34 vboctor Status resolved => closed
2015-03-16 19:18 dregad Relationship replaced child of 0013227