| bio | website | |
|---|---|---|
| location | ||
| age | 30 | |
| visits | member for | 1 year, 5 months |
| seen | 7 hours ago | |
| stats | profile views | 19 |
sql must be lowercase.
|
Dec 21 |
comment |
Inline table-valued function vs inline sqlthe overall shape is quite different -- please be more specific here. |
|
Oct 31 |
comment |
SQL Server 2008 Performance issue with very strange resolution> In order to find out what is running or going on, I have to run a batch--which makes the problem stop. SO the act of trying to observe the issue resolves it. |
|
Sep 6 |
comment |
CATCH block is triggered when it should not @AlexKuznetsov Ultimately, errors that client must see are passed to the client. But there are errors that require internal work. Passing them to the client would imply relying on the client to do that work, and that breaks the incapsulation. The database is not an exclusive data storage only used by one application. Many types of clients can connect. |
|
Sep 6 |
comment |
CATCH block is triggered when it should not Makes sense to me. The context of a try block erroneously survives, so the error functions can return their values, and another consequence would be that an error brings execution into the handler of the erroneously survived try context. |
|
Sep 6 |
comment |
CATCH block is triggered when it should not @gbn Are you saying this is a bug in 2008 that has been fixed in 2012? Is there an entry on connect? |
|
Sep 6 |
comment |
CATCH block is triggered when it should not @gbn When specifically applied to transactions, yes, it does (the template is going to be a bit more complex though, as we have sort-of-okay errors that give XACT_STATE() = 1, so we rollback to a save point and carry on). But I'm more concerned about the very principle of error handling here, even when to transactions are present. Any code after commit_and_exit: is going to execute twice. |
|
May 7 |
comment |
Associate a piece of data with a session I'm happy with a separate table as long as I can clearly tell apart live data from expired data. SPID is not really good because it is reused, but if it is only used for nightly cleaning and not for fetching data, then it's going to be fine. |
|
May 7 |
comment |
Associate a piece of data with a session I thought about that, but then we're back to the problem of cleaning up expired data? No wait, we're not. The data will not delete itself, but will not get used by any subsequent connections... Yes, that's an option. |
|
May 7 |
comment |
Associate a piece of data with a session @NickChammas Storing some information about the current user (beyond what is provided by SQL Server directly); mostly for logging, with a little bit of decision making. Not related to security. |
|
May 7 |
comment |
Associate a piece of data with a session What I meant is that there is a restriction on what can be stored as context info. 128 bytes of binary data is enough for me currently, but if I suddenly want a bit more data, it won't fit there, which is "not easily extendable." Switching the whole thing to a different mechanism will then be a pain. You suggestion is the best so far though. |
|
May 7 |
comment |
Associate a piece of data with a session I was just reading about that one when you posted the answer; Possible, but same notes apply as for app_name(). |
|
Feb 22 |
comment |
Save Transaction: Is the name local to the stored procedure or not? Right. Yes, that makes sense. The code needs another stare which it will get. But then, it's not that big, and in two days I haven't been able to find any possible way for the control flow to not hit both rollbacks, both by executing it in my head and pressing F11 repeatedly. Either someone is a moron or this needs to be properly reproduced and posted to connect. Thanks for your help. |
|
Feb 22 |
comment |
Save Transaction: Is the name local to the stored procedure or not? That is exactly what I cannot understand. If a rollback was stepped over for some reason, then surely switching to the newid() thing would not help? But it did help, and it's 100% reproducible; if I switch it back to the constant name, it is misbehaving always, and with the random name it is doing the right thing always. |
|
Feb 22 |
comment |
Save Transaction: Is the name local to the stored procedure or not? Ok. That makes sense. They are global and I've learnt that. But why does it work as naively expected in the example? Does the first rollback make it "forget" the savepoint, so that the second rollback rolls back to the previous savepoint of the same name? And if so, how came it didn't happen in production, where number of rollbacks equals number of save trans? |
|
Feb 19 |
comment |
Insert if not exists, concurrently Possible duplicate of stackoverflow.com/questions/3407857/… |
|
Feb 16 |
comment |
Filtered indices: Why include the filtered-on field? @AlexKuznetsov To enforce uniqueness ignoring null fields, yes. Sometimes for actual queries though, at which point I have to test to see what filtered columns I will need to include. |
|
Feb 15 |
comment |
Filtered indices: Why include the filtered-on field? Yes, it sometimes does the right thing. For instance, it does the right thing in regard of dismantled in my example, I don't have to include it in the index. |
|
Feb 15 |
comment |
Filtered indices: Why include the filtered-on field? @a1ex07 How is rank not part of the index? |
|
Feb 10 |
comment |
How does objectproperty() figure out if a function is deterministic in sql server? @BrianDishaw I'm not sure, to be honest. Apparently because any data-accessing function is not deterministic unless schema bound, and SQL Server expands this behaviour to functions that don't in fact access data. Maybe it's not able to see they don't. |
|
Feb 8 |
comment |
Window functions cause awful execution plan when called from a view with external parametrized 'where' clause @MartinSmith Yes, pretty much so. |