Commit graph

141 commits

Author SHA1 Message Date
Ankush Menat
81b37cb7d2
refactor: clean up code to py310 supported features (#17367)
refactor: clean up code to py39+ supported syntax

- f-strings instead of format
- latest typing support instead of pre 3.9 TitleCase
- remove UTF-8 declarations.
- many more changes

Powered by https://github.com/asottile/pyupgrade/ + manual cleanups
2022-07-01 11:51:05 +05:30
gavin
574f160d3c
Merge branch 'develop' into mariadb-client-refactor 2022-06-23 16:13:03 +05:30
phot0n
5e1007940c refactor(minor): move test_modify_query and test_modify_values to TestDB class 2022-06-18 10:55:40 +05:30
phot0n
215507a742 test: add list value in test_modify_values 2022-06-18 10:45:40 +05:30
Gavin D'souza
71ed8417d3 test: frappe.db.describe returns List[Tuple] through mariadb 2022-06-16 16:23:27 +05:30
Ankush Menat
359c7768f5 fix: multiple postgres transaction abort issues
- wrap setup fixtures in savepoint
- wrap scheduled_job_type in savepoint
- ignore duplicates where it's ignored by exc
- dont attempt to delete from deleted table
- delete custom field and commit - stale meta causes future inserts to
  insert unknown field.
2022-06-05 00:26:15 +05:30
Ankush Menat
8861752675 fix: restart transaction after commit 2022-06-05 00:26:12 +05:30
Aradhya Tripathi
7a0dc40693
feat!: Added support for IS in frappe qb (#16877)
Fixes #16869
Using 53148c3f90
2022-05-18 09:09:22 +00:00
Ritwik Puri
968343b302
Merge branch 'develop' into autoinc-customize-form-fix 2022-05-13 00:41:58 +05:30
phot0n
b1d61906d1 test: update and rename test_change_autoname
* chore: remove unnecessary decorators for skiprun
2022-05-13 00:03:19 +05:30
saxenabhishek
0450a25822 test: get_count 2022-04-28 17:10:31 +05:30
phot0n
6405b0510a chore: fix linter 2022-04-20 17:56:48 +05:30
phot0n
c516357027 test(get_value): test for multiple order bys 2022-04-20 17:56:48 +05:30
Pruthvi Patel
8b010e1732
refactor: make frappe.db.bulk_insert work as expected (#16527)
## Issue

`frappe.db.bulk_insert` is not working as expected:
 - It will not insert any row if there are less than 3 values
 - It will not add 1st row at all. e.g if I'm adding 5 values, it will only add 4.
 - It will add values one by one after 2 values, instead it should have inserted items (in db) in chunk of 10000 (as per the code written before).

## Changes Made
 - Solved above issues 
 - use better way to chunk list
 - Added Postgres support for bulk_insert API
 
And now `bulk_insert` will only do **1 db call for each 10000** values.

Note: For testing purpose I made `Test Bulk Insert` doctype and keep chunk size of 100.

## Before
![image](https://user-images.githubusercontent.com/43115036/161979365-c1100745-7602-47d2-a9b8-62d797d2039f.png)

## After
![image](https://user-images.githubusercontent.com/43115036/161978344-3c17d56b-2195-40f4-b00c-e9478d4083f1.png)

nodocs
2022-04-19 14:47:22 +00:00
Gavin D'souza
70a8a49c9c fix: new_doctype API testing util
Use kwargs instead of mapping defined kwargs to single actions
2022-04-12 19:06:35 +05:30
Suraj Shetty
c0c5b2ebdd
style: format all python files using black (#16453)
Co-authored-by: Frappe Bot <developers@frappe.io>
2022-04-12 10:59:25 +05:30
Ankush Menat
c4ca58fedf refactor: query stripping 2022-03-28 10:56:55 +05:30
barredterra
512c622487 test: make sure exists doesn't eat the doctype key 2022-03-21 20:51:35 +01:00
Karthikeyan Singaravelan
880832671a fix: use assertEqual instead of assertEquals for Python 3.11 compatibility 2022-03-21 11:05:43 +00:00
Ankush Menat
85428e817d test: get_value(s) with limits 2022-03-21 11:19:28 +05:30
mergify[bot]
f47331cd1d
Merge pull request #16200 from alyf-de/refactor-db-exists
refactor: `frappe.db.exists`
2022-03-21 05:47:27 +00:00
barredterra
734d0b4fe8 test: frappe.db.exists 2022-03-17 01:35:46 +01:00
phot0n
bebc8058b6 feat: integer primary keys 2022-03-11 23:46:00 +05:30
Ankush Menat
d3f768fef9 feat(db/pg): ability to ignore pk colission 2022-02-09 16:25:36 +05:30
mergify[bot]
819202f5da
Merge pull request #15560 from gavindsouza/set_value-refactor
refactor: frappe.db.set_value
2022-02-02 06:41:58 +00:00
Saqib Ansari
bd8ac90286
fix(ux): show report button on too many writes error (#15614)
* feat: log errors on too many writes to ease debugging

* fix(ux): extract and show which app/file/function caused too many writes

* fix: postgres error checking assumes exception is postgres exception

* fix: better default for skipping frames

Typically stack is like: some_app -> your_function -> this function. So last 2 frames need to be skipped.

* fix: postgres error checking assumes exception is postgres exception

* fix: better default for skipping frames

Typically stack is like: some_app -> your_function -> this function. So last 2 frames need to be skipped.

* refactor: show Report button instead of logging

* revert: unnecessary new functionality

* test: assert exact exception

Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-31 18:57:32 +05:30
Gavin D'souza
9f1503c582 test: Postgres compatible db tests 2022-01-11 12:54:18 +05:30
Gavin D'souza
202145f0ec test: Add tests for frappe.db.set_value 2022-01-10 21:01:02 +05:30
Ankush Menat
e08b41964c feat: savepoint contextmanager
syntactic sugar around frappe.db.savepoint and rollback
2022-01-03 22:20:39 +05:30
Ankush Menat
1c0de77634 feat: SQL savepoints 2021-12-20 23:07:53 +05:30
Aradhya
7faa843e97 feat: Added distinct in get_value 2021-12-17 15:01:24 +05:30
Aradhya
e1360a3770 test: Added tests for distinct in get values 2021-12-17 13:45:57 +05:30
Aradhya
e862ae83da fix: fixed list of Field objects as fields in get_values
tests: added test for list of field objects
2021-12-03 14:24:19 +05:30
Aradhya
59f54aa60c refactor: changed default_ordering to keep_default_ordering 2021-11-23 15:26:15 +05:30
Aradhya
9ccf467acb fix: fixed no order arg in converted queries 2021-11-23 13:30:42 +05:30
Aradhya
d37aa55607 fix: fixed merged conflicts 2021-11-18 18:13:10 +05:30
Aradhya
a3c992bce4 fix: fixed order in get_values tests 2021-11-16 23:41:23 +05:30
Aradhya-Tripathi
41f285b13e feat: Added test cases for get values 2021-11-14 21:46:06 +05:30
Aradhya-Tripathi
97f85c88e2 feat: Added tests for Criterion objects in get_value 2021-11-08 15:57:06 +05:30
Aradhya-Tripathi
d6b9781163 feat: Added test to assert lock for pypika objects 2021-10-23 15:08:28 +05:30
Aradhya-Tripathi
162645d703 fix: fixed get_value tests 2021-10-05 16:23:37 +05:30
Aradhya-Tripathi
4919d1ba62 feat: Added tests for get_value with sql functions 2021-10-05 16:02:51 +05:30
Aradhya-Tripathi
73eb7806a8 refactor: removed aggregation from database.py
refactor: moved aggregate to frappe.query
2021-09-20 22:47:06 +05:30
Abhishek Saxena
1d02d26a2b
Merge branch 'develop' into aks-fix-postgres 2021-09-07 17:42:03 +05:30
Your Name
74d6ed32d6 test: add frappe.db.add_index 2021-09-07 17:40:55 +05:30
Rushabh Mehta
d807e3b1e2 fix(minor): fix for aggregate functions, use special query 2021-09-06 09:11:58 +05:30
Rushabh Mehta
20dea90670 feat(minor): Packages! also cleanup of DocField and other minor fixes 2021-09-05 22:01:55 +05:30
Gavin D'souza
3446026555 chore: Update header: license.txt => LICENSE
The license.txt file has been replaced with LICENSE for quite a while
now. INAL but it didn't seem accurate to say "hey, checkout license.txt
although there's no such file". Apart from this, there were
inconsistencies in the headers altogether...this change brings
consistency.
2021-09-03 12:02:59 +05:30
saxenabhishek
42dc8a180f refactor: get_table_name, run_only_if 2021-07-30 11:48:12 +05:30
saxenabhishek
7671e78487 style: minor fixes and improvements 2021-07-30 11:29:41 +05:30