fpdb/docs/tabledesign.html

750 lines
21 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
<TITLE>Free Poker DB Tabledesign</TITLE>
</HEAD>
<BODY LANG="en-GB">
<P>See commit comments for version info, see status.txt for status.</P>
<P>Direct suggestions, praise and animal names to steffen@sycamoretest.info or check readme-overview.txt for more contacts</P>
<P>I decided to be generous on the sizes of the types - if computing experience shows one thing then its that it will come back to bite you in the ass if you save 2 bits in the wrong place. If performance and/or db size are too bad we can still shrink some fields.</P>
<p>Relationships are noted in the comment (need to double check that all are listed)</P>
<p>If you want more comments or if anything is confusing or bad let me know.</P>
<p>All money/cash amounts are stored in cents/pennies/whatever (e.g. $4.27 would be stored a 427). Chips are stored as-is (e.g. 3675 chips would be stored as 3675).</P>
<p>Notes on use/editing:</P>
<p>Any change to this must be carried to to the table creation code in fpdb_db.py or at least an entry to known bugs is to be made.</P>
<P>If the code (in particular the importer) and this document disagree then this document is to be considered authorative.</P>
<p><b>License</b><br>
Trademarks of third parties have been used under Fair Use or similar laws.<br>
Copyright 2008 Steffen Jobbagy-Felso<br>
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 as published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license can be found in fdl-1.2.txt<br>
The program itself is licensed under AGPLv3, see agpl-3.0.txt</p>
<p>See readme.txt for copying</P>
<p><B>Table Settings</B></P>
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
<TR VALIGN=TOP>
<TD><P>Field name</P></TD>
<TD><P>Type</P></TD>
<TD><P>Comment</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>version</P></TD>
<TD><P>smallint</P></TD>
<TD><P>the git version of the database (ie. table design changes and major bugfixes require a bump)</P></TD>
</TR>
</TABLE>
<p><B>Table Players</B></P>
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
<TR VALIGN=TOP>
<TD><P>Field name</P></TD>
<TD><P>Type</P></TD>
<TD><P>Comment</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>id</P></TD>
<TD><P>int</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>name</P></TD>
<TD><P>varchar(32)</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>siteId</P></TD>
<TD><P>smallint</P></TD>
<TD><P>references Sites.id</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>comment</P></TD>
<TD><P>text</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>commentTs</P></TD>
<TD><P>datetime (in UTC)</P></TD>
<TD><P><BR></P></TD>
</TR>
</TABLE>
<p><BR></P>
<p><B>Table Autorates</B></P>
<p>An autorating is a computer-&quot;recognised&quot; label/category for a player. Examples could include &quot;Calling Station&quot; if a player has &lt;20% each for aggression and folding postflop. Or &quot;Tight-Aggressive/Aggressive&quot; for players with &lt;20% VPIP, &gt;10% PFR and &gt;40% postflop aggression.</P>
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
<TR VALIGN=TOP>
<TD><P>Field name</P></TD>
<TD><P>Type</P></TD>
<TD><P>Comment</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>id</P></TD>
<TD><P>bigint</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>playerId</P></TD>
<TD><P>int</P></TD>
<TD><P>references Players.id</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>gametypeId</P></TD>
<TD><P>smallint</P></TD>
<TD><P>references Gametypes.id</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>description</P></TD>
<TD><P>varchar(50)</P></TD>
<TD><P>autorating description</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>shortDesc</P></TD>
<TD><P>char(8)</P></TD>
<TD><P>short description e.g. for display in HUD</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>ratingTime</P></TD>
<TD><P>datetime (in UTC)</P></TD>
<TD><P>timestamp of rating</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>handCount</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands rating is based on</P></TD>
</TR>
</TABLE>
<p><BR></P>
<p><B>Table Gametypes</B></P>
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
<TR VALIGN=TOP>
<TD><P>Field name</P></TD>
<TD><P>Type</P></TD>
<TD><P>Comment</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>id</P></TD>
<TD><P>smallint</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>siteId</P></TD>
<TD><P>smallint</P></TD>
<TD><P>references sites.id</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>type</P></TD>
<TD><P>char(4)</P></TD>
<TD><p>valid entries:<br>
ring - ringgames aka cash games<br>
tour - tournament incl SnG</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>category</P></TD>
<TD><P>varchar(9)</P></TD>
<TD><p>valid entries:<br>
holdem=Texas Hold'em<br>
omahahi=Omaha High only<br>
omahahilo=Omaha 8 or better<br>
razz=Razz<br>
studhi=7 Card Stud High only<br>
studhl=7 Card Stud 8 orbetter</p></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>limitType</P></TD>
<TD><P>char(2)</P></TD>
<TD><p>nl=No Limit<br>
cn=Cap No Limit<br>
pl=Pot Limit<br>
cp=Cap Pot Limit<br>
fl=Fixed Limit</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>smallBlind</P></TD>
<TD><P>int</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>bigBlind</P></TD>
<TD><P>int</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>smallBet</P></TD>
<TD><P>int</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>bigBet</P></TD>
<TD><P>int</P></TD>
<TD><P><BR></P></TD>
</TR>
</TABLE>
<p><BR></P>
<p><B>Table Sites</B></P>
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
<TR VALIGN=TOP>
<TD><P>Field name</P></TD>
<TD><P>Type</P></TD>
<TD><P>Comment</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>id</P></TD>
<TD><P>smallint</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>name</P></TD>
<TD><P>varchar(32)</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>currency</P></TD>
<TD><P>char(3)</P></TD>
<TD><P>currency code, e.g. USD, GBP, EUR</P></TD>
</TR>
</TABLE>
<p><BR></P>
<p><B>Table Hands</B></P>
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
<TR VALIGN=TOP>
<TD><P>Field Name</P></TD>
<TD><P>Type</P></TD>
<TD><P>Comment</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>id</P></TD>
<TD><P>bigint</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>siteHandNo</P></TD>
<TD><P>bigint</P></TD>
<TD><P>the site's hand number</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>gametypeId</P></TD>
<TD><P>smallint</P></TD>
<TD><P>references gametypes.id</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>handStart</P></TD>
<TD><P>datetime (in UTC)</P></TD>
<TD><P>start date&amp;time of the hand</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>seats</P></TD>
<TD><P>smallint</P></TD>
<TD><P>number of used seats (ie. that got dealt cards)</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>comment</P></TD>
<TD><P>text</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>commentTs</P></TD>
<TD><P>datetime (in UTC)</P></TD>
<TD><P><BR></P></TD>
</TR>
</TABLE>
<p><BR></P>
<p><B>Table BoardCards</B></P>
<p>cardX -&gt; can be 1 through 5</P>
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
<TR VALIGN=TOP>
<TD><P>Field Name</P></TD>
<TD><P>Type</P></TD>
<TD><P>Comment</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>id</P></TD>
<TD><P>bigint</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>handId</P></TD>
<TD><P>bigint</P></TD>
<TD><P>the site's hand number</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>cardXValue</P></TD>
<TD><P>smallint</P></TD>
<TD><P>2-10=2-10, J=11, Q=12, K=13, A=14 (even in razz), unknown/no card=x</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>cardXSuit</P></TD>
<TD><P>char(1)</P></TD>
<TD><P>h=hearts, s=spades, d=diamonds, c=clubs, unknown/no card=x</P></TD>
</TR>
</TABLE>
<p><BR></P>
<p><B>Table HandsPlayers</B></P>
<p>cardX: can be 1 through 7, one for each card. In holdem/omaha this stores the hole cards so 3-7 or 5-7 are empty</P>
<p>I did not separate this into an extra table because I felt the lost space is not sufficiently large. Also the benefit for searching is far less relevant.</P>
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
<TR VALIGN=TOP>
<TD><P>Field Name</P></TD>
<TD><P>Type</P></TD><TD>
<P>Comment</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>id</P></TD>
<TD><P>bigint</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>handId</P></TD>
<TD><P>bigint</P></TD>
<TD><P>references Hands.id</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>playerId</P></TD>
<TD><P>int</P></TD>
<TD><P>references Players.id</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>startCash</P></TD>
<TD><P>int</P></TD>
<TD><P><BR></P></TD></TR>
<TR VALIGN=TOP>
<TD><P>position</P></TD>
<TD><P>char(1)</P></TD>
<TD><p>BB=B, SB=S, Button=0, Cutoff=1, etc.</P>
<P>This is used in holdem/omaha only.</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>ante</P></TD>
<TD><P>int</P></TD>
<TD><P>note: for cash this could be boolean, but in tourneys you may enter a hand with less than the full ante</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>cardXValue</P></TD>
<TD><P>smallint</P></TD>
<TD><p>2-10=2-10, J=11, Q=12, K=13, A=14 (even in razz), unknown/no card=x</P>
<P>see note above table</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>cardXSuit</P></TD>
<TD><P>char(1)</P></TD>
<TD><P>h=hearts, s=spades, d=diamonds, c=clubs, unknown/no card=x</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>winnings</P></TD>
<TD><P>int</P></TD>
<TD><P>winnings in this hand (bets, antes, etc. are NOT deducted, but rake already is)</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>rake</P></TD>
<TD><P>int</P></TD>
<TD><P>rake for this player for this hand</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>comment</P></TD>
<TD><P>text</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>commentTs</P></TD>
<TD><P>datetime (in UTC)</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>tourneysPlayersId</P></TD>
<TD><P>bigint</P></TD>
<TD><P>references TourneysPlayers.id</P></TD>
</TR>
</TABLE>
<p><BR></P>
<P><B>Table HudDataHoldemOmaha</B></P>
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
<TR VALIGN=TOP>
<TD><P><b>Field Name</b></P></TD>
<TD><P><b>Type</b></P></TD>
<TD><P><b>Comment</b></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>id</P></TD>
<TD><P>bigint</P></TD>
<TD><P><br></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>gametypeId</P></TD>
<TD><P>smallint</P></TD>
<TD><P>references gametypes.id</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>playerId</P></TD>
<TD><P>int</P></TD>
<TD><P>references players.id</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>activeSeats</P></TD>
<TD><P>smallint</P></TD>
<TD><P>range 2-10</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>HDs</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands this player played in this gametype with this number of seats</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>VPIP</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where player paid to see flop</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>PFR</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where player raised before flop</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>PF3B4BChance</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where player had chance to 3B or 4B</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>PF3B4B</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where player 3bet/4bet before flop</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>sawFlop</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where player saw flop</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>sawTurn</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where player saw turn</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>sawRiver</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where player saw river</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>sawShowdown</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where player saw showdown</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>raisedFlop</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where player raised flop</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>raisedTurn</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where player raised turn</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>raisedRiver</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where player raised river</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>otherRaisedFlop</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where someone else raised flop</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>otherRaisedFlopFold</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where someone else raised flop and the player folded</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>otherRaisedTurn</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where someone else raised Turn</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>otherRaisedTurnFold</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where someone else raised Turn and the player folded</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>otherRaisedRiver</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where someone else raised River</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>otherRaisedRiverFold</P></TD>
<TD><P>int</P></TD>
<TD><P>number of hands where someone else raised River and the player folded</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>wonWhenSeenFlop</P></TD>
<TD><P>float</P></TD>
<TD><P>How many hands the player won after seeing the flop - this can be a "partial win" if the pot is split.<br>
To be completely clear, this stores a hand count, NOT a money amount.</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>wonAtSD</P></TD>
<TD><P>float</P></TD>
<TD><P>As wonWhenSeenFlop, but for showdown.</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>stealAttemptChance</P></TD>
<TD><P>int</P></TD>
<TD><P>Player was in CO, BTN or SB and nobody has called yet</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>stealAttempted</P></TD>
<TD><P>int</P></TD>
<TD><P>Player took a chance per the above condition</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>foldBbToStealChance</P></TD>
<TD><P>int</P></TD>
<TD><P>Somebody tried to steal BB from player</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>foldedBbToSteal</P></TD>
<TD><P>int</P></TD>
<TD><P>Player folded BB to steal attempt</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>foldSbToStealChance</P></TD>
<TD><P>int</P></TD>
<TD><P>Somebody tried to steal SB from player</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>foldedSbToSteal</P></TD>
<TD><P>int</P></TD>
<TD><P>Player folded SB to steal attempt</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>contBetChance</P></TD>
<TD><P>int</P></TD>
<TD><P>Player had chance to make continuation bet</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>contBetDone</P></TD>
<TD><P>int</P></TD>
<TD><P>Player used chance to make continuation bet</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>secondBarrelChance</P></TD>
<TD><P>int</P></TD>
<TD><P>Player had chance to make second barrel bet</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>secondBarrelDone</P></TD>
<TD><P>int</P></TD>
<TD><P>Player used chance to make second barrel bet</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>thirdBarrelChance</P></TD>
<TD><P>int</P></TD>
<TD><P>Player had chance to make third barrel bet</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>thirdBarrelDone</P></TD>
<TD><P>int</P></TD>
<TD><P>Player used chance to make third barrel bet</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>position</P></TD>
<TD><P>char(1)</P></TD>
<TD><P>Position for which this row applies. In this table this can be B(BB), S(SB), D(Dealer/Button), C(Cutoff), M(Middle - the 3 before cutoff) or E (Early - the 3 before Middle)</P></TD>
<TR VALIGN=TOP>
<TD><P>tourneysGametypeId</P></TD>
<TD><P>smallint</P></TD>
<TD><P>References TourneysGametypes.id</P></TD>
</TR>
</TR>
</TABLE>
<P></P>
<P><B>Table HandsActions</B></P>
<p>Did separate this into an extra table because it makes SELECTing across different streets so much easier. Also the space saving will be very large.</P>
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
<TR VALIGN=TOP>
<TD><P>Field Name</P></TD>
<TD><P>Type</P></TD>
<TD><P>Comment</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>id</P></TD>
<TD><P>bigint</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>handPlayerId</P></TD>
<TD><P>bigint</P></TD>
<TD><P>references HandsPlayers.id</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>street</P></TD>
<TD><P>smallint</P></TD>
<TD><p>street number, 0-3 (preflop, flop, turn, river) for holdem/omaha or 0-4 for razz/stud</P><P>-1 for seen showdown</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>actionNo</P></TD>
<TD><P>smallint</P></TD>
<TD><P>action number, this is counted from zero for each street but across all players (e.g. in a heads up where the SB calls and the BB raises and the SB calls again would have numbers 0 and 1 for blinds, 2 and 4 for call and 3 for bet)<br>
Note that the blinds are counted as an action, so if the SB stays in the hand it'll always be action #0</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>action</P></TD>
<TD><P>char(5)</P></TD>
<TD><P>Bet stands for bring in, complete, bet, double bet, raise and double raise, since they all - technically - do the same thing. Unbet is used for when an uncalled bet is returned.</P>
<P>Other valid values: blind call check fold</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>amount</P></TD>
<TD><P>int</P></TD>
<TD><P>amount put into the middle for this action</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>comment</P></TD>
<TD><P>text</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>commentTs</P></TD>
<TD><P>datetime (in UTC)</P></TD>
<TD><P><BR></P></TD>
</TR>
</TABLE>
<p><BR></P>
<p><B>Tournament Tables</B></P>
<p><BR></P>
<p><B>Table Tourneys</B></P>
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
<TR VALIGN=TOP>
<TD><P>Field name</P></TD>
<TD><P>Type</P></TD>
<TD><P>Comment</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>id</P></TD>
<TD><P>int</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>tourneysGametypeId</P></TD>
<TD><P>smallint</P></TD>
<TD><P>References TourneysGametypes.id</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>siteTourneyNo</P></TD>
<TD><P>bigint</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>entries</P></TD>
<TD><P>int</P></TD>
<TD><P>-1 if unknown</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>prizepool</P></TD>
<TD><P>int</P></TD>
<TD><p>Need this as separate field to support rebuy/addon</P><P>-1 if unknown</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>startTime</P></TD>
<TD><P>datetime (in UTC)</P></TD>
<TD><P>Empty if unknown</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>comment</P></TD>
<TD><P>text</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>commentTs</P></TD>
<TD><P>datetime (in UTC)</P></TD>
<TD><P><BR></P></TD>
</TR>
</TABLE>
<p><BR></P>
<p><B>Table TourneyGametypes</B></P>
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
<TR VALIGN=TOP>
<TD><P>Field name</P></TD>
<TD><P>Type</P></TD>
<TD><P>Comment</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>id</P></TD>
<TD><P>int</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>siteId</P></TD>
<TD><P>smallint</P></TD>
<TD><P>References Sites.id</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>buyin</P></TD>
<TD><P>int</P></TD>
<TD><P>Buy-in in cents. Without rebuy/add-on</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>fee</P></TD>
<TD><P>int</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>knockout</P></TD>
<TD><P>int</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>rebuyOrAddon</P></TD>
<TD><P>boolean</P></TD>
<TD><P>Whether rebuys or add-ons are possible</P></TD>
</TR>
</TABLE>
<p><BR></P>
<p><B>Table TourneysPlayers</B></P>
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
<TR VALIGN=TOP>
<TD><P>Field Name</P></TD>
<TD><P>Type</P></TD>
<TD><P>Comment</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>id</P></TD>
<TD><P>bigint</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>tourneyId</P></TD>
<TD><P>int</P></TD>
<TD><P>References Tourneys.id</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>playerId</P></TD>
<TD><P>int</P></TD>
<TD><P>References Players.id</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>payinAmount</P></TD>
<TD><P>int</P></TD>
<TD><P>Buyin, fee, rebuys and add-ons</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>rank</P></TD>
<TD><P>int</P></TD>
<TD><P>Finishing rank</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>winnings</P></TD>
<TD><P>signed int</P></TD>
<TD><P>Winnings (not profit) by this player, -1 if unknown.</P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>comment</P></TD>
<TD><P>text</P></TD>
<TD><P><BR></P></TD>
</TR>
<TR VALIGN=TOP>
<TD><P>commentTs</P></TD>
<TD><P>datetime (in UTC)</P></TD>
<TD><P><BR></P></TD>
</TR>
</TABLE>
</BODY>
</HTML>