Skip to content

Commit ee72965

Browse files
authored
Merge pull request #3867 from SFDO-Tooling/select_rows/default_record_selection_bug
Remove default declaration for select rows query
2 parents ed82f07 + 409f4ee commit ee72965

5 files changed

Lines changed: 8 additions & 70 deletions

File tree

cumulusci/tasks/bulkdata/select_utils.py

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@
77
from pydantic import Field, root_validator, validator
88

99
from cumulusci.core.enums import StrEnum
10-
from cumulusci.tasks.bulkdata.extract_dataset_utils.hardcoded_default_declarations import (
11-
DEFAULT_DECLARATIONS,
12-
)
1310
from cumulusci.tasks.bulkdata.utils import CaseInsensitiveDict
1411
from cumulusci.utils import get_cci_upgrade_command
1512
from cumulusci.utils.yaml.model_parser import CCIDictModel
@@ -188,10 +185,6 @@ def standard_generate_query(
188185
filter_clause=user_filter, limit_clause=limit, offset_clause=offset
189186
)
190187
else:
191-
# Get the WHERE clause from DEFAULT_DECLARATIONS if available
192-
declaration = DEFAULT_DECLARATIONS.get(sobject)
193-
if declaration:
194-
query += f" WHERE {declaration.where}"
195188
query += f" LIMIT {limit}" if limit else ""
196189
query += f" OFFSET {offset}" if offset else ""
197190
return query, ["Id"]
@@ -281,10 +274,6 @@ def similarity_generate_query(
281274
filter_clause=user_filter, limit_clause=limit, offset_clause=offset
282275
)
283276
else:
284-
# Get the WHERE clause from DEFAULT_DECLARATIONS if available
285-
declaration = DEFAULT_DECLARATIONS.get(sobject)
286-
if declaration:
287-
query += f" WHERE {declaration.where}"
288277
query += f" LIMIT {limit}" if limit else ""
289278
query += f" OFFSET {offset}" if offset else ""
290279

cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_random_strategy.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ interactions:
4848

4949
- request:
5050
method: GET
51-
uri: https://orgname.my.salesforce.com/services/data/v62.0/query/?q=SELECT%20Id,%20Name,%20Description,%20Phone,%20AccountNumber%20FROM%20Account%20WHERE%20Name%20!=%20'Sample%20Account%20for%20Entitlements'
51+
uri: https://orgname.my.salesforce.com/services/data/v62.0/query/?q=SELECT%20Id,%20Name,%20Description,%20Phone,%20AccountNumber%20FROM%20Account
5252
body: null
5353
headers: *id004
5454
response:
@@ -125,7 +125,7 @@ interactions:
125125

126126
- request:
127127
method: GET
128-
uri: https://orgname.my.salesforce.com/services/data/v62.0/query/?q=SELECT%20Id%20FROM%20Account%20WHERE%20Name%20!=%20'Sample%20Account%20for%20Entitlements'%20LIMIT%205
128+
uri: https://orgname.my.salesforce.com/services/data/v62.0/query/?q=SELECT%20Id%20FROM%20Account%20LIMIT%205
129129
body: null
130130
headers: *id004
131131
response:

cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_similarity_strategy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ interactions:
4848

4949
- request:
5050
method: GET
51-
uri: https://orgname.my.salesforce.com/services/data/v62.0/query/?q=SELECT%20Id,%20Name,%20Description,%20Phone,%20AccountNumber%20FROM%20Account%20WHERE%20Name%20!=%20'Sample%20Account%20for%20Entitlements'
51+
uri: https://orgname.my.salesforce.com/services/data/v62.0/query/?q=SELECT%20Id,%20Name,%20Description,%20Phone,%20AccountNumber%20FROM%20Account
5252
body: null
5353
headers: *id004
5454
response:

cumulusci/tasks/bulkdata/tests/cassettes/TestSelect.test_select_standard_strategy.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ interactions:
4848

4949
- request:
5050
method: GET
51-
uri: https://orgname.my.salesforce.com/services/data/v62.0/query/?q=SELECT%20Id,%20Name,%20Description,%20Phone,%20AccountNumber%20FROM%20Account%20WHERE%20Name%20!=%20'Sample%20Account%20for%20Entitlements'
51+
uri: https://orgname.my.salesforce.com/services/data/v62.0/query/?q=SELECT%20Id,%20Name,%20Description,%20Phone,%20AccountNumber%20FROM%20Account
5252
body: null
5353
headers: *id004
5454
response:
@@ -125,7 +125,7 @@ interactions:
125125

126126
- request:
127127
method: GET
128-
uri: https://orgname.my.salesforce.com/services/data/v62.0/query/?q=SELECT%20Id%20FROM%20Account%20WHERE%20Name%20!=%20'Sample%20Account%20for%20Entitlements'%20LIMIT%205
128+
uri: https://orgname.my.salesforce.com/services/data/v62.0/query/?q=SELECT%20Id%20FROM%20Account%20LIMIT%205
129129
body: null
130130
headers: *id004
131131
response:

cumulusci/tasks/bulkdata/tests/test_select_utils.py

Lines changed: 3 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,7 @@
2424
PANDAS_AVAILABLE = False
2525

2626

27-
# Test Cases for standard_generate_query
28-
def test_standard_generate_query_with_default_record_declaration():
29-
select_operator = SelectOperationExecutor(SelectStrategy.STANDARD)
30-
sobject = "Account" # Assuming Account has a declaration in DEFAULT_DECLARATIONS
31-
limit = 5
32-
offset = 2
33-
query, fields = select_operator.select_generate_query(
34-
sobject=sobject, fields=[], user_filter="", limit=limit, offset=offset
35-
)
36-
37-
assert "WHERE" in query # Ensure WHERE clause is included
38-
assert f"LIMIT {limit}" in query
39-
assert f"OFFSET {offset}" in query
40-
assert fields == ["Id"]
41-
42-
43-
def test_standard_generate_query_without_default_record_declaration():
27+
def test_standard_generate_query_without_filter():
4428
select_operator = SelectOperationExecutor(SelectStrategy.STANDARD)
4529
sobject = "Contact" # Assuming no declaration for this object
4630
limit = 3
@@ -49,7 +33,6 @@ def test_standard_generate_query_without_default_record_declaration():
4933
sobject=sobject, fields=[], user_filter="", limit=limit, offset=offset
5034
)
5135

52-
assert "WHERE" not in query # No WHERE clause should be present
5336
assert f"LIMIT {limit}" in query
5437
assert "OFFSET" not in query
5538
assert fields == ["Id"]
@@ -72,23 +55,7 @@ def test_standard_generate_query_with_user_filter():
7255
assert fields == ["Id"]
7356

7457

75-
# Test Cases for random generate query
76-
def test_random_generate_query_with_default_record_declaration():
77-
select_operator = SelectOperationExecutor(SelectStrategy.RANDOM)
78-
sobject = "Account" # Assuming Account has a declaration in DEFAULT_DECLARATIONS
79-
limit = 5
80-
offset = 2
81-
query, fields = select_operator.select_generate_query(
82-
sobject=sobject, fields=[], user_filter="", limit=limit, offset=offset
83-
)
84-
85-
assert "WHERE" in query # Ensure WHERE clause is included
86-
assert f"LIMIT {limit}" in query
87-
assert f"OFFSET {offset}" in query
88-
assert fields == ["Id"]
89-
90-
91-
def test_random_generate_query_without_default_record_declaration():
58+
def test_random_generate_query():
9259
select_operator = SelectOperationExecutor(SelectStrategy.RANDOM)
9360
sobject = "Contact" # Assuming no declaration for this object
9461
limit = 3
@@ -97,7 +64,6 @@ def test_random_generate_query_without_default_record_declaration():
9764
sobject=sobject, fields=[], user_filter="", limit=limit, offset=offset
9865
)
9966

100-
assert "WHERE" not in query # No WHERE clause should be present
10167
assert f"LIMIT {limit}" in query
10268
assert "OFFSET" not in query
10369
assert fields == ["Id"]
@@ -209,23 +175,7 @@ def test_random_post_process_with_no_records():
209175
assert error_message == f"No records found for {sobject} in the target org."
210176

211177

212-
# Test Cases for Similarity Generate Query
213-
def test_similarity_generate_query_with_default_record_declaration():
214-
select_operator = SelectOperationExecutor(SelectStrategy.SIMILARITY)
215-
sobject = "Account" # Assuming Account has a declaration in DEFAULT_DECLARATIONS
216-
limit = 5
217-
offset = 2
218-
query, fields = select_operator.select_generate_query(
219-
sobject, ["Name"], [], limit, offset
220-
)
221-
222-
assert "WHERE" in query # Ensure WHERE clause is included
223-
assert fields == ["Id", "Name"]
224-
assert f"LIMIT {limit}" in query
225-
assert f"OFFSET {offset}" in query
226-
227-
228-
def test_similarity_generate_query_without_default_record_declaration():
178+
def test_similarity_generate_query_no_nesting():
229179
select_operator = SelectOperationExecutor(SelectStrategy.SIMILARITY)
230180
sobject = "Contact" # Assuming no declaration for this object
231181
limit = 3
@@ -234,7 +184,6 @@ def test_similarity_generate_query_without_default_record_declaration():
234184
sobject, ["Name"], [], limit, offset
235185
)
236186

237-
assert "WHERE" not in query # No WHERE clause should be present
238187
assert fields == ["Id", "Name"]
239188
assert f"LIMIT {limit}" in query
240189
assert "OFFSET" not in query

0 commit comments

Comments
 (0)