Comments (1)
Ok, in case of sled, you're right. currently sled does not support scan in transaction.
And for now, GlueSQL also does not have transaction feature support yet.
I hope that they implement it not in too late
Transaction
will be provided as a trait, like existing 2 store traits: Store
and StoreMut
.
And precisely, MVCC Transaction is may be a role of storage layer not execution layer which gluesql takes.
So, GlueSQL will provide proper interface may be just named Transaction
trait.
If any storage implements all three Store
, StoreMut
and Transaction
traits, then it can run all existing sql queries and transaction feature.
But not like Store
and StoreMut
traits, I'm currently thinking about making Transaction
as an optional.
For example... GlueSQL-js has another custom storages, one is based on html5 localStorage.
And localStorage api is too too simple so it's almost not possible to provide Transaction
support, then it can just implement only 2 traits Store
and StoreMut
. It still executes most of sql queries only except for transaction queries something like BEGIN; COMMIT; ROLLBACK;
.
Future plan is this,
Providing store traits as independent as possible, in the future it will be...
- Store
- StoreMut
- Transaction
- ForeignKey
- Index
- ...
And if someone wants to make their own custom storage, they can pick the whole of them or it's also ok to pick only few of them.
from gluesql.
Related Issues (20)
- AST Filter: Field without table name should refer to main table instead of joined one by default HOT 1
- Decimal casted to I64 when using conditional statement HOT 1
- Support TimeZone aware queries
- Wrong ordering when using `.order_by("id, number ASC")` HOT 1
- Many `parsing sql CREATE_TABLE` logs when inserting batch data HOT 2
- Make `IndexedDb` storage implement index traits
- Implement `SLICE` in AST builder HOT 1
- Add test cases for ast-builder/functions/text/character-conversion
- Implement `DEDUP` function
- Composite Storage support CTAS HOT 4
- Should we release a patch version for 0.14? HOT 2
- Implement Elixir binding for GlueSQL storages
- What is the recommended way to pass untrusted strings to the AST builder? HOT 1
- Missing impl From<Uuid> for ExprNode HOT 3
- Support for composite primary key
- Multiple Filters HOT 4
- gluesql-derive: Derive FromGlueSqlRow from Vec<Value> for structs HOT 2
- Performance with persistent tables (Sled) HOT 9
- Support UPSERT HOT 1
- InvalidStateError for IndexedDB Example in Rust WebAssembly Environment
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gluesql.