View Full Version : Vbulletin and ORACLE DB
Nickolay2
Thu 15th May '03, 2:31pm
I want to purchase VB. Three questions. Is it work with ORACLE data base? If not so, can I change VB code to allow it to work with ORACLE?
Is it possible to synchronize VB users list with my sites userslist and use my own register form?
PS. Sorry for my bad english :-)
With best regards,
Nickolay K. Ganichev, info@3dvim.com,
head of IT department, http://www.3dvim.com, ACE ltd., Perm, Russia.
Steve Machol
Thu 15th May '03, 2:37pm
vB currently only works with MySQL. Modifying it for Oracle you require extensive hacking of all the vB files.
And intergrating the user list with an outside application would also require hacking.
Nickolay2
Thu 15th May '03, 2:50pm
Does an "extensive hacking" correspond with your licence agreement? And can you tell more precisely about hacking?
WetWired
Thu 15th May '03, 3:28pm
Does an "extensive hacking" correspond with your licence agreement? And can you tell more precisely about hacking?
Relative to vB, hacking means making modifications to the release code. The licence aggeement allows you to modify the source as you like; however, hacked boards (boards with code modifications) are not supported on these forums. There is an extensive comunity of vB hackers that share and help with hacks at http://www.vbulletin.org/forum
Steve, if modifications need to be made everywhere, what is the point of the db abstraction file and the system you guys have for easily using a different one?
Steve Machol
Thu 15th May '03, 3:33pm
You'll have to ask a Dev. If porting vB to Oracle and other dbs was an easy job, then we would have done this a long time ago.
Scott MacVicar
Thu 15th May '03, 3:38pm
The modifications will be on the SQL syntax not on the actual file since alot of systems use different standards. The most obvious being the way to select X number of rows.
This gets the first 10 rows.
MySQL
SELECT column FROM table LIMIT 0, 10
PostGreSQL
SELECT column FROM table LIMIT 10 OFFSET 0
MSSQL - doesn't support offset without stored procedues
SELECT TOP 10 column FROM table
Nickolay2
Thu 15th May '03, 4:31pm
"SELECT column FROM table LIMIT 0, 10"
is deprecated at all. It's not relational SQL. More better is
"SELECT column FROM table LIMIT 0, 10 ORDER BY column2".
But using "LIMIT" instruction is deprecated too. As "Codd's 12 Rules" talk.
More better is use "SELECT column FROM table WHERE column2>1 AND column2<=10" it will work on MYSQL too.
But, ignoring this theory, we can write "SELECT column FROM table WHERE ROWNUM>1 AND ROWNUM<=10" for ORACLE.
This way.
PS. big sorry for my english...
PPS. Your forum software is very cool, i mean. Probably it was very hard to write it on PHP. More better was to write it on C++ or JAVA... JSP? But compatibility... It is clear. :-)
Wayne Luke
Thu 15th May '03, 4:43pm
MySQL doesn't allow for selections by row numbers. The limit clause is just one example of where the two systems differ. There are a lot more.
With MySQL, we require a lot of joins in the code because it currently doesn't allow VIEWS in the database. In Oracle, these joins could be made into VIEWS and be a lot more resource friendly.
With MySQL, there are no atomic updates by default. In fact by default it doesn't even account for row-level locking which means you have to think out every query to prevent conflicts. Currently the default table type in MySQL only allows for table-level locking.
There are no such things as sub-selects in MySQL as you know them so that effects how some queries were written. MySQL also does not support concurrent views, rollbacks, stored procedures and many other things. Even with that there are differences in datatype names, how it handles varchars, blobs (it actually stores them in the table whereas Oracle stores them in the filesystem). MySQL handles indexes differently and there are no functioning foreign keys in the default table type. Which means no cascading integrity or enforcing data rules. All that is done in the actual PHP code.
In order to optimize vBulletin for Oracle, you would want to take advantage of these things and account for how Oracle acts with the data. This would result in very extensive changes, not only to the query layout themselves but the PHP code designed to handle those queries.
Nickolay2
Thu 15th May '03, 5:02pm
Oh... There is no happiness in this world... :-)
Odysseus
Thu 15th May '03, 6:44pm
Codd's 12 Rules
Talking about Codd's rukes any MySQL in the same sentence ist somehow ... funny. :)
According to Codd, MySQL is not even a real DBMS. At least MySQL 3 is not. I'n not sure which aspects have been implemented into MySQL 4.
Nickolay2, I don't think that you should try to make vBulletin run on Oracle. After adapting, there wouldn't be much left of the real vBulletin. :)
vB was designed for mainstream webhosting platforms, which happen to be some combination of the two open source projects PHP and MySQL. If there was a real market for Oracle-driven Bulletin Boards accessible from the internet, there would yet be one. But afair ther is NO one ...
vBulletin® v3.8.0 Beta 3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.