mindsdb / mindsdb_sql

SQL parser and planner used by MindsDB
https://mindsdb.com
GNU General Public License v3.0
54 stars 20 forks source link

Predict in partitions #382

Closed ea-rus closed 2 weeks ago

ea-rus commented 2 weeks ago

Updated planner to support option to plan query with partitions To enable it the 'partition_size' param should be used:

  select * from int.tab1 a
    join proj.pred1 p1          
   using partition_size=1000   

It will:

For now only ApplyPredictorStep and JoinStep could be used in partition

github-actions[bot] commented 2 weeks ago

Coverage

Coverage Report
FileStmtsMissCoverMissing
mindsdb_sql
   __about__.py10100%1–10
   __init__.py1292283%43, 47, 93, 110, 134–153, 160–161, 178
mindsdb_sql/parser
   lexer.py165199%243
   logger.py19479%14, 17, 23, 26
   parser.py4563193%48, 53, 73, 77, 81, 87, 91–93, 121–128, 182, 199, 249, 253, 317, 346–347, 367, 378, 491, 526, 557, 567, 581, 657
   utils.py46491%73–79
mindsdb_sql/parser/ast
   base.py36781%13, 28, 31, 49–52
   create.py701086%7–8, 21, 26, 89–94
   drop.py52296%10, 13
   insert.py63592%36, 39–41, 46
   show.py48198%18
   update.py53591%40–42, 75–76
mindsdb_sql/parser/ast/select
   case.py26292%19, 22
   constant.py36197%23
   data.py11282%15, 19
   identifier.py64789%43, 80–85
   native_query.py13192%25
   operation.py123794%27–30, 56, 65, 168, 187
   parameter.py11191%10
   select.py97397%148–153
   star.py12283%8–9
   union.py23196%18
mindsdb_sql/parser/dialects/mindsdb
   knowledge_base.py46198%79
   lexer.py2552192%336, 338, 340, 352, 354, 356, 362–380
   parser.py9572597%119, 123, 262, 287, 384, 570, 587, 611–612, 768, 822, 899, 1028, 1038, 1076–1077, 1102, 1113, 1249, 1302, 1739, 1747, 1800–1803
mindsdb_sql/parser/dialects/mysql
   lexer.py23674%16, 18, 20, 32, 34, 36
   parser.py6092496%131, 133, 226–227, 326, 356, 373, 423, 427, 501, 511, 549–550, 570, 581, 702, 730, 735–737, 741, 758, 902, 1046
   show_index.py171135%10–12, 15–23, 26–27
mindsdb_sql/planner
   plan_join.py3221396%141, 179, 188, 215, 219, 308, 358, 376, 385–386, 435, 445, 447
   plan_join_ts.py1791094%53, 60, 83–84, 129, 181, 185, 193, 268, 335
   query_plan.py22864%13–21, 30
   query_planner.py4216884%41–42, 65–66, 75, 152, 175, 318, 336–338, 345, 447, 475–553, 596–597, 610, 636, 698, 728, 756, 781–783
   query_prepare.py2846179%76, 78, 86–116, 227, 249, 272, 315, 336, 360, 389–443, 446–452, 483, 496–498, 507, 526
   step_result.py14286%7, 12
   steps.py1581690%12, 17, 25, 30–32, 51–53, 61–64, 90–92
   ts_utils.py67691%59, 61, 83–86, 90
   utils.py2422789%60, 106, 112, 127, 139, 151, 154, 166, 196, 209, 224, 230, 235, 242, 244, 249, 262, 267, 273, 279, 293, 310, 340–341, 352–353, 368
mindsdb_sql/render
   sqlalchemy_render.py4347782%53, 87, 89, 101, 106, 123, 125, 127, 129, 191, 194–195, 208–209, 220–221, 239, 269, 271, 300, 314, 320, 371, 434–445, 456–460, 490, 505, 510–520, 529–530, 554–565, 585, 618–642, 665, 671, 711–714, 735–738
TOTAL647050592% 

Tests Skipped Failures Errors Time
674 1 :zzz: 0 :x: 0 :fire: 23.871s :stopwatch: