<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1226" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>hi all,</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>following this dbal-thread a few days i like to 
introduce a new idea to<BR>solve your problems with supporting oracle and mssql 
by typo3.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>actually typo3 could never be migrated to another 
sql-dialect than mysql.<BR>most of the developers wouldnīt support it and it 
would causes endless<BR>efforts of developement and versiontrouble.<BR>in my 
opion we need a solution without changing tons of lines of code 
of<BR>typo3.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>goals should be:<BR>- donīt change any existing 
code manually<BR>- avoid any kind of technical risks for current users<BR>- 
donīt cause any version trouble<BR>- donīt cause licence issues<BR>- keep 
freedom in our lovely community ;-)</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>so i suggest to parse mysql-statement at runtime 
and "reformat" to a<BR>specific sql-dialect (e.g. oracle).<BR>typo3 might be run 
in a mysql-emulation-environment for oracle.<BR>it sounds naively, but think 
about it...</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>mysql uses - more-or-less - simple 
sql-statements.<BR>until now mysql doesnīt support views, subselects, functions, 
etc.<BR>there are no significant properitaer sql-extensions like other databases 
use<BR>(especially oracle).<BR>lets continue with oracle...</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>we would have a real chance to support oracle with 
a small emulation-<BR>library. emulation has to process sql on syntax level. 
semantic analysis <BR>would not required.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>emulation does:<BR>- abstract datatype to specific 
datatypes (e.g. tinytext to varchar2)<BR>- emulates autoincrements for primary 
keys<BR>- emulates timestamps<BR>- resolve reserved words (e.g. user to 
_user)<BR>- map sql-specific functions (e.g. date conversions, string 
operations)<BR>- process commits after each statment (autocommit)<BR>- manage 
advanced ddl-operations (like rename column)<BR>- map databases 
errors</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>emulation has to be include in every typo3 class 
and installer as common<BR>include. all mysql-systemcalls has to been redirected 
to dbal. <BR>this can be done "generic". <BR>type of database has to be define 
during first usage of installer and could<BR>never be changed later 
on.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>additional i like to suggest:<BR>- oracle has to 
use mysql-like, non-default sort order (CaseInSensitive,<BR>&nbsp; defined 
during installation).<BR>- only one charset should be supported (no UTF-8, 
ISO-8859-nn).<BR>- for quality insurance reasons: extensions should be certified 
by a<BR>&nbsp; DBAL-competence-team</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>... and at least, we might need major no changes in 
documentation ;-)</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>i think i could do this job. </FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>what do you think about this idea?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>marc<BR></FONT></DIV></BODY></HTML>