phpgroupware-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Phpgroupware-developers] Re: SV: sitemgr - setup


From: Chris Weiss
Subject: Re: [Phpgroupware-developers] Re: SV: sitemgr - setup
Date: Mon, 27 Jan 2003 20:33:06 +0000

address@hidden wrote*:
>
>Sigurd makes two comments on sitemgr in HEAD CVS.
>
>> 1) The name 'view' in the table 'phpgw_sitemgr_content' is a reserved
>> word for mssql database
>
>and Chris replies:
>
>> do you have an all encompassing list of reserved words for all current and 
>> future
>> RDBMS's?  i didn't think so.  This is why each RDBMS provides a way to use
reserved
>> words as field and table names, MySql's is `reserved` MSSQL is [reserved].
>
>I do not fully understand what your reply implies, Chris. Does it
>mean, that the problem Sigurd has when using sitemgr with MSSQL should
>be resolved in class.db_mssql.inc.php and that there should be no
>restrictions on any reserved words for phpgw applications?

i don't think this is something that the API can handle, and I don't know how to
completely prevent the use of reserved word from other db's.  I don't think 
there
is a way at all.

>
>> 2) The datatype "auto" for  'module_id' in table
>> 'phpgw_sitemgr_active_modules' makes it difficult (mssql) to insert
>> default values during install. - why not define the type as int and have
>> a next_id function
>
>You are right. This is a bug. In this context, auto does not make
>sense, since in table phpgw_sitemgr_active_modules module_id actually
>is a foreign key. Apparently this is no problem for MySQL. I will
>correct this immediately. Thanks.
>

This can be handled by the API.
First, auto makes perfect sence because the API translates it to each DB's
int+increment syntax.  All of the datatypes in schemaproc are translated to the
best fit for each database it supports.

Second, MSSQL does allow identity inserts, you just have to exec "SET
IDENTITY_INSERT tablename ON" first, then exec "SET IDENTITY_INSERT tablename 
OFF"
when you're done.  MySql, much like UNIX, just assumes that you know what you're
doing where MSSQL, much like Windows, assumes that you're a moron.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]