views:

226

answers:

5

I'm drawing a blank, or as some would say, having a senior moment. I know there’s a formal definition and a name for the concept where a db operation (stored procedure) that runs in a database will yield the same results if run repeatedly.

It's something in the genre of the Mathematician’s reflexive, symmetric, transitive, etc.

+7  A: 

IT's called idempotent

Scott Wisniewski
I think of idempotent to mean "doesn't change anything". As in GET vs. POST (at least ideally. :))
le dorfier
Scott Wisniewski
+1  A: 

Or perhaps deterministic.

le dorfier
ouch you beat me to it for a tenth of a second. Let the downvote wars begin. =)
Sergio Acosta
I deleted my answer because it was exactly the same as yours. however that Kibbee guy (or girl) will beat you for verbosity.
Sergio Acosta
Yeah, I could have won the speed race, but I wanted to make my answer a little more complete. BTW, I'm a guy.
Kibbee
:D @Kibbee could s/work/word/, but then your position would drop. A quamdary.
le dorfier
+1  A: 

I'm pretty sure you're thinking of the work "Deterministic". A function is deterministic if it returns the same answer for the same inputs all the time. A function is nondeterministic if it can return different answers for the same input.

Kibbee
+5  A: 

Do you mean "deterministic" - as in will always return the same result if called with the same input?

Or maybe "idempotent", which also means that calling the function again will have no further effect on the database.

Blorgbeard
+2  A: 

I think what you're looking for is Idempotent. Idempotence is a property that can apply to any sort of operation (not just databases). It means that doing the operation any number of times more than once is equivalent to doing it once. I.e. every subsequent operation after the first leaves the state unchanged.

For example, the play button on most DVD remotes is idempotent while playing a video because no matter how many times you push it, it keeps playing. However a power button on your remote is usually not idempotent, because it toggles the machine on and off each time. Idempotence is a nice property because you don't always have to know what state a system is in before engaging an operation to try to produce a given state.

Dave L.