Starting with SQL Server 2019, does compatibility level no longer influence cardinality estimation?

In SQL Server 2017 & prior versions, if you wanted to get cardinality estimations that matched a prior version of SQL Server, you could set a database’s compatibility level to an earlier version.

For example, in SQL Server 2017, if you wanted execution plans whose estimates matched SQL Server 2012, you could set the compatibility level to 110 (SQL 2012), and get execution plan estimates that matched SQL Server 2012.

This is reinforced by the documentation, which states:

Changes to the Cardinality Estimator released on SQL Server and Azure SQL Database are enabled only in the default compatibility level of a new Database Engine version, but not on previous compatibility levels.

For example, when SQL Server 2016 (13.x) was released, changes to the cardinality estimation process were available only for databases using SQL Server 2016 (13.x) default compatibility level (130). Previous compatibility levels retained the cardinality estimation behavior that was available before SQL Server 2016 (13.x).

Later, when SQL Server 2017 (14.x) was released, newer changes to the cardinality estimation process were available only for databases using SQL Server 2017 (14.x) default compatibility level (140). Database Compatibility Level 130 retained the SQL Server 2016 (13.x) cardinality estimation behavior.

However, in SQL Server 2019, that doesn’t seem to be the case. If I take the Stack Overflow 2010 database, and run this query:

CREATE INDEX IX_LastAccessDate_Id ON dbo.Users(LastAccessDate, Id); GO ALTER DATABASE CURRENT SET COMPATIBILITY_LEVEL = 140; GO SELECT LastAccessDate, Id, DisplayName, Age   FROM dbo.Users   WHERE LastAccessDate > '2018-09-02 04:00'   ORDER BY LastAccessDate; 

I get an execution plan with 1,552 rows estimated coming out of the index seek operator:

SQL 2017, compat 2017

But if I take the same database, same query on SQL Server 2019, it estimates a different number of rows coming out of the index seek – it says “SQL 2019” in the comment at right, but note that it’s compat level 140:

SQL 2019, compat 2017

And if I set the compatibility level to 2019, I get that same estimate of 1,566 rows:

SQL 2019, compat 2019

So in summary, starting with SQL Server 2019, does compatibility level no longer influence cardinality estimation the way it did in SQL Server 2014-2017? Or is this a bug?

Does changing my hostname has any influence on uncomplicated firewall (UFW?

I changed my hostname in /etc/hosts and in /etc/hostname and I had problems to connect my squeezebox clients to the server since then. I am not sure if both are related but I have not other idea. When I disabled the firewall everything worked fine. But the firewall had all relevant ports open and it worked well before I changed hostnames.

Using Causal Influence Diagrams for Plots and Quests

I’m analysing the possible outcomes of certain plots in my campaign. At some point I realised that keeping the possible causes and effects in purely text form was inconvenient. Luckily, thanks to an article that I rediscovered thanks to an answer on this very stack, I know the term for the more visual tool that helps handling them: causal influence diagrams.

However, I soon discovered that it’s still not always easy to keep all the information visible and distinguishable, without relying on huge notes or keeping all of the relations between elements in mind.

Is there an already developed/established convention of conveying element types and relations in causal diagrams, concisely conveying such information through the graph? If there aren’t widespread conventions, does anyone of you have narrower, personal experience of successfully using some way of conveying such information in a diagram for a campaign (largely relating to quests and plots)?

In case it helps answer, here are some of the key things I currently already need to keep track of (but it’s likely that I’m overlooking some):

  • Element type is a faction.
  • Element type is a quest item or items (in some cases a unique artefact, in some cases a technological thing of which some number is required and can be developed/produced).
  • Element type is an event.
  • Relation: element (faction) X produces element (item) Z.
  • Relation: element X affects element (usually item) Z.
  • Relation: element X destroys element Z.
  • Relation: element X causes event Z.
  • Relation: element X uses item Y to [any of the above].
  • Relation: only if element X is intact, event Z happens.
  • Relation: only if element X is destroyed, event Z happens.

[GET] Effortless Influence — How to Master the Art of The Sales Story

Effortless Influence — How to Master the Art of The Sales Story

Sales Page:


This is another gem of a book for copy writers / sales people – I have just started started reading it and to quote Voodoo1: "Daniel L is…

[GET] Effortless Influence — How to Master the Art of The Sales Story

Is “Reject Someone’s Influence” allowed against “Take Advantage Of Your Influence Over Someone”?

There are three normal ways to use existing Influence over someone,

  • +1 ongoing for all moves targeting them
  • “Telling them who they are or how the world works” to shift their Labels
  • “Taking advantage of your influence,” which expends the Influence, but gives you either another +1 after your roll, them a -2 after their roll, or gives them a Condition.

In the book (p80 (original edition?)) it says that you can Reject Someone’s Influence either “on your own, unprompted, or you might do it in response to a move of theirs.”

If that were all it said anywhere, I’d assume one could risk a Reject Someone’s Influence roll against any of those three—after all, it’s an option both “unprompted” or after “a move of theirs.” But the (p78 & Basic Moves sheet) description of “When someone with Infuence over you tells you who you are or how the world works” says, (emphasis mine):

accept what they say or reject their Influence. If you accept what they say, the GM will adjust your Labels accordingly; if you want to keep your Labels as they are, you must reject their Influence.

So it is spelled out there, whereas Rejecting Their Influence is not mentioned attached to the descriptions of the other two common uses of Influence, +1 ongoing and Taking Advantage.

Anything I missed in The Book that would cover this? Any outside sources? I don’t know any related games; are there clues from related Powered by the Apocalypse games, their own Epyllion or Urban Shadows, etc.?

I’m new to TTRPGs overall, but have a vague understanding there’s some unwritten rule resembling, “if it’s not in the rules, it’s not in the rules” —which would apply here if all else fails.

How do bitcoin double-spend influence on omni asssets?

I have a question about omni layer and bitcoin double-spend. I’d be very grateful if someone answered on it.

Assume that I performed a transaction tx_1 in bitcoin network from address X to adress Y and one of the outputs and its amount(546 satoshi) of bitcoin were bound with N amount of omni asset(for example Tether). So I just send possession of omni asset from address X to address Y. Then I rebound this N amount of asset with another amount of satoshi, which I had had before I sent omni bound with 546 satoshi in tx_1 to this adress. And then I sent this amount of omni asset to another adress Z by performing transaction tx_2. Then due to any reason transaction tx_1 were cancelled(double-spend). And I have a question in this case omni assets will belong adress Z or X?

Lucky Feat: How can “more than one creature spend a luck point to influence the outcome of a roll”?

Lucky is a feat that only targets either you or something that’s attacking you. How would there be more than one creature that can manipulate the outcome of the roll?

Is this only referring to if you try to alter an attacker’s roll, but they also have Lucky, and they try to change their own roll?