Commit graph

303 commits

Author SHA1 Message Date
def ede6a9f93f More uniform /times output (thanks Soreu) 2016-05-20 18:28:33 +02:00
H-M-H 2bcbe52d14 fixed /load message 2016-05-11 15:54:09 +02:00
H-M-H 42fc8a0fe2 fixed use of Str and ClrStr 2016-05-11 15:26:16 +02:00
H-M-H 6a2438e1cf fixed includes 2016-05-11 15:01:53 +02:00
H-M-H 3b6baaa8d3 made CSqlData const for threadfunctions and added a class for sqlstrings
CSqlData is const for threadfunctions now to avoid modification from
within the threadfunctions as these might be called several times.
Previously this was a problem as ClearString could possibily be applied
multiple times to the same string.

To solve this the class CSqlString has been added. This class takes a
const char* and copies it. Additionally a clearstring is created from
the given const char*. This enables access to the original as well as
the cleared string safe for sql-statements.

sql_string_helpers got an own source file now.

A crashbug from CSqlServer has been fixed (pointer has not been set
back to 0)
2016-05-09 23:35:23 +02:00
H-M-H 4bf1a68292 do not write nullbytes to failed_sql.sql 2016-05-05 13:23:35 +02:00
H-M-H 30ca8d8774 made writing to sql-failurefile threadsafe 2016-05-04 23:37:34 +02:00
H-M-H 5dc47ede58 put sql_string_helpers into an own namespace 2016-05-04 16:51:18 +02:00
H-M-H a7c0cd58ee fixed birthdaycheck and the format of sql-inserts for the failure-file 2016-05-04 16:47:53 +02:00
H-M-H cd41220a44 wait for score-threads on shutdown 2016-05-04 15:32:24 +02:00
H-M-H a93e845e6d checkbirthday now also sends a broadcast to the 'birthdaychild' 2016-05-03 23:50:42 +02:00
H-M-H 94f163f094 added CSqlPlayerData for simple tasks like getting best time 2016-05-03 23:24:44 +02:00
H-M-H c9e65c7931 Merge branch 'master' into sqlmasters 2016-05-03 23:07:24 +02:00
H-M-H c9b64053d0 cleaned up structure of sql_score.cpp 2016-05-03 20:45:58 +02:00
H-M-H d0cebb576d sql-score can now handle mapchanges/reloads 2016-05-03 20:36:17 +02:00
def 61e47422f6 Clean up debug messages a bit (lower case, no useless errors) 2016-05-02 21:35:32 +02:00
def 750f30b6b9 Don't use hardcoded table name 2016-04-23 16:42:54 +02:00
def fc2bf86174 Birthday check when player joins 2016-03-26 00:20:18 +01:00
def 52fcc6e550 Fix sv_hide_score 2016-03-26 00:19:44 +01:00
def b2105ef3ec Revert "Nicer formatting for SQL stats"
This reverts commit c36b7efe1d.
2016-03-09 23:45:48 +01:00
def 64e4f99102 Revert "Further improvement on ranks formatting"
This reverts commit fad318e86f.
2016-03-09 23:45:43 +01:00
def fad318e86f Further improvement on ranks formatting 2016-03-08 17:53:49 +01:00
def c36b7efe1d Nicer formatting for SQL stats 2016-03-08 17:36:14 +01:00
H-M-H 53a004fa74 reset preferred sql-server to the first specified
on map load
2016-02-20 15:33:35 +01:00
H-M-H 2bd6d0c381 do not always try to connect to unreachable sqlservers
but instead remember the last reachable server
- some cleanup
- added timeout of 10 seconds to sql-connections
2016-02-20 15:33:35 +01:00
H-M-H 783c2161f1 sql_score init is threaded now 2016-02-20 15:33:35 +01:00
H-M-H 8dacd88755 more generic format of saved sql-inserts 2016-02-20 15:33:35 +01:00
H-M-H 88ed7391da handle exceptions from sql properly
- write failed sqlinserts to a file
- improved structure
2016-02-20 15:33:35 +01:00
H-M-H 1314085928 restructured sqlconnection
reading from and writing to several different servers is now possible
TODO:
-handle Exceptions properly (try another sqlserver)
-if everything fails while writing write the insert to a file
2016-02-20 15:33:35 +01:00
H-M-H 2d41ce3527 try next sqlmaster also if the current write fails 2016-02-20 15:33:35 +01:00
H-M-H c4ab59e4c3 fixed use of locks for threading:
each sqlserver has its own lock now
-> it is required that every connect call is followed by a disconnect call
2016-02-20 15:33:35 +01:00
H-M-H 15f2e07c48 moved sqlserver stuff into CServer-class
as sqlconnections should not last only
until next mapreload
2016-02-20 15:33:35 +01:00
H-M-H 6ba10d2719 mastersqlservers are working now
TODO: move the sqlserver objects somewhere else
so they wont be destroyed on every reload
2016-02-20 15:33:35 +01:00
H-M-H 5e4456584f started with sqlmasters
+ added #ifdef for sql_server.cpp
(fixes compilation for release mode)
2016-02-20 15:33:35 +01:00
H-M-H 9ed66f7adc Cleanup of Sqlconnection
-moved all connectionstuff to a new class
-moved sqlstring functions to an own file
-do not give threads access to CSqlScore
2016-02-20 15:33:35 +01:00
def 05fcc58b2f Oops, next SQL server compilation fix 2015-09-23 14:05:54 +02:00
def 97152e5cbf Hopefully fix SQL server compilation with Visual Studio 2015-09-23 11:54:20 +02:00
def 336e916548 Add option not to create sql tables 2015-09-15 09:28:18 +02:00
def ffe9235151 Oops, another one 2015-09-05 17:59:37 +02:00
def 7487923774 Fix Windows thread handle leak 2015-09-05 04:49:22 +02:00
def 0fa06c4a5e Server names may be 4 bytes long 2015-09-05 00:48:11 +02:00
def f62bb1821c /map and /mapinfo improvement (fixes #292) 2015-08-19 22:43:08 +02:00
def 1fd0f947af Better numbers in average time for /mapinfo 2015-08-09 22:20:52 +02:00
def f39b85a3e2 Add average time to /mapinfo 2015-08-06 16:02:00 +02:00
def d57b0d62c6 Support for 0 stars in database 2015-07-23 12:49:22 +02:00
def 949fcb2c40 Remove one useless debug print 2015-07-23 12:11:42 +02:00
def bab961f054 Prepare switch to mixed case server names 2015-07-22 19:56:24 +02:00
def 0cb50c1805 Print actual SQL inserts/updates to debug log 2015-07-22 19:05:45 +02:00
def 4e658c1057 Minor cleanups 2015-07-22 18:23:40 +02:00
def da68023f7a Off by one ;) 2015-07-11 19:28:45 +02:00
def 6d68e22cd1 Hopefully fix string fuzzying for unicode 2015-07-11 19:26:57 +02:00
def 73229fbb62 Only allow /save when team is started already (prevents saving after
noobfilter)
2015-07-09 23:48:29 +02:00
def 6e8ada1ac8 Fix whitespaces a bit 2015-07-09 02:12:35 +02:00
def fbe1bcbf39 Don't capitalize server name in /mapinfo 2015-07-08 15:47:46 +02:00
def 872a94618d Oops, use non-fuzzy map string 2015-07-08 02:14:33 +02:00
def 87227927cd /map and /mapinfo: Prefer exact match, including capitalization 2015-07-08 02:07:49 +02:00
def e20be248f0 Fix previous commit 2015-07-01 16:27:19 +02:00
def e552ef2643 Print number of finished tees in /mapinfo as well 2015-07-01 16:24:27 +02:00
def 3b7fca86c6 Initialize pReleasedString 2015-06-25 22:38:16 +02:00
def dcddb7896d It would help to test before commiting 2015-06-24 21:53:00 +02:00
def 2decad5d75 Fix SQL query of /mapinfo for empty case 2015-06-24 21:46:42 +02:00
def a0ac817966 Fix 2015-06-24 19:18:59 +02:00
def 6b300334f7 Nicer wording 2015-06-24 19:17:49 +02:00
def 7c9d452c61 Fix /mapinfo string 2015-06-24 19:15:03 +02:00
def 9a55f52e61 Fix SQL query 2015-06-24 19:04:34 +02:00
def 6b1c7a5350 Initial support for release dates in /mapinfo 2015-06-24 19:03:03 +02:00
def 230ad1a6f6 Revert "Timestamp index for race table for improved performance of /players/"
Better indices on the relevant server, not necessary everywhere else.

This reverts commit d4d5109c47.
2015-04-19 12:52:27 +02:00
def d4d5109c47 Timestamp index for race table for improved performance of /players/ 2015-04-19 11:55:35 +02:00
def 3992b1346b Hopefully fix compilation on new OS X systems
Names collided with some new OS X defined names, fixes #189
2015-04-07 19:07:38 +02:00
def 96e864e9c3 Fix: Make /map work with # 2015-01-23 21:47:16 +01:00
def 6dc501f286 Fix: Actually should spam protect sql messages 2014-12-25 14:56:31 +01:00
def ec53836d83 Don't lose memory 2014-12-19 17:51:04 +01:00
def 8f72b2fdb6 Fix 2014-12-19 17:47:11 +01:00
def 87afb28a40 Further save cleanup 2014-12-19 17:43:23 +01:00
def da0750d26f Remove buggy and unneeded finish time in /rank and /rankteam 2014-12-19 16:27:10 +01:00
def 75bbf64bbd Allow to set country where you can load savegame 2014-12-19 11:30:14 +01:00
def b0ae9d095f Don't spam protect sql messages 2014-12-18 15:52:24 +01:00
def 2750a23792 Only allow savegames on same server. Clean up saving a bit and prevent another possible exploit 2014-12-17 20:38:05 +01:00
def 0a9b0b11b9 Significantly improve performance of /rank 2014-11-11 11:51:36 +01:00
def ae78518c83 Another fix for mariadb 10 2014-11-11 11:35:43 +01:00
def 37a8e89f73 Fix /points and /top5points with MariaDB 10 2014-11-09 20:22:31 +01:00
def 630e8430aa Fix: Show 0 finishes in /mapinfo 2014-11-09 00:25:53 +01:00
def 0f257bf553 Add delay (of 1 minute by default) to loading savegames 2014-10-26 02:39:12 +02:00
def e29571dd73 save doesn't create ranks accidentally anymore (fixes #73) 2014-10-21 14:27:10 +02:00
def e0a16e0644 /mapinfo: Show mapper name 2014-10-11 12:58:27 +02:00
def 9c0bb7d02b Vote random map with defined nr of stars 2014-10-11 01:01:32 +02:00
def dcc64f1902 Vote random unfinished map with defined nr of stars 2014-10-11 00:41:56 +02:00
def 3dd24c3dee Add stars to /mapinfo 2014-10-11 00:16:33 +02:00
def ce0f1d2ed7 Fix segfaults when mysql server is not reachable and map is changed/reloaded 2014-09-26 23:59:11 +02:00
def f175025c8c Add number of finishes to /mapinfo 2014-09-20 14:07:46 +02:00
def 5825077537 Use new record_points 2014-08-26 17:46:47 +02:00
def d46eb4b03c Preparation for faster /points and /top5points 2014-08-26 14:18:38 +02:00
def dff02ab916 Record server name into sql table record_race 2014-08-26 03:46:24 +02:00
def 75538e32cc make sv_vote_max_total only work for kick and spec votes 2014-08-12 13:41:57 +02:00
def 5cbd71de8f Try to fix /save for solo servers 2014-07-28 15:42:57 +02:00
def a28cc2da76 Fix save/load freeze 2014-07-26 17:16:42 +02:00
def 145f0434f5 Add /save by the glorious HMH 2014-07-26 14:46:31 +02:00
def 809dd8adf0 Hopefully fix mapinfo on some maps 2014-07-19 17:07:26 +02:00
def a7329d0a14 Add random_unfinished_map 2014-06-20 22:40:23 +02:00
def 726cf67348 Add sv_rank_cheats 2014-05-25 10:55:33 +02:00
def 442edc4692 Fix compile 2014-05-19 01:59:35 +02:00
def 4c87cedd4d Better make sure that something exists before using it 2014-05-19 01:57:52 +02:00
def 1129ea28f4 Make sv_vote_delay work 2014-05-04 11:10:42 +02:00
def 94868e29aa Hopefully fix /map bugs 2014-04-30 15:45:08 +02:00
def 014b070586 Fix: Don't crash SQL 2014-04-29 18:43:02 +02:00
def 3f7f3b9719 Fix: Proper vote limits with /map 2014-04-26 18:12:53 +02:00
def b8fce1c0f4 Another 50% speedup for /points and /top5points 2014-03-19 12:02:29 +01:00
def 133583708d Speed up /points and /top5points by 50% 2014-03-19 11:47:02 +01:00
def ab9cd8c06f fix 2014-03-04 03:08:37 +01:00
def 73663f2919 Vote delay for /map 2014-03-04 02:48:58 +01:00
def b8780a3b98 Fix Crash when you start server and MySQL is not reachable 2014-02-25 21:22:16 +01:00
def 3b8645ae98 1 point, many points 2014-02-25 19:55:35 +01:00
def c36922c4f4 Better examples and information for /map 2014-02-19 21:35:56 +01:00
def a5f3de6827 Add /map (for votes) and /mapinfo (instead of /mappoints) 2014-02-19 21:22:36 +01:00
def 3c39b4460b Fix SQL queries 2014-02-14 21:15:40 +01:00
def 8bb7d84366 Fix sql queries 2014-02-14 20:55:02 +01:00
def 2b9427d48d Should use the correct index to improve performance for important queries by a factor of 200 2014-02-13 00:46:01 +01:00
def f4cc6e4efd Huge SQL bug 2014-02-03 20:03:49 +01:00
def 7d69b07160 Code cleanup 2014-02-03 14:34:19 +01:00
def 4fcb4f852f Fix: Another wrong delete 2014-02-03 13:00:35 +01:00
def 20f66fbcae Fix: SQL table for maps should have unique key 2014-02-03 11:20:37 +01:00
def 51fcd75ac6 Fix: Wrong delete 2014-02-03 05:54:40 +01:00
def 1dd666e066 Major SQL Change:
Keep records in a single table records_race
  Keep team records in a single table records_teamrace
  Keep maps with their server and respective points in a table records_maps
2014-02-03 04:31:30 +01:00
def ab2563c2b5 Threaded points load 2014-01-09 12:23:23 +01:00
def 6ef5c5de98 Fix memory leak 2014-01-09 04:02:28 +01:00
def 2dc5573ea7 Create binary names to be case sensitive in SQL queries 2013-11-28 16:00:01 +01:00
def 5460982a45 Merge branch 'DDRace' of github.com:def-/teeworlds into DDRace 2013-11-28 15:15:14 +01:00
def ce8d17744a Add /mappoints 2013-11-28 15:11:59 +01:00
def 24be89224f Proper ranks for /points and /top5points 2013-11-26 23:16:33 +01:00
def d9ace010cb Fix /top5team 2013-11-19 22:36:04 +01:00
def f8beef7e87 Proper rank positions ingame 2013-11-19 22:15:08 +01:00
def 1a8da052f0 Fix SQL teamrace time comparison to be more exact 2013-11-14 19:39:28 +01:00
def 3dda7569e6 Display saved scores 2013-11-14 16:08:04 +01:00
def 582562ed1e Remove useless code 2013-11-09 00:07:57 +01:00
def 35996eaa69 Revert "Speedup server map change by threading SQL initialization"
Causes problems with high ping servers when initializiation wasn't done
and new map is voted.

This reverts commit 13a6f5f2e8.
2013-10-15 07:07:33 +02:00
def 13a6f5f2e8 Speedup server map change by threading SQL initialization 2013-10-14 20:51:50 +02:00
def 46f6cefdd6 Fix sql 2013-09-29 15:29:32 +02:00
def 762dd451d3 fix 2013-08-23 20:46:08 +02:00
def 71946ac0f8 Fix 2013-08-23 15:25:46 +02:00
def c53d167ab8 Fix 2013-08-23 03:02:45 +02:00
def bed7225da6 Fix: Better looking 2013-08-23 03:01:01 +02:00
def 91cbb4745e More compact time representation 2013-08-23 02:56:31 +02:00
def 0a3177ed71 Fix: Team score saving for players with sql escaped characters 2013-08-17 06:10:44 +02:00
def 32109b0f15 Missing buffer 2013-08-12 20:35:46 +02:00
def 72ca64501f New SQL, automatic reconnect 2013-08-12 20:13:12 +02:00
def 33566a626c Try to fix memory leaks 2013-08-08 01:47:49 +02:00
def f32d22b4fd Fix order in team top5 2013-08-06 20:03:14 +02:00
def 53d6fe3db8 use correct first name 2013-08-06 19:28:17 +02:00
def 6d272e91b5 SQL: clear strings first 2013-08-06 19:26:28 +02:00
def 7dc439e13f Fix: Delete points at correct position 2013-08-03 17:28:11 +02:00