* fix: tags patch
* fix: auto_commit_on_many_writes
* fix: check if tag exists
* fix: check if tag or tag link exists
* fix: check if column exists
* fix: set autocommit false
* fix: use ignore in insert query for bulk insert
* fix: add option to ignore duplicates
* perf: Cache db columns to avoid redundant database calls
* fix: Move cache clearing code from doctype to schema.py
* fix: self.table_name instead of self.name
* fix: Cache columns in "table_columns" key
`table_columns` was cached in meta but columns were also getting accessed
directly using frappe.db.get_table_columns. Now, it is cached at
`frappe.db` layer
Co-authored-by: Suraj Shetty <surajshetty3416@gmail.com>
```
frappe.db.set_value('Call Log', log.name, {
fieldname: doc.name,
display_name_field: doc.get_title()
}, update_modified=False)
```
this code should not fail if value is not pass because value is passed in the dict.
Previous regex used to yield false positives and false negatives
for queries like
UPDATE tabToDo SET description = "something"
Instead of yielding "tabToDo" it used to yield "tabToDo SET".
Now two separate regexes handle single word and multi-word names
In case of multi-word surrounding quotes are a must
- Bootstrap postgres db using frappe db user not with postgres default
user
- Save postgres db password in env variable to avoid prompting of
password
- Pass the user name and password while connecting to postgres db
* Fixed setup_db.py to support MariaDB version 10.3. Added function for calculating versions, per MariaDB documentation.
* Major rewrite of setup_db.py. Reduced number of functions. Made fully compatible with MariaDB 10.3+. Removed references to client parameters in my.cnf that cannot be queried. Applied PEP8 rules to python code.
* Adding missing print statement in setup_db.py
* Replaced 4-spaces with tabs, per ERPNext standards.
* Fixed broken test by substituing 'check_database_settings()'
Fixed the test in convert_to_barracuda_and_utf8mb4.py by calling the new function 'check_database_settings()'
* Cleaned up setup.py, to match latest version of Frappe develop