--- Comment #2 from Chris Pucci <a-cpu...@microsoft.com> 2010-01-13 22:53:24
Thanks for the comments. I've tried to address them below:
"Does it really need to duplicate every single function from DatabaseBase?
Yeah, we definitely want to minimize or remove duplication if it exists. In the
method you mentioned, there are actually some slight differences in regards to
limits and offsets which is why it was extended in the mssqlnative.php database
class. It is something to be aware of though and I will go back and ensure that
we aren't needlessly duplicating existing code.
"I also think there may be unnecessary duplication between the two mssql
database classes. Things like SQL generation can be completely shared..."
This is absolutely true with one example being the tables.sql file that is
basically identicle for the mssql and the mssqlnative drivers. There were
basically two reasons we chose to create new files for the native driver even
if they were identicle instead of simply including or pointing to the existing
mssql version. The first was to maintain the existing Mediawiki file structure
in regards each individual driver and the associated files for said driver. The
second reason was to maintain separate files in case future changes need to be
made that may affect one driver and not the other. I'm open to changing that
however if necessary though as part of our goal with submitting this patch is
to develop "in the light", so any community or project suggestions are
"What is exactly the advantage between using the two drivers?"
There are actually quite a few differences and advantages to using the Native
SQL Server driver. First, it is my understanding that community MSSQL driver is
no longer officially maintained or supported whereas the Native driver is still
in active development, is feature rich and is actively supported and
maintained. There are also a few key features that the Native driver provides
such as built-in UTF-8 support, (MSSQL driver requires a bridge for UTF-8), and
MARS support which means it is compatible with SQL Azure which is a cloud based
There are other benefits as well and full information about the Native driver
can be found here:
As for your other notes, I'll look into implementing the database::infinity
solution. I've also updated the patch file and removed some unnecessary
artifacts from testing/debugging.
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.
Wikibugs-l mailing list