Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Boards and Streets

PQL simulates complete runouts, so it always has a concept of “current street” based on how many cards you provided in board=.

Streets

StreetBoard sizeCards sampled each trial
Preflop0flop + turn + river
Flop3turn + river
Turn4river
River5none — deterministic

Referencing Streets in Functions

Many functions take a street argument so you can ask about the board as it will look on a future street:

select avg(boardsuitcount(river))
from   hero='As9s', villain='*', board='2s3sJh', game='holdem'

Here river refers to the completed 5-card board, even though the simulation starts on the flop.

Typical street selectors accepted by board-aware functions:

  • flop — the first three community cards
  • turn — the fourth card
  • river — the fifth card (or the complete 5-card board, depending on the function)

Fixed Boards

If board is a full 5-card string, no cards are sampled. The query becomes a deterministic evaluation, useful for checking concrete spots.

Dead Cards

Any card in hero, villain, or board is removed from the deck for the rest of the deal. This prevents impossible combinations from being generated.