Subject Re: [Firebird-general] Silly SQL Server...
Author Thomas Steinmaurer
>>> Kjell Rilbe wrote:
>>> > Now, as far as I know FB doesn't support this update ... from syntax,
>>> > but is there any other way that FB could end up mixing data from
>>> > multiple records in this subtle way instead of throwing an exception?
>>> >
>>> > Kjell
>>> >
>>>
>>> Since you will need a sub-query like
>>>
>>> update
>>> M
>>> set
>>> M.FieldA = (select FieldA from D where ...),
>>> M.FieldB = (select FieldB from D where ...)
>>>
>>> you would get "multiple records" error, this kind of update requires a
>>> single row returned
>>>
>>> So I don't think you could get such mixing with FB.
>>>
>> Thank you - I knew about that syntax for FB.
>
> Yes, I am sure you know about it... I just put it to explain the only
> way I know to acomplish the task you talked about...
>
>> Just wondered if there are
>> other ways to do it or if FB has other constructs that could suffer
>> similar mixing as SQL Server.
>>
>
> AFAIK no.
>
>> Somehow it seems typical of a Microsoft product to do strange unexpected
>> things without telling anyone... And I though other FB enthusiasts like
>> me might find this example amusing. :-)
>>
>
> So much time I stopped using MSSQL, I used version 6.5 around 1998.
>
> But I remember something strange regarding null's become magically 0's
>
> How bad a query could be executed if you have more than 5 relations joinned
>
> Just you charset/collation (dictionary) for the whole database (or would
> be for the whole server ?)
>
> Row locking promoted to page locking promoted to table locking, terrible
> if put together with bad clustered indices, well, is so easy to make the
> "end" of a table a real bottleneck, every insert blocks the other
> operations...
>
> So long ago... perhaps MSSQL is a bit better now... :)
>
> The only thing I missed when I switched from MSSQL to Firebird was an
> application/service called SQL Trace, where you can monitor in real time
> the queries and it's states, very good for debugging proposes. Our
> monitoring tables and tools like Sinatica Monitor, filled that gap...

And the gap is getting even smaller with the new Trace/Audit API in
Firebird 2.5, because here you get near real-time what happens, whereas
monitoring table based tools have to capture a snapshot periodically.



--
Best Regards,
Thomas Steinmaurer
LogManager Series - Logging/Auditing Suites supporting
InterBase, Firebird, Advantage Database, MS SQL Server and
NexusDB V2
Upscene Productions
http://www.upscene.com
My blog:
http://blog.upscene.com/thomas/