Search

Deprecate TIMESTAMP (the keyword, not ROWVERSION itself) by AaronBertrand

Active

36
0
Sign in
to vote
Type: Suggestion
ID: 274333
Opened: 4/27/2007 1:56:42 PM
Access Restriction: Public
0
Workaround(s)
If we can't deprecate this synonym for ROWVERSION, then we need to get better at telling the story that this data type does not store any date or time information. I am constantly coming across users who do this:

CREATE TABLE dbo.foo
(
bar INT,
[timestamp] TIMESTAMP
);

And then expect to do:

INSERT dbo.foo SELECT 1, GETDATE();

This unfortunately named synonym needs to be phased out, because users are not getting any smarter about it.
Details (expand)
Product Language
English

Category

SQL Engine

Proposed Solution

- documentation needs to put "NO DATE OR TIME DATA HERE" in big, bold, flashing red text
--
- best practices analyzer should identify all such usage and recommend using ROWVERSION instead
--
- eventually we should not allow declarations of TIMESTAMP except in backward compatibility mode. Or at least have that be the default behavior and a flag to override the behavior (like snapshot isolation or vardecimal storage)

Benefits

Other (please provides details below)
Improved Performance
Improved Administration
Improved Reliability

Other Benefits

Fewer users having to rebuild their tables.
File Attachments
0 attachments
Sign in to post a comment.
Posted by Microsoft on 12/13/2007 at 4:39 PM
Dear Aaron

Thanks for your feedback. We agree that the original naming of this type was unfortunate (and we can blame our predecessors ;-)). Especially since the name is used in the SQL standard for date/time datatypes.

We are going to look into how we can address this issue in a backwards-compatible way in the upcoming releases.

Please keep the votes coming.

Thanks
Michael
Sign in to post a workaround.