diff --git a/docs/agpl-3.0.txt b/agpl-3.0.txt similarity index 100% rename from docs/agpl-3.0.txt rename to agpl-3.0.txt diff --git a/docs/filelist.txt b/docs/filelist.txt deleted file mode 100644 index 15e9361a..00000000 --- a/docs/filelist.txt +++ /dev/null @@ -1,75 +0,0 @@ -This is partially outdated - -File list -========= -.: -docs/ Documentation files -pyfpdb/ The main program (in python) -setup/ Directory with files for setting up this program -regression-test/ Directory with test data, query scripts (in python) and the regression test script (in bash) -utils/ A couple of things that will migrate to the main prog soon -viewer/ Directory with the GUI (in Java) - -./docs: -abbreviations.txt A list of abbreviations used and their meaning -agpl-3.0.txt License of the program (everything under /code) -benchmarks.txt Some benchmark results -codingstyle.txt Some notes on formatting. Feel free to ignore. -fdl-1.2.txt License of the documentation (the files in /) -filelist.txt This file -howto-import.txt Instructions on how to run the importer -install-in-gentoo.txt Installation instructions for Gentoo GNU/Linux -install-in-windows.txt Installation instructions for Windows -readme-dev.txt Some notes, pointers and such for developers or anyone else interested in changing fpdb -readme-overview.txt Some general info about this program - read that first -readme-user.txt Instructions on how to use fpdb -status.txt Details of support for poker types and sites -tabledesign.html Table design with comments - -./pyfpdb: -fpdb.py The main GUI. This is what the user will start and use to access the other things. -fpdb_import.py Main import program. Calls methods in the other files. - Takes one hand history file as input. This is the file - you execute, do not run the other ones individually. - Except import_gui.py of course. -fpdb_parse_logic.py Parses a holdem/omaha/razz/stud hand. -fpdb_save_to_db.py Just methods to store the parsed data into SQL. - Seperate file because these calls are very unwieldy. -fpdb_simple.py Simple methods called by the other files. Most work is - actually done in this file to make the other ones look - much easier than they are. -import_gui.py GUI interface to the importer (obselete) - -./setup: -insert-basedata.sql Fills sites and gametypes tables. Run this once after running the above. -recreate-tables.sql File for mysql to recreate the tables. THIS WILL DELETE EXISTING TABLES!!! - -./testdata: -should be self explanatory - -./utils: -dump_db_basedata.py Prints the contents of the tables sites and gametypes -fpdb_util_lib.py Helper methods for the utilities. -get_DB_stats.py Prints some counts (like no. of players in the DB) -get_player_stats.py Prints certain stats about players with CLI-passed constraints -mysql-reset-tables.sh Reset tables for MySQL. THIS WILL DELETE EXISTING TABLES!!! -print_hand.py Prints a hand in legible format. -psql-interactive.sh *nix script to connect to a PostgreSQL database in - interactive mode (note that we're currently only supporting MySQL) -regression-test.sh Resets tables and checks manually verified hands for errors - -./viewer: -todo - -License -======= -Trademarks of third parties have been used under Fair Use or similar laws. - -Copyright 2008 Steffen Jobbagy-Felso -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 - -The program itself is licensed under AGPLv3, see agpl-3.0.txt diff --git a/docs/readme.txt b/docs/readme.txt deleted file mode 100644 index e3dbac23..00000000 --- a/docs/readme.txt +++ /dev/null @@ -1,79 +0,0 @@ -README.txt -updated 22 February 2010, REB - -fpdb - Free Poker Database - -The most accurate and up-to-date information on fpdb will be found in the wiki: -http://fpdb.wiki.sourceforge.net/ - -Other resources are: - Mailing list: http://sourceforge.net/mailarchive/forum.php?forum_name=fpdb-main - Chat room(irc): #fpdb on freenode.net - -fpdb is a free program for use with on line poker. It provides: - Tracking of your results and statistics. - Tracking of opponents' results statistics. - Win/loss graphing - Heads Up Display (HUD) with a variety of statistics - Display of mucked cards in the HUD - -fpdb supports: - Sites: - PokerStars - Full Tilt Poker - Everleaf Network - Other sites are under development and are easily added - - Games: - Holdem - Omaha (incl Hi/low) - 7 Card Stud (incl Hi/low) - Razz - Triple Draw and Badugi - Mixed Games -- HUD under development - - Operating Systems: - Linux and other Unix-like, using X - Windows - Mac OS/X -- no support for HUD - - Databases: - SQLite configured by default - MySQL - PostgreSQL - -Downloads: - Releases: http://sourceforge.net/project/showfiles.php?group_id=226872 - Development code via git: http://www.assembla.com/spaces/free_poker_tools/trac_git_tool - -Developers: - At least 10 people have contributed code or patches. Others are welcome. - -Source Code: - If you received fpdb as the Windows compressed exe, then you did not -receive souce code for fpdb or the included libraries. If you wish, you can -obtain the source code here: - - fpdb: see Downloads, above. - python: http://python.org/ - gtk: http://www.gtk.org/download.html - pygtk: http://www.pygtk.org/downloads.html - psycopg2: http://initd.org/pub/software/psycopg/ - mysqldb: http://sourceforge.net/projects/mysql-python/files/ - sqlalchemy: http://www.sqlalchemy.org/download.html - numpy: http://www.scipy.org/Download - matplotlib: http://sourceforge.net/projects/matplotlib/files/ - -License -======= -Trademarks of third parties have been used under Fair Use or similar laws. - -Copyright 2008 Steffen Jobbagy-Felso -Copyright 2009,2010 Ray E. Barker -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 - -fpdb itself is licensed under AGPLv3, see agpl-3.0.txt. diff --git a/docs/release-notes.txt b/docs/release-notes.txt deleted file mode 100644 index c8ff9444..00000000 --- a/docs/release-notes.txt +++ /dev/null @@ -1,93 +0,0 @@ -alpha2 -====== -Hi everyone, -we are proud to announce the second alpha release of fpdb, the free/libre open source poker tracker. The biggest highlight is the HUD for Linux made by Ray (and perhaps Mac, not sure). But for everyone fpdb now also supports PS tournaments (SnG and MTT) and FTP ring games. There is also a new auto-importer though it currently only runs on one file per instance (but you can open multiple instances of fpdb). -Fpdb also parses alot of new situations into the cache table for the HUD, most of which are already available through the Linux HUD. There have also been a large number of bugfixes for all kinds of things. For full details of the changes see the git commit comments. - -You can download fpdb at https://sourceforge.net/project/showfiles.php?group_id=226872 - -Our website at http://fpdb.sourceforge.net/ will be updated shortly but in the meantime please note that the configuration file now resides in ~/.fpdb/default.conf on Linux/Mac and in C:\Documents and Settings\Application Data\fpdb\default.conf on Windows (on non-English Windows you have to translate the Documents and Settings, but not the Application data bit). Apart from that just follow the instructions on the site. I will be updating/improving the fpdb ebuild for Gentoo next week, please send me a PM or email if you would like a package for another Linux/BSD. - -To use the HUD in Linux simply run the auto importer whilst having the table open. You will also have to rename HUD_config.xml.example to HUD_config.xml and edit the database parameters in there in addition to what is written in the install guide. - -If you've been using fpdb alpha1 just delete the fpdb folder, follow the installation guide except for installing the dependencies, then run fpdb and run recreate tables. Note that you will have to reimport ALL your history files. - -For external devs (in particular Youre Toast): The table design has gone through some changes, though most of it was just renaming to make a consistent naming scheme and to make it more flexible towards stud/razz type games. I do not expect to having to make any future changes to the existing fields but I cannot yet guarantee that. There will be some additional fields in particular in the HudCache table. Please let me know if you need any further fields. I realise my naming breaks the "database designer's convention" but for this project I feel ignoring this convention for the benefit of consistent naming between Python and SQL is ok. - - -Any questions and comments please post here, send me a PM or email, post a feature request or bug report on sourceforge or use any of the other means of contact listed on our webpage. - -Enjoy, -The fpdb team - -PS: I personally will be away Sun-Tue so I probably won't be responding to anything but feel free to message me anyways, but if you post here or at SF someone else might be able to help. - -PPS: If you wanna know EXACTLY how this project is moving along follow the git tree over at [url]http://www.assembla.com/spaces/fpdb/trac_git_tool[/url] - - -alpha1 -====== -Hi everyone, -I am proud to announce the first release of my new poker tracking software fpdb (freepokerdb, very imaginative I know ;) ). You may wonder why I bothered when now with HM and PT3 there are at least two excellent packages to choose from. - -Four main reasons: -1. Fpdb is free/libre open source software. In short, this means you don't depend on me if sth. is wrong or you want something more in this program as you can freely change it yourself. You also don't have to pay anything for it. If you like it and think I deserve to be paid just drop me a mail ;) -2. HM and PT3 only support holdem. Fpdb initially supports Holdem and Omaha, with Stud and Razz mostly implemented and coming soon. -3. HM and PT3 run on Windows only, and for me at least did not work in wine even after installing Mono. Fpdb runs on any plattform that has the required software, which will cover roundabout 99.9% of PCs. Currently tested plattforms are Windows XP-x86 and Gentoo GNU/Linux-amd64 as well as -x86. - You still need to run Windows or wine to run the actual poker client though. -4. Fpdb won't irritate you with copy prevention measures. - -To install it go to https://sourceforge.net/project/showfiles.php?group_id=226872 and download the zip or tar.bz2, unpack it, and follow the instructions in docs/install-in-* for your operating system (e.g. docs\install-in-windows.txt). Sourceforge lists the release files as source files, not as binary executables - this is correct, python will automagically compile as and when required. - -This is alpha1, as the name indicates it is still at a very early stage. The importer and database are nearing completion but the GUI in particular is not very functional yet and the HUD is missing alltogether. - -If anyone wishes to help with development that would be very very welcome and I've put a few notes in docs/readme-dev.txt in the download for what you could do. Or just start coding and send me the patches :) -If you're not a programmer and you're not interested in learning it you can still help simply by trying it out and sending bug reports and feature requests. To avoid unrealistic expectations I'd like to state that it'll be a long time until fpdb reaches feature parity to established paid-for closed source software. - -Feature List (short now, growing fast ;) ): - -You can edit/add whatever you like, it's all python and SQL. The code should be fairly straightforward I think and I put some notes into readme-dev.txt but feel free to ask. - -Backend, Distribution -===================== -- Choice of MySQL/InnoDB or PostgreSQL. (not tested on PostgreSQL) -- It is possible to run the database on one PC, the importer on another, and then access the database with the table viewer or HUD from a third PC. (note: do NOT do this unencrypted over an untrusted network like your employer's LAN or the Internet!) - -Site/Game Support -================= -- Initially only full support for PS, FTP coming soon -- Supports Holdem, Omaha Hi and Omaha Hi/Lo. Stud and Razz coming soon. -- Supports No Limit, Pot Limit, Fixed Limit NL, Cap NL and Cap PL - Note that currently it does not display extra stats for NL/PL so usefulness is limited for these limit types. Suggestions welcome, I don't play these. -- Supports ring/cash games, SnG/MTT coming soon - -Tableviewer (tv) -=========== -Tv takes a history filename and loads the appropriate players' stats and displays them in a tabular format. These stats currently are: - - VPIP, PFR and Preflop 3B/4B (3B/4B is not quite correct I think) - - Raise and Fold % on flop, turn and river. Fold only counts hands when someone raised. This can be displayed per street or as one combined value each for aggression and folding. - - Number of hands this is based on. - - SD/F (aka WtSD, proportion of hands where player went to showdown after seeing flop) - - W$wSF (Won $ when seen Flop) - - W$@SD (Won $ at showdown) - For all stats it also displays how many hands this particular is based on - - -IMPORTANT: The database format WILL undergo more changes and at this point I am not planning to write a converter so please keep your history files so you can re-import when necessary. Independent of this you should always keep the original raw files in a safe place with any tracking software. Should you however end up loosing your files somehow let me know and I'll try to help. - -Please send any feedback, feature requests/suggestions, bug reports and animal names to steffen@sycamoretest.info, pick one of the contact methods listed in readme-overview.txt, send me a PM here or reply to this post. - - - -License -======= -Trademarks of third parties have been used under Fair Use or similar laws. - -Copyright 2008 Steffen Jobbagy-Felso -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 - -The program itself is licensed under AGPLv3, see agpl-3.0.txt diff --git a/docs/tabledesign.html b/docs/tabledesign.html deleted file mode 100644 index 86898528..00000000 --- a/docs/tabledesign.html +++ /dev/null @@ -1,1430 +0,0 @@ - - -
- -See commit comments for version info, see status.txt for status.
-Direct suggestions, praise and animal names to steffen@sycamoretest.info or check readme-overview.txt for more contacts
-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.
-Relationships are noted in the comment (need to double check that all are listed)
-If you want more comments or if anything is confusing or bad let me know.
-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).
-Notes on use/editing:
-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.
-If the code (in particular the importer) and this document disagree then this document is to be considered authorative.
-License
-Trademarks of third parties have been used under Fair Use or similar laws.
-Copyright 2008 Steffen Jobbagy-Felso
-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
-The program itself is licensed under AGPLv3, see agpl-3.0.txt
See readme.txt for copying
-Table Settings
-Field name |
- Type |
- Comment |
-
version |
- smallint |
- the git version of the database (ie. table design changes and major bugfixes require a bump) |
-
Table Players
-Field name |
- Type |
- Comment |
-
id |
- int |
- |
name |
- varchar(32) |
- |
siteId |
- smallint |
- references Sites.id |
-
comment |
- text |
- |
commentTs |
- datetime (in UTC) |
-
Table Autorates
-An autorating is a computer-"recognised" label/category for a player. Examples could include "Calling Station" if a player has <20% each for aggression and folding postflop. Or "Tight-Aggressive/Aggressive" for players with <20% VPIP, >10% PFR and >40% postflop aggression.
-Field name |
- Type |
- Comment |
-
id |
- bigint |
- |
playerId |
- int |
- references Players.id |
-
gametypeId |
- smallint |
- references Gametypes.id |
-
description |
- varchar(50) |
- autorating description |
-
shortDesc |
- char(8) |
- short description e.g. for display in HUD |
-
ratingTime |
- datetime (in UTC) |
- timestamp of rating |
-
handCount |
- int |
- number of hands rating is based on |
-
Table Gametypes
-Field name |
- Type |
- Comment |
-
id |
- smallint |
- |
siteId |
- smallint |
- references sites.id |
-
type |
- char(4) |
- valid entries: |
-
base |
- char(4) |
- The underlying structure. valid entries: |
-
category |
- varchar(9) |
- valid entries: |
-
limitType |
- char(2) |
- nl=No Limit |
-
hiLo |
- char(1) |
- Whether the game is hi, lo or both. Valid Entries: |
-
smallBlind |
- int |
- |
bigBlind |
- int |
- |
smallBet |
- int |
- |
bigBet |
- int |
-
Table Sites
-Field name |
- Type |
- Comment |
-
id |
- smallint |
- |
name |
- varchar(32) |
- |
currency |
- char(3) |
- currency code, e.g. USD, GBP, EUR |
-
Table Hands
-Field Name |
- Type |
- Comment |
-
id |
- bigint |
- |
tableName |
- varchar(20) |
- The site's name for the current table |
-
siteHandNo |
- bigint |
- the site's hand number |
-
gametypeId |
- smallint |
- references gametypes.id |
-
handStart |
- datetime (in UTC) |
- start date&time of the hand |
-
importTime |
- datetime (in UTC) |
- date&time of import of this hand |
-
seats |
- smallint |
- number of used seats (ie. that got dealt cards) |
-
maxSeats |
- smallint |
- number of available seats |
-
comment |
- text |
- |
commentTs |
- datetime (in UTC) |
-
Table BoardCards
-cardX -> can be 1 through 5
-Field Name |
- Type |
- Comment |
-
id |
- bigint |
- |
handId |
- bigint |
- the site's hand number |
-
cardXValue |
- smallint |
- 2-10=2-10, J=11, Q=12, K=13, A=14 (even in razz), unknown/no card=x, kept=k (draw only) |
-
cardXSuit |
- char(1) |
- h=hearts, s=spades, d=diamonds, c=clubs, unknown/no card=x |
-
Table HandsPlayers
-cardX: can be 1 through 20, one for each card. In holdem only 1-2 of these are used, in omaha 1-4, in stud/razz 1-7, in single draw games 1-10 is used and in badugi 1-16 (4*4) is used.
-For the draw games: the first 5 (badugi: 4) cards are the initial cards, the next 5 (badugi: 4) are after the first draw. If a player keeps some cards then those cards' spaces are filled with "k", short for "kept".
-Example 1: If a player gets 2-6 spades for his first five cards and decides to throw away the 4 and then gets a 7 of spades then the first 10 fields of cardXValue would be as follows: 2, 3, 4, 5, 6, k, k, 7, k, k
-Example 2: If a player gets 2, 3, 5, 8, J of spades for his first five cards and decides to throw away the 2 and the 3 and then gets a Q and K of spades then the first 10 fields of cardXValue would be as follows: 2, 3, 5, 8, J, Q, K, k, k, k
-Note that it will k in the space of which card was there previously, so in example 2 where the player kept the last 3 cards, the last 3 fields of the first draw (ie. card8-10Value) are replaced with k.
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.
-ToDo: Original plan was to implement the many flags from hudcache as booleans - need to try this out as it will save space and may therefore be quicker.
-Field Name |
- Type |
- Comment |
-
id |
- bigint |
- |
handId |
- bigint |
- references Hands.id |
-
playerId |
- int |
- references Players.id |
-
startCash |
- int |
- |
position |
- char(1) |
- BB=B, SB=S, Button=0, Cutoff=1, etc. |
-
seatNo |
- smallint |
- The seat in which the person was sitting - necessary for HUD |
-
card1(..7) |
- smallint |
- 0=none/unknown, 1-13=2-Ah 14-26=2-Ad 27-39=2-Ac 40-52=2-As |
-
startCards |
- smallint |
- int representing Holdem starting cards. |
-
ante |
- int |
- note: for cash this could be boolean, but in tourneys you may enter a hand with less than the full ante |
-
winnings |
- int |
- winnings in this hand (bets, antes, etc. are NOT deducted, but rake already is) |
-
rake |
- int |
- rake for this player for this hand (i.e. final pot(s) size = winnings + rake) |
-
totalProfit |
- int |
- profit for this player for this hand ( i.e. winnings - (ante + bets) ) |
-
comment |
- text |
- |
commentTs |
- datetime (in UTC) |
- |
tourneysPlayersId |
- bigint |
- references TourneysPlayers.id |
-
tourneyTypeId |
- bigint |
- references TourneyTypes.id (maybe this should be on Hands?) |
-
wonWhenSeenStreet1(..4) |
- float |
- How many hands the player won after seeing the flop/street4 - this can be a "partial win" if the pot is split. |
-
wonAtSD |
- float |
- As wonWhenSeenStreet1, but for showdown. |
-
street0VPI |
- int |
- did player pay to see flop, 1 or 0 |
-
street0Aggr |
- int |
- did player raise before flop, 1 or 0 |
-
street0_3BChance |
- int |
- did player have chance to 3B, 1 or 0 |
-
street0_3BDone |
- int |
- did player 3bet before flop, 1 or 0 |
-
street0_4BChance |
- int |
- did player have chance to 4B, 1 or 0 |
-
street0_4BDone |
- int |
- did player 4bet before flop, 1 or 0 |
-
other_3BStreet0 |
- int |
- did other player 3bet before flop, 1 or 0 |
-
other_4BStreet0 |
- int |
- did other player 4bet before flop, 1 or 0 |
-
street1Seen(/2/3/4) |
- int |
- did player see flop/street4 (.. etc) |
-
sawShowdown |
- int |
- did player see showdown |
-
street1Aggr |
- int |
- number of hands where player raised flop/street4 |
-
street2Aggr |
- int |
- number of hands where player raised turn/street5 |
-
street3Aggr |
- int |
- number of hands where player raised river/street6 |
-
street4Aggr |
- int |
- number of hands where player raised street7 |
-
otherRaisedStreet0 |
- int |
- number of hands where someone else raised pre-flop/street3 |
-
otherRaisedStreet1 |
- int |
- number of hands where someone else raised flop/street4 |
-
otherRaisedStreet2 |
- int |
- number of hands where someone else raised turn/street5 |
-
otherRaisedStreet3 |
- int |
- number of hands where someone else raised river/street6 |
-
otherRaisedStreet4 |
- int |
- number of hands where someone else raised street7 |
-
foldToOtherRaisedStreet0 |
- int |
- number of hands where someone else raised flop/street4 and the player folded |
-
foldToOtherRaisedStreet1 |
- int |
- number of hands where someone else raised flop/street4 and the player folded |
-
foldToOtherRaisedStreet2 |
- int |
- number of hands where someone else raised Turn/street5 and the player folded |
-
foldToOtherRaisedStreet3 |
- int |
- number of hands where someone else raised River/street6 and the player folded |
-
foldToOtherRaisedStreet4 |
- int |
- number of hands where someone else raised street7 and the player folded |
-
stealAttemptChance |
- int |
- Player was in CO, BTN or SB and nobody has called yet |
-
stealAttempted |
- int |
- Player took a chance per the above condition |
-
foldBbToStealChance |
- int |
- Somebody tried to steal BB from player |
-
foldedBbToSteal |
- int |
- Player folded BB to steal attempt |
-
foldSbToStealChance |
- int |
- Somebody tried to steal SB from player |
-
foldedSbToSteal |
- int |
- Player folded SB to steal attempt |
-
street1CBChance |
- int |
- Player had chance to make continuation bet on flop/street4 |
-
street1CBDone |
- int |
- Player used chance to make continuation bet on flop/street4 |
-
street2CBChance |
- int |
- Player had chance to make continuation bet on turn/street5 |
-
street2CBDone |
- int |
- Player used chance to make continuation bet on turn/street5 |
-
street3CBChance |
- int |
- Player had chance to make continuation bet on river/street6 |
-
street3CBDone |
- int |
- Player used chance to make continuation bet on river/street6 |
-
street4CBChance |
- int |
- Player had chance to make continuation bet on street7 |
-
street4CBDone |
- int |
- Player used chance to make continuation bet on street7 |
-
foldToStreet1CBChance |
- int |
- Player had chance to fold to continuation bet on this street |
-
foldToStreet1CBDone |
- int |
- Player used chance to fold to continuation bet on this street |
-
foldToStreet2CBChance |
- int |
- Player had chance to fold to continuation bet on this street |
-
foldToStreet2CBDone |
- int |
- Player used chance to fold to continuation bet on this street |
-
foldToStreet3CBChance |
- int |
- Player had chance to fold to continuation bet on this street |
-
foldToStreet3CBDone |
- int |
- Player used chance to fold to continuation bet on this street |
-
foldToStreet4CBChance |
- int |
- Player had chance to fold to continuation bet on this street |
-
foldToStreet4CBDone |
- int |
- Player used chance to fold to continuation bet on this street |
-
street1CheckCallRaiseChance |
- int |
- How often player had the chance to do a check-raise or a call-raise on this street |
-
street1CheckCallRaiseDone |
- int |
- How often player used the chance to do a check-raise or a call-raise on this street |
-
street2CheckCallRaiseChance |
- int |
- How often player had the chance to do a check-raise or a call-raise on this street |
-
street2CheckCallRaiseDone |
- int |
- How often player used the chance to do a check-raise or a call-raise on this street |
-
street3CheckCallRaiseChance |
- int |
- How often player had the chance to do a check-raise or a call-raise on this street |
-
street3CheckCallRaiseDone |
- int |
- How often player used the chance to do a check-raise or a call-raise on this street |
-
street4CheckCallRaiseChance |
- int |
- How often player had the chance to do a check-raise or a call-raise on this street |
-
street4CheckCallRaiseDone |
- int |
- How often player used the chance to do a check-raise or a call-raise on this street |
-
street0Calls |
- int |
- Number of times player called on this street |
-
street1Calls |
- int |
- Number of times player called on this street |
-
street2Calls |
- int |
- Number of times player called on this street |
-
street3Calls |
- int |
- Number of times player called on this street |
-
street4Calls |
- int |
- Number of times player called on this street |
-
street0Bets |
- int |
- Number of times player bet on this street |
-
street1Bets |
- int |
- Number of times player bet on this street |
-
street2Bets |
- int |
- Number of times player bet on this street |
-
street3Bets |
- int |
- Number of times player bet on this street |
-
street4Bets |
- int |
- Number of times player bet on this street |
-
street0Raises |
- int |
- Number of times player raised on this street |
-
street1Raises |
- int |
- Number of times player raised on this street |
-
street2Raises |
- int |
- Number of times player raised on this street |
-
street3Raises |
- int |
- Number of times player raised on this street |
-
street4Raises |
- int |
- Number of times player raised on this street |
-
actionString |
- int |
- Experimental - idea is to store the action on this street as a string: e.g. kkBrcfC, with - player's own choices in upper case and other players in lower case. k=check, b=bet, c=call, - r=raise. (Perhaps NL would miss out bet sizes for this?) It would then be possible to do complex - ad-hoc queries using queries like: actionString like '%B%r%C% - |
-
Table HudCache
-Field Name |
- Type |
- Comment |
-
id |
- bigint |
- |
gametypeId |
- smallint |
- references gametypes.id |
-
playerId |
- int |
- references players.id |
-
activeSeats |
- smallint |
- range 2-10 |
-
position |
- char(1) |
- 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) |
-
tourneyTypeId |
- smallint |
- References TourneyTypes.id |
-
HDs |
- int |
- number of hands this player played in this gametype with this number of seats |
-
wonWhenSeenStreet1(/2/3/4) |
- float |
- How many hands the player won after seeing the flop/street4 - this can be a "partial win" if the pot is split. |
-
wonAtSD |
- float |
- As wonWhenSeenStreet1, but for showdown. |
-
street0VPI |
- int |
- number of hands where player paid to see flop |
-
street0Aggr |
- int |
- number of hands where player raised before flop |
-
street0_3BChance |
- int |
- number of hands where player had chance to 3B before flop |
-
street0_3BDone |
- int |
- number of hands where player 3bet before flop |
-
street0_4BChance |
- int |
- number of hands where player had chance to 4B before flop |
-
street0_4BDone |
- int |
- number of hands where player 4bet before flop |
-
street1Seen |
- int |
- number of hands where player saw flop/street4 |
-
street2Seen |
- int |
- number of hands where player saw turn/street5 |
-
street3Seen |
- int |
- number of hands where player saw river/street6 |
-
street4Seen |
- int |
- number of hands where player saw street7 |
-
sawShowdown |
- int |
- number of hands where player saw showdown |
-
street1Aggr |
- int |
- number of hands where player raised flop/street4 |
-
street2Aggr |
- int |
- number of hands where player raised turn/street5 |
-
street3Aggr |
- int |
- number of hands where player raised river/street6 |
-
street4Aggr |
- int |
- number of hands where player raised street7 |
-
otherRaisedStreet0 |
- int |
- number of hands where someone else raised pre-flop/street3 |
-
otherRaisedStreet1 |
- int |
- number of hands where someone else raised flop/street4 |
-
otherRaisedStreet2 |
- int |
- number of hands where someone else raised turn/street5 |
-
otherRaisedStreet3 |
- int |
- number of hands where someone else raised river/street6 |
-
otherRaisedStreet4 |
- int |
- number of hands where someone else raised street7 |
-
foldToOtherRaisedStreet0 |
- int |
- number of hands where someone else raised pre-flop/street3 and the player folded |
-
foldToOtherRaisedStreet1 |
- int |
- number of hands where someone else raised flop/street4 and the player folded |
-
foldToOtherRaisedStreet2 |
- int |
- number of hands where someone else raised Turn/street5 and the player folded |
-
foldToOtherRaisedStreet3 |
- int |
- number of hands where someone else raised River/street6 and the player folded |
-
foldToOtherRaisedStreet4 |
- int |
- number of hands where someone else raised street7 and the player folded |
-
stealAttemptChance |
- int |
- Player was in CO, BTN or SB and nobody has called yet |
-
stealAttempted |
- int |
- Player took a chance per the above condition |
-
foldBbToStealChance |
- int |
- Somebody tried to steal BB from player |
-
foldedBbToSteal |
- int |
- Player folded BB to steal attempt |
-
foldSbToStealChance |
- int |
- Somebody tried to steal SB from player |
-
foldedSbToSteal |
- int |
- Player folded SB to steal attempt |
-
street1CBChance |
- int |
- Player had chance to make continuation bet on flop/street4 |
-
street1CBDone |
- int |
- Player used chance to make continuation bet on flop/street4 |
-
street2CBChance |
- int |
- Player had chance to make continuation bet on turn/street5 |
-
street2CBDone |
- int |
- Player used chance to make continuation bet on turn/street5 |
-
street3CBChance |
- int |
- Player had chance to make continuation bet on river/street6 |
-
street3CBDone |
- int |
- Player used chance to make continuation bet on river/street6 |
-
street4CBChance |
- int |
- Player had chance to make continuation bet on street7 |
-
street4CBDone |
- int |
- Player used chance to make continuation bet on street7 |
-
foldToStreet1CBChance |
- int |
- Player had chance to fold to continuation bet on this street |
-
foldToStreet1CBDone |
- int |
- Player used chance to fold to continuation bet on this street |
-
foldToStreet2CBChance |
- int |
- Player had chance to fold to continuation bet on this street |
-
foldToStreet2CBDone |
- int |
- Player used chance to fold to continuation bet on this street |
-
foldToStreet3CBChance |
- int |
- Player had chance to fold to continuation bet on this street |
-
foldToStreet3CBDone |
- int |
- Player used chance to fold to continuation bet on this street |
-
foldToStreet4CBChance |
- int |
- Player had chance to fold to continuation bet on this street |
-
foldToStreet4CBDone |
- int |
- Player used chance to fold to continuation bet on this street |
-
totalProfit |
- int |
- how much money in cents the player made |
-
street1CheckCallRaiseChance |
- int |
- How often player had the chance to do a check-raise or a call-raise on this street |
-
street1CheckCallRaiseDone |
- int |
- How often player used the chance to do a check-raise or a call-raise on this street |
-
street2CheckCallRaiseChance |
- int |
- How often player had the chance to do a check-raise or a call-raise on this street |
-
street2CheckCallRaiseDone |
- int |
- How often player used the chance to do a check-raise or a call-raise on this street |
-
street3CheckCallRaiseChance |
- int |
- How often player had the chance to do a check-raise or a call-raise on this street |
-
street3CheckCallRaiseDone |
- int |
- How often player used the chance to do a check-raise or a call-raise on this street |
-
street4CheckCallRaiseChance |
- int |
- How often player had the chance to do a check-raise or a call-raise on this street |
-
street4CheckCallRaiseDone |
- int |
- How often player used the chance to do a check-raise or a call-raise on this street |
-
street0Calls |
- int |
- Number of times player called on this street |
-
street1Calls |
- int |
- Number of times player called on this street |
-
street2Calls |
- int |
- Number of times player called on this street |
-
street3Calls |
- int |
- Number of times player called on this street |
-
street4Calls |
- int |
- Number of times player called on this street |
-
street0Bets |
- int |
- Number of times player bet on this street |
-
street1Bets |
- int |
- Number of times player bet on this street |
-
street2Bets |
- int |
- Number of times player bet on this street |
-
street3Bets |
- int |
- Number of times player bet on this street |
-
street4Bets |
- int |
- Number of times player bet on this street |
-
street0Raises |
- int |
- Number of times player raised on this street |
-
street1Raises |
- int |
- Number of times player raised on this street |
-
street2Raises |
- int |
- Number of times player raised on this street |
-
street3Raises |
- int |
- Number of times player raised on this street |
-
street4Raises |
- int |
- Number of times player raised on this street |
-
Table HandsActions
-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.
-Field Name |
- Type |
- Comment |
-
id |
- bigint |
- |
handPlayerId |
- bigint |
- references HandsPlayers.id |
-
street |
- smallint |
- street number, 0-3 (preflop, flop, turn, river) for holdem/omaha or 0-4 for razz/stud -1 for seen showdown |
-
actionNo |
- smallint |
- 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) |
-
action |
- char(5) |
- 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, this will have a negative value for amount. -Other valid values: blind call check fold |
-
allIn |
- boolean |
- Whether the player went all-in on this action |
-
amount |
- int |
- amount put into the middle for this action |
-
comment |
- text |
- |
commentTs |
- datetime (in UTC) |
-
Tournament Tables
-Table Tourneys
-Field name |
- Type |
- Comment |
-
id |
- int |
- |
tourneyTypeId |
- smallint |
- References TourneyTypes.id |
-
siteTourneyNo |
- bigint |
- |
entries |
- int |
- -1 if unknown |
-
prizepool |
- int |
- Need this as separate field to support rebuy/addon -1 if unknown |
-
startTime |
- datetime (in UTC) |
- Empty if unknown |
-
comment |
- text |
- |
commentTs |
- datetime (in UTC) |
-
Table TourneyTypes
-Field name |
- Type |
- Comment |
-
id |
- int |
- |
siteId |
- smallint |
- References Sites.id |
-
buyin |
- int |
- Buy-in in cents. Without rebuy/add-on |
-
fee |
- int |
- |
knockout |
- int |
- |
rebuyOrAddon |
- boolean |
- Whether rebuys or add-ons are possible |
-
Table TourneysPlayers
-Field Name |
- Type |
- Comment |
-
id |
- bigint |
- |
tourneyId |
- int |
- References Tourneys.id |
-
playerId |
- int |
- References Players.id |
-
payinAmount |
- int |
- Buyin, fee, rebuys and add-ons |
-
rank |
- int |
- Finishing rank |
-
winnings |
- signed int |
- Winnings (not profit) by this player, -1 if unknown. |
-
comment |
- text |
- |
commentTs |
- datetime (in UTC) |
-
Possible Changes
-Table |
- Comment |
-
BoardCards |
- Remove as these attributes are now stored on Hands |
-
HandsActions |
- Remove if/when these attributes are stored on Hands or elsewhere |
-
HandsPlayers |
- Move tourneyTypeId field to Hands table. |
-
Comments |
- Comment fields on various tables should probably be moved to a single comment table. Aim - should be to where possible reduce tables to a list of fixed length not-null columns and have - the larger, sparser comment columns in a dedicated table. (May not be possible or practical but - something to aim at.) |
-