Bug 189947 (bz-oracle)

Allow Bugzilla to work with Oracle

RESOLVED FIXED in Bugzilla 3.2

Status

()

--
enhancement
RESOLVED FIXED
16 years ago
11 years ago

People

(Reporter: nhajratw, Assigned: lance.larsh)

Tracking

unspecified
Bugzilla 3.2
Dependency tree / graph
Bug Flags:
blocking3.1.3 +
blocking3.0 -

Details

(Whiteboard: [roadmap: 3.2])

Attachments

(1 attachment)

(Reporter)

Description

16 years ago
User-Agent:       Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; T312461; F-5.5SP2-20011022; F-5.0.1-20000221; YComp 5.0.0.0; .NET CLR 1.0.3705)
Build Identifier: 

I searched through all the bugs and didn't find anything that specifically 
addresses Oracle.  Adding Oracle support would be nice, as many enterprises are 
standardized on Oracle and it would make Bugzilla more palatable if it could 
use existing infrastructure.

Hopefully this will be easier with the implementation of bug #173130.

Reproducible: Always

Steps to Reproduce:
1.
2.
3.
I'm surprised we didn't already have this in the database somewhere, but you're
right.

Just FYI, Bugzilla will require Oracle 9i if this is done.  The amount of effort
required to support Oracle 8 would be hard to justify (Oracle 8 doesn't support
ANSI JOINs).
Assignee: zach → nobody
Status: UNCONFIRMED → NEW
Component: Installation & Upgrading → Bugzilla-General
Ever confirmed: true
I am currently, with some Oracle DBAs at work, attempting to get an Oracle 
schema done on 9.2.0.4.0.  Should take me a few days.
This link seems to be RH's work to do the same thing.  Perhaps it's usable here?
 I stumbled on it accidentally via an out of control wget (my bad) when grabbing
the pgsql bz.  

I think it's 2.17.1 .  The PG one was.

http://bugzilla.redhat.com/download/bugzilla-oracle-LATEST.tar.gz
No it isn't usable anymore.

1) It is a gross hack from a database administrator point of view.
2) It's outdated versus the new schema and code which is in place.

Comment 5

16 years ago
has anyone resolved this yet? I am currently deciding on a bug database to 
setup and I want to use bugzilla but would also love to use the oracle database 
as it is the defacto standard in here
For the record (comment 8) RedHat's Oracle version of Bugzilla is based on
Bugzilla version 2.8, and yes, it's a major hack. :)

As far as I know, nobody's done this with a recent version of Bugzilla.  The
stuff  being done for Sybase will help immensely (someday when it gets checked
in).  Once that's in, you could *probably* make the app work on Oracle 9i and up
with changes to one file (not counting getting the DB schema set up).

Updated

15 years ago
Depends on: 248001
(In reply to comment #4)
> No it isn't usable anymore.
> 
> 1) It is a gross hack from a database administrator point of view.

I wouldn't say it was gross, but it was a hack ;) 

> 2) It's outdated versus the new schema and code which is in place.

As Dave pointed out earlier, it was based on 8i and that version did not support
proper ANSI JOIN's so therefore all of the if/else clauses were necessary as
well as a mostly differently buglist.cgi script. 

The PostgreSQL patch along with DBcompat.pm (bug 98304 and bug 237862
respectively) should help this along as well.

Comment 8

15 years ago
(In reply to comment #6)
> As far as I know, nobody's done this with a recent version of Bugzilla.

I have a working Bugzilla implementation running over Oracle.  I set the schema
up basically from scratch, figuring I could get back to that later.

I can post my changes, but I started with the DBcompat/Postgres patched version,
so it'd make things much simpler to incorporate that patch first.

Currently everything works except 'My Requests' and graphical reports (and, of
course, all the stuff I've missed).

Updated

15 years ago
Depends on: 146679, 174295, 182136, 237862

Updated

15 years ago
Depends on: 248175
Should we add bug 98304 as a blocker for this as well since the Oracle patch is
based on the code attached there?

Comment 10

15 years ago
This patch includes all the changes from the Postgres patch, updates them to
the latest CVS, and adds Oracle support.

I have not tested this with mysql/Postgres, nor done any super-detailed
testing, documentation updating, etc., but it generally seems to work.

Updated

15 years ago
Depends on: 250832

Updated

15 years ago
Depends on: 250547

Updated

15 years ago
Depends on: 253357

Updated

15 years ago
Depends on: 253360

Updated

14 years ago
Depends on: 280493

Updated

14 years ago
Depends on: 283076
Hey Jeff, now that bug 237862 has been checked in, do you want to create a
Bugzilla::DB::Oracle module?

I can't guarantee that we'll have even experimental Oracle support before 2.22,
but we could start working some stuff up and doing some reviews.

You should be able to use Bugzilla/DB/Pg.pm as a base to start with.

If we had some reviewers who knew anything about Oracle, that would help. :-)
Maybe we do, and I just don't know who they are...
Assignee: nobody → jdubrule
Target Milestone: --- → Bugzilla 2.24

Comment 12

14 years ago
I could help with Oracle issues, unfortunately I know too little about perl and
even less about mysql...
(In reply to comment #12)
> I could help with Oracle issues, unfortunately I know too little about perl and
> even less about mysql...

  OK, well, keep watching this bug then, and if we have Oracle questions feel
free to chime in. :-)
We now have a Bugzilla::DB and Bugzilla::DB::Schema
infrastructure for Bugzilla that should make porting Bugzilla to new databases
pretty easy.

The more ANSI-compliant Ingres is, the easier it should be.

Basically, what you need to do is implement a subclass of Bugzilla::DB and
Bugzilla::DB::Schema. You can look at Bugzilla::DB::Pg and
Bugzilla::DB::Schema::Pg as samples.

If you have any questions, you can ask them on the developers list, and I'll try
to get back to you. (I'm in charge of the general cross-database Bugzilla
effort.) Tomas and Ed (who I've CC'ed on this bug) are the original authors of
Bugzilla::DB and Bugzilla::DB::Schema (respectively).

There's always a (very small) chance that if you get your changes in fairly
quickly, they'll make it to 2.20. Otherwise, I'd totally accept submissions and
try to get them into 2.22! :-)
Target Milestone: Bugzilla 2.24 → Bugzilla 2.22
I worked with Oracle for a couple years at a previous job.  I probably wouldn't
be able to test much, but I could certainly help review things.

Comment 16

14 years ago
I'd like to help out with this as well.  We are a mostly Oracle shop, and I'm
relatively familiar with the DB (been working with it for about 4 yrs), from
Oracle 8i to 10g.  

I'm not a huge perl programmer, but I can read through it and debug it.

If anyone has an Oracle schema built (the .pm files?), please send and I will
start working on it in my spare time.
  Hey Frank! I'm Max; I'm in charge of the general cross-database development
effort for Bugzilla.

  If you want to get involved, probably the best thing to do is get on IRC on
irc.mozilla.org and come into #mozwebtools and talk to me (mkanat) if I'm
around. :-)

  Otherwise, the best thing to do is to look at the code in Bugzilla/DB.pm and
Bugzilla/DB/Pg.pm and see if you can come up with sometime that will work on
Oracle. Even if you don't know the perl code, just looking at the all the
functions named "sql_" and figuring out what they should return for Oracle would
be a huge help to us. :-)

  And then, of course, the challenge is to make it actually be able to *create*
a Bugzilla database.

  You'd need a Bugzilla/DB/Schema/Oracle.pm, like Bugzilla/DB/Schema/Pg.pm.

  Basically, it's just a long series of "see how it breaks, fix it." :-)

  If you have any questions about the process, though, you can feel free to ask
me. :-)
FYI, I just got an email from Wim Coekaerts, Director of Linux Engineering at
Oracle Corporation, confirming that Oracle intends to implement and support this
for us. :)  They're still getting up to speed on it, so there's no timeline yet.
(Assignee)

Updated

14 years ago
Depends on: 305976

Updated

14 years ago
Assignee: jdubrule → lance.larsh
(Assignee)

Updated

14 years ago
Depends on: 307764
(Assignee)

Updated

14 years ago
Depends on: 307804
(Assignee)

Updated

14 years ago
Depends on: 308717
(Assignee)

Updated

14 years ago
Depends on: 309663
(Assignee)

Updated

14 years ago
Depends on: 309680

Updated

14 years ago
Depends on: 310717

Updated

14 years ago
Depends on: 310718
(Assignee)

Updated

14 years ago
Depends on: 312349
(Assignee)

Updated

14 years ago
Depends on: 312508
(Assignee)

Updated

14 years ago
Blocks: 313209
(Assignee)

Updated

14 years ago
No longer blocks: 313209
Depends on: 313209
(Assignee)

Updated

14 years ago
Depends on: 314795

Comment 19

14 years ago
The trunk is now frozen to prepare Bugzilla 2.22. Enhancement bugs are retargetted to 2.24.
Target Milestone: Bugzilla 2.22 → Bugzilla 2.24

Updated

13 years ago
Blocks: 330700

Comment 20

13 years ago
lance, any progress? The trunk is now opened again.

Updated

13 years ago
QA Contact: mattyt-bugzilla → default-qa

Updated

13 years ago
No longer blocks: 330700

Comment 21

13 years ago
This bug is retargetted to Bugzilla 3.2 for one of the following reasons:

- it has no assignee (except the default one)
- we don't expect someone to fix it in the next two weeks (i.e. before we freeze the trunk to prepare Bugzilla 3.0 RC1)
- it's not a blocker

If you are working on this bug and you think you will be able to submit a patch in the next two weeks, retarget this bug to 3.0.

If this bug is something you would like to see implemented in 3.0 but you are not a developer or you don't think you will be able to fix this bug yourself in the next two weeks, please *do not* retarget this bug.

If you think this bug should absolutely be fixed before we release 3.0, either ask on IRC or use the "blocking3.0 flag".
Target Milestone: Bugzilla 3.0 → Bugzilla 3.2

Comment 22

13 years ago
has anyone resolved this yet? I am currently deciding on a bug database to 
setup and I want to use bugzilla but would also love to use the oracle database 
as it is the defacto standard in here

Comment 23

12 years ago
What is inside Bugzilla code that is database specific? ANSI SQL is ANSI SQL, so what causes knowledge about what ANSI compatible database engine is used? Is there no wrapper library which encapsulates the driver calls to a common API similiar to what ODBC does?

Does Perls also do low level communication with different APIs for each database engine like PHP unfortunately does instead of using an actraction layer with a common API identical to all supported database engines?

Comment 24

12 years ago
Georg: Please look at the bugs this bug depends on. We use one interface (DBI). However, there are always things a database does differently.

Comment 25

12 years ago
For those interested, Oracle have said on the developers list, "We at Oracle corp are working on [support for Oracle] and currently in the testing phase. More details will follow in the coming days."

Updated

12 years ago
Flags: blocking3.0?
This isn't a blocker for 3.0--we're already frozen for 3.0.
Flags: blocking3.0? → blocking3.0-

Updated

12 years ago
Whiteboard: [roadmap: 3.2]

Updated

12 years ago
Depends on: 374024

Comment 27

12 years ago
Would be nice to have a way to migrate from a db to another, by having each db implementation support export and import from a common text/xml format. This way existing MySql users could migrate to Oracle.
(In reply to comment #27)
> Would be nice to have a way to migrate from a db to another,

  This is already possible--see contrib/bzdbcopy.pl.

Comment 29

12 years ago
Would be nice to have a Bugzilla using the Oracle Database 10g Express, the free version of Oracle´s DBMS. 
Anyone here knows were can I download the Red Hat Bugzilla? 
(ftp://people.redhat.com/dkl/ isn´t working anymore)

Comment 30

12 years ago
felipe - you can try http://people.redhat.com/~dkl/

Comment 31

12 years ago
(In reply to comment #30)
> felipe - you can try http://people.redhat.com/~dkl/

the link to redhat bugzilla is broken...

Updated

12 years ago
Flags: blocking3.1.2?
Yes, this is our primary goal for 3.1.2, a basic functioning Oracle driver.
Flags: blocking3.1.2? → blocking3.1.2+

Updated

12 years ago
Flags: blocking3.1.2+ → blocking3.1.3+
I wholeheartedly think that this is a noble goal for 3.2, but I would like it not to block any release, if possible.

Updated

12 years ago
Flags: blocking3.2+

Updated

11 years ago
Depends on: 408032

Updated

11 years ago
Depends on: 408037

Updated

11 years ago
Depends on: 408172

Updated

11 years ago
No longer depends on: 283076

Updated

11 years ago
Flags: blocking3.2+

Updated

11 years ago
Status: NEW → RESOLVED
Last Resolved: 11 years ago
Depends on: 411832
Resolution: --- → FIXED
Oops, I accidentally marked this bug FIXED before the final bug was fixed. However, it is now FIXED for our purposes.

All of the basic functionality of Bugzilla should now be working under Oracle. Any users of Bugzilla under Oracle are advised that some features are known not to work. You can search for bugs with [Oracle] in the summary to see what we currently know.

Also, currently upgrades do not work. So until upgrades work, you cannot upgrade to any new version (even a cvs update) on an Oracle installation of Bugzilla.

Oracle support should be considered unstable, and should only be used in test environments. Any person using Oracle in production with Bugzilla is likely, at this time, to run into quite a bit of trouble and I'd strongly advise against it.

Updated

11 years ago
Keywords: relnote
Added to the Bugzilla 3.2 release notes in bug 432331.
Keywords: relnote
You need to log in before you can comment on or make changes to this bug.