https://github.com/punit-naik/sql-batcher
A Clojure library designed to run large sql updates/deletes in batches
https://github.com/punit-naik/sql-batcher
batch clojure delete sql update
Last synced: 2 months ago
JSON representation
A Clojure library designed to run large sql updates/deletes in batches
- Host: GitHub
- URL: https://github.com/punit-naik/sql-batcher
- Owner: punit-naik
- License: other
- Created: 2022-10-28T10:57:28.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-03-09T11:56:33.000Z (about 2 years ago)
- Last Synced: 2025-01-16T00:36:29.814Z (4 months ago)
- Topics: batch, clojure, delete, sql, update
- Language: Clojure
- Homepage:
- Size: 86.9 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# sql-batcher
A Clojure library designed to run large sql updates/deletes in batches
[](https://circleci.com/gh/punit-naik/sql-batcher/tree/master)
[](https://clojars.org/org.clojars.punit-naik/sql-batcher)## Rationale
If an update/delete query is doing a large table scan and spanning a large number of rows, that table could be blocked for a potentially very long time. To avoid this, we run our update/delete queries in batches of relatively small sizes, based on the primary key(s) of the table to on which the updates/deletes are supposed to run. More info in this article - http://mysql.rjweb.org/doc.php/deletebig
## Usage
### Test
```
lein test
```### Code Coverage
[Code Coverage Report](https://punit-naik.github.io/sql-batcher/coverage)
## License
Copyright © 2022 [Punit Naik](https://github.com/punit-naik)
This program and the accompanying materials are made available under the
terms of the Eclipse Public License 2.0 which is available at
http://www.eclipse.org/legal/epl-2.0.This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the Eclipse
Public License, v. 2.0 are satisfied: GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or (at your
option) any later version, with the GNU Classpath Exception which is available
at https://www.gnu.org/software/classpath/license.html.