Commit 7096624
Saurabh Badenkal
Upgrade: cross join guardrail from warning to ValidationError
Implicit cross joins (FROM a, b without ON) now raise ValidationError
instead of UserWarning. The server allows these but they produce
cartesian products (N*M intermediate rows) that degrade shared DB.
SDK now blocks with clear error: 'Implicit cross join detected...
Use explicit JOIN...ON syntax instead.'
New subcode: validation_sql_cross_join_blocked
SDK guardrail summary:
- INSERT/UPDATE/DELETE -> ValidationError (blocked)
- FROM a, b (cartesian) -> ValidationError (blocked) <-- upgraded
- LIKE '%value' -> UserWarning (performance advisory)
- SELECT * with JOIN -> UserWarning (partial expansion)
756 unit tests passing.1 parent f8f5151 commit 7096624
3 files changed
Lines changed: 24 additions & 30 deletions
File tree
- src/PowerPlatform/Dataverse
- core
- data
- tests/unit/data
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| 45 | + | |
45 | 46 | | |
46 | 47 | | |
47 | 48 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| |||
926 | 927 | | |
927 | 928 | | |
928 | 929 | | |
929 | | - | |
| 930 | + | |
930 | 931 | | |
931 | | - | |
932 | | - | |
933 | | - | |
934 | | - | |
935 | | - | |
936 | | - | |
937 | | - | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
938 | 939 | | |
939 | 940 | | |
940 | 941 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
156 | 156 | | |
157 | 157 | | |
158 | 158 | | |
159 | | - | |
| 159 | + | |
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
163 | | - | |
164 | | - | |
| 163 | + | |
| 164 | + | |
165 | 165 | | |
166 | | - | |
| 166 | + | |
167 | 167 | | |
168 | | - | |
169 | | - | |
| 168 | + | |
170 | 169 | | |
171 | | - | |
172 | | - | |
173 | 170 | | |
174 | | - | |
| 171 | + | |
175 | 172 | | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
183 | 178 | | |
184 | | - | |
| 179 | + | |
185 | 180 | | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
| 181 | + | |
| 182 | + | |
191 | 183 | | |
192 | 184 | | |
193 | 185 | | |
| |||
0 commit comments