Closed Bug 189947 (bz-oracle) Opened 22 years ago Closed 16 years ago

Allow Bugzilla to work with Oracle

Categories

(Bugzilla :: Bugzilla-General, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
Bugzilla 3.2

People

(Reporter: nhajratw, Assigned: lance.larsh)

References

Details

(Whiteboard: [roadmap: 3.2])

Attachments

(1 file)

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.
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).
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.
(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).
Depends on: bz-dbinstall
Should we add bug 98304 as a blocker for this as well since the Oracle patch is
based on the code attached there?
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.
Depends on: 247544
Depends on: bz-postgres
Alias: bz-oracle
Depends on: 247547
Depends on: 250832
Depends on: 250547
Depends on: 253357
Depends on: 253360
Depends on: 280493
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
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.
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.
Depends on: 305976
Assignee: jdubrule → lance.larsh
Depends on: 307764
Depends on: 307804
Depends on: 308717
Depends on: 309663
Depends on: 309680
Depends on: 310717
Depends on: 310718
Depends on: 312349
Depends on: 312508
Blocks: 313209
No longer blocks: 313209
Depends on: 313209
Depends on: 314795
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
Blocks: bz-roadmap
lance, any progress? The trunk is now opened again.
QA Contact: mattyt-bugzilla → default-qa
No longer blocks: bz-roadmap
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
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
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?
Georg: Please look at the bugs this bug depends on. We use one interface (DBI). However, there are always things a database does differently.
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."
Flags: blocking3.0?
This isn't a blocker for 3.0--we're already frozen for 3.0.
Flags: blocking3.0? → blocking3.0-
Whiteboard: [roadmap: 3.2]
Depends on: 374024
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.
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)
felipe - you can try http://people.redhat.com/~dkl/
(In reply to comment #30)
> felipe - you can try http://people.redhat.com/~dkl/

the link to redhat bugzilla is broken...
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+
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.
Flags: blocking3.2+
Depends on: 408032
Depends on: 408037
Depends on: 408172
No longer depends on: 283076
Flags: blocking3.2+
Status: NEW → RESOLVED
Closed: 16 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.
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.