10 UMLClass 750 850 420 90 **Expression** -- -- to_sql(): str resolve_data_type_category(): DataType bg=#F3F781 UMLClass 1130 1000 210 50 ExpressionWithArgs UMLClass 940 520 160 50 **QueryTemplate** Relation 1010 560 120 310 lt=<<<<- uses in select m1=1 m2=* 10.0;10.0;10.0;290.0 Relation 950 930 280 90 lt=<<- 10.0;10.0;10.0;40.0;260.0;40.0;260.0;70.0 UMLClass 780 1080 160 80 **DataValue** -- value: str identifier: str Relation 950 930 30 90 lt=<<- 10.0;10.0;10.0;70.0 UMLClass 100 1070 160 80 **DataType** -- identifier: str type_name: str bg=#F3F781 Relation 250 1120 130 40 lt=<<<<- m2=1 110.0;10.0;10.0;10.0 UMLClass 0 1260 160 110 NumberDataType -- is_signed: bool is_decimal: bool tiny_value: str max_value: str Relation 70 1140 130 140 lt=<<- 110.0;10.0;110.0;50.0;10.0;50.0;10.0;120.0 UMLClass 840 1230 210 280 ExpressionCharacteristics <<enum>> -- NULL NON_EMPTY ZERO ONE TINY_VALUE MAX_VALUE OVERSIZE NEGATIVE DECIMAL DECIMAL_OR_FLOAT_TYPED LARGER_THAN_INT4_TYPED FLOAT_TYPED Relation 560 910 360 660 lt=<<<<- has m1=1 m2=* 190.0;10.0;10.0;10.0;10.0;640.0;330.0;640.0;330.0;600.0 UMLClass 1430 680 240 100 **QueryExecution** -- query_id: str UMLClass 1510 870 160 70 **QueryOutcome** -- successful: bool sql: str bg=#F3F781 UMLClass 1420 1010 160 50 QueryResult -- result: seq[seq[any]] UMLClass 1590 1010 160 50 QueryFailure -- error_message: str Relation 1580 770 40 120 lt=<<<<- m1=1 m2=* 10.0;10.0;10.0;100.0 Relation 1580 930 140 100 lt=<<- 10.0;10.0;10.0;40.0;120.0;40.0;120.0;80.0 Relation 1490 930 120 100 lt=<<- 100.0;10.0;100.0;40.0;10.0;40.0;10.0;80.0 Relation 1160 890 190 130 lt=<<<<- has args m1=1 m2=* 110.0;110.0;110.0;10.0;10.0;10.0 UMLClass 1130 1150 210 90 **DbOperationOrFunction** -- commutative: bool aggregation: bool -- to_pattern(): str bg=#F3F781 Relation 1200 1040 80 130 lt=<<<<- used in m1=1 m2=* 10.0;110.0;10.0;10.0 UMLClass 1420 1260 160 50 DbOperation UMLClass 1420 1330 160 50 DbFunction Relation 1320 1230 120 80 lt=<<- 10.0;10.0;10.0;60.0;100.0;60.0 Relation 1320 1230 120 150 lt=<<- 10.0;10.0;10.0;130.0;100.0;130.0 UMLClass 1960 940 230 70 **EvaluationStrategy** -- -- generate_source(): list[str] bg=#F3F781 UMLClass 2080 1100 210 50 DataflowRenderingStrategy UMLClass 1840 1100 210 50 ConstantFoldingStrategy Relation 1090 530 410 170 lt=<<<<- m1=1 m2=1 10.0;10.0;380.0;10.0;380.0;150.0 Relation 2070 1000 130 120 lt=<<- 10.0;10.0;10.0;40.0;110.0;40.0;110.0;100.0 Relation 1960 1000 140 120 lt=<<- 120.0;10.0;120.0;40.0;10.0;40.0;10.0;100.0 Relation 1660 870 460 90 lt=<<<<- m2=1 10.0;20.0;430.0;20.0;430.0;70.0 UMLClass 1090 1420 160 60 OperationParam -- optional: bool Relation 1160 1230 50 210 lt=<<<<- has m1=1 m2=* 10.0;10.0;10.0;190.0 UMLClass 1420 1150 210 50 OperationArgsValidator Relation 1330 1160 110 50 lt=<<<<- has m1=1 m2=* 10.0;20.0;90.0;20.0 UMLClass 100 760 160 160 DataTypeCategory <<enum>> -- ANY DYNAMIC NUMERIC TEXT DATE_TIME ENUM Relation 170 910 50 180 lt=<<<<- has m1=1 m2=* 10.0;10.0;10.0;160.0 UMLClass 180 1260 160 110 TextDataType -- ... Relation 170 1140 110 140 lt=<<- 10.0;10.0;10.0;50.0;90.0;50.0;90.0;120.0 UMLClass 1850 470 230 70 **ValidationOutcome** -- successful: bool bg=#F3F781 Relation 1580 470 290 230 lt=- belongs to m1=1 m2=1 270.0;20.0;10.0;20.0;10.0;210.0 UMLClass 1850 600 230 90 ValidationMessage -- message: str description: str UMLClass 2050 750 160 100 ValidationError -- value1: str value2: str location: str ... UMLClass 1880 750 160 50 ValidationWarning Relation 1950 530 40 90 lt=<<<<- m1=1 m2=* 10.0;10.0;10.0;70.0 Relation 1950 680 200 90 lt=<<- 10.0;10.0;10.0;40.0;180.0;40.0;180.0;70.0 Relation 1770 680 210 90 lt=<<- 190.0;10.0;190.0;40.0;10.0;40.0;10.0;70.0 UMLClass 2290 750 210 120 ValidationErrorType <<enum>> -- SUCCESS_MISMATCH ROW_COUNT_MISMATCH CONTENT_MISMATCH ERROR_MISMATCH Relation 2200 750 110 50 lt=<<<<- m2=1 10.0;20.0;90.0;20.0 UMLClass 640 20 260 160 **ConsistencyTestRunner** bg=#F3F781 UMLClass 640 380 260 80 ConsistencyTestSummary -- count_executed: int count_passed: int count_warnings: int UMLClass 230 0 260 190 ConsistencyTestConfiguration -- queries_per_tx: int max_cols_per_query: int random_seed: int split_and_retry_on_db_error: bool dry_run: bool fail_fast: bool execute_setup: bool verbose_output: bool ... UMLClass 1710 750 160 50 ValidationRemark Relation 1950 680 30 90 lt=<<- 10.0;10.0;10.0;70.0 Relation 920 1470 270 100 lt=- forbids combinations m1=* m2=* 240.0;10.0;240.0;80.0;10.0;80.0;10.0;40.0 Relation 250 790 1140 260 lt=<<<<- has m2=1 1090.0;240.0;1120.0;240.0;1120.0;20.0;10.0;20.0 Relation 250 1080 550 40 lt=<<<<- m2=1 530.0;10.0;10.0;10.0 UMLClass 360 1110 160 100 DataTypeWithValues Relation 510 1120 290 40 lt=<<<<- m2=1..* 10.0;10.0;270.0;10.0 UMLClass 1660 150 260 50 InconsistencyIgnoreFilter UMLClass 1150 100 310 40 ExpressionGenerator UMLClass 1150 150 310 40 QueryGenerator Relation 1450 160 230 40 lt=<<<<- m2=1 10.0;10.0;210.0;10.0 Relation 890 160 280 40 lt=<<<<- m2=1 10.0;10.0;260.0;10.0 Relation 890 110 280 40 lt=<<<<- m2=1 10.0;10.0;260.0;10.0 Relation 480 50 180 40 lt=<<<<- m2=1 160.0;10.0;10.0;10.0 Relation 760 170 80 230 lt=- produce m2=1 10.0;10.0;10.0;210.0 UMLClass 1150 0 310 40 ResultComparator Relation 890 10 280 40 lt=<<<<- m2=1 10.0;10.0;260.0;10.0 UMLClass 1150 50 310 40 SqlExecutor Relation 890 60 280 40 lt=<<<<- m2=1 10.0;10.0;260.0;10.0 Relation 1030 180 190 360 lt=- generates m2=* fg=gray 170.0;10.0;170.0;150.0;10.0;150.0;10.0;340.0 Relation 1140 110 390 760 lt=- generates m2=* fg=gray 320.0;10.0;370.0;10.0;370.0;280.0;10.0;280.0;10.0;740.0 UMLClass 950 1080 160 80 **DataColumn** Relation 510 1150 530 60 lt=<<<<- m2=1..* 10.0;40.0;490.0;40.0;490.0;10.0 Relation 1010 1040 30 60 lt=<<- 10.0;10.0;10.0;40.0 UMLClass 340 850 160 100 ValueStorageLayout <<enum>> -- HORIZONTAL VERTICAL ANY Relation 490 860 280 40 lt=<<<<- m2=1 260.0;10.0;10.0;10.0 UMLClass 840 1000 210 50 LeafExpression Relation 880 1040 30 60 lt=<<- 10.0;10.0;10.0;40.0 UMLClass 1270 1420 160 60 ReturnTypeSpec Relation 1280 1230 50 210 lt=<<<<- has m1=1 m2=1 10.0;10.0;10.0;190.0 UMLClass 610 1000 210 50 EnumConstant Relation 700 930 280 90 lt=<<- 260.0;10.0;260.0;40.0;10.0;40.0;10.0;70.0