All Projects → epilys → rsqlite3

epilys / rsqlite3

Licence: other
sqlite3 Rewritten in RiiR Rust 🦀🦀🦀

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to rsqlite3

docker-sqlite3
Sqlite3 command line in a docker container
Stars: ✭ 28 (-79.56%)
Mutual labels:  sqlite3
raspy-temperature-bot
This is a telegram bot hosted by a Raspberry Pi equipped with a temperature and humidity sensor. The bot is capable of sending plots and readings.
Stars: ✭ 31 (-77.37%)
Mutual labels:  sqlite3
HashExploit
HashExpoit is Great Tool For Cracking Hash
Stars: ✭ 17 (-87.59%)
Mutual labels:  sqlite3
five-minute-midas
Predicting Profitable Day Trading Positions using Decision Tree Classifiers. scikit-learn | Flask | SQLite3 | pandas | MLflow | Heroku | Streamlit
Stars: ✭ 41 (-70.07%)
Mutual labels:  sqlite3
purescript-node-sqlite3
Basic Purescript wrapper for node-sqlite3
Stars: ✭ 13 (-90.51%)
Mutual labels:  sqlite3
codeX
CodeX is a platform which converts code into easy to understand language.
Stars: ✭ 46 (-66.42%)
Mutual labels:  sqlite3
nim-gatabase
Connection-Pooling Compile-Time ORM for Nim
Stars: ✭ 103 (-24.82%)
Mutual labels:  sqlite3
flaskbooks
A very light social network & RESTful API for sharing books using flask!
Stars: ✭ 19 (-86.13%)
Mutual labels:  sqlite3
imgui
Dear ImGui Addons Branch = plain unmodified dear imgui plus some extra addon.
Stars: ✭ 348 (+154.01%)
Mutual labels:  sqlite3
grafana-sqlite-datasource
Grafana Plugin to enable SQLite as a Datasource
Stars: ✭ 57 (-58.39%)
Mutual labels:  sqlite3
electron-vue3-inote
使用electron11+vue3.x+ts的桌面端便笺项目,拥有漂亮的过渡动画效果,以富文本形式储存在本地,可多开输入窗口。(The desktop note project using electron11+vue3.x+ts has beautiful transition animation effects, stored locally in the form of rich text, and can open more input windows.)
Stars: ✭ 168 (+22.63%)
Mutual labels:  sqlite3
imessage-chatbot
💬 Recurrent neural network -- generates messages in your style of speech! Trained on imessage data. Sqlite3, TensorFlow, Flask, Twilio SMS, AWS.
Stars: ✭ 33 (-75.91%)
Mutual labels:  sqlite3
buke
full text search manpages
Stars: ✭ 27 (-80.29%)
Mutual labels:  sqlite3
crystal-sqlite3
SQLite3 bindings for Crystal
Stars: ✭ 118 (-13.87%)
Mutual labels:  sqlite3
JJMumbleBot
A plugin-based All-In-One mumble bot solution in python 3.7+ with extensive features and support for custom plugins.
Stars: ✭ 40 (-70.8%)
Mutual labels:  sqlite3
network performance monitor
Network Performance Monitor - a portable tool for troubleshooting performance issues with home networks
Stars: ✭ 74 (-45.99%)
Mutual labels:  sqlite3
json-sql-builder2
Level Up Your SQL-Queries
Stars: ✭ 59 (-56.93%)
Mutual labels:  sqlite3
subtitles-view
基于javaFX的简单字幕处理桌面程序,集成在线翻译及语音转换
Stars: ✭ 368 (+168.61%)
Mutual labels:  sqlite3
react-native-quick-sqlite
Fast SQLite for react-native.
Stars: ✭ 239 (+74.45%)
Mutual labels:  sqlite3
Send2KindleBot
Send to Kindle Telegram Bot
Stars: ✭ 111 (-18.98%)
Mutual labels:  sqlite3

sqlite3 Rewritten in RiiR Rust 🦀🦀🦀

Finally, one of the best written software paired with one of the best writable programming language‽ Fearless and memory safe, since the uncountable amount of unsafe {} blocks makes you not care anymore.

Build and run

$ cargo +nightly build --release
# ... bunch of stuff I choose not to understand/read
warning: `rsqlite3` (bin "rsqlite3") generated 37 warnings (24 duplicates)
    Finished release [optimized] target(s) in 39.84s
$ ./target/release/rsqlite3
-- Loading resources from /home/epilys/.sqliterc
SQLite version 3.37.0 2021-10-17 10:31:09
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .open rrrrrruuuuuust.db
sqlite> CREATE TABLE opinions(x);
sqlite> insert into opinions(x) values (hex(randomblob(16)));
sqlite> insert into opinions(x) values (hex(randomblob(16)));
sqlite> insert into opinions(x) values (hex(randomblob(16)));
sqlite> insert into opinions(x) values (hex(randomblob(16)));
sqlite> select * from opinions;
x
--------------------------------
343D4BE24D07A96F8550B0942F664A6C
D6289536E4A8057EB44754358EACD31A
B4CA8E714CB57B11E7336263D214F30F
A6491CA289ABF90EB2D76F5E1F919272
sqlite> PRAGMA journal_mode = wal;
journal_mode
------------
wal
sqlite> PRAGMA integrity_check;
integrity_check
---------------
ok
sqlite> VACUUM;
sqlite> ^D

Wait, what?

This is just the sqlite3 code passed throught the c2rust transpiler, along with some cleanup from me. I've found no way to hook it to sqlite3's testing harnesses yet so I doubt it's completely functional; but opening the shell seems to work.

I am suspicious that a lot of code under ifdefs or not is lost through the transpilation, because the binary size difference is substantial:

$ du -sh $(which sqlite3)
9.5M    /home/epilys/.local/bin/sqlite3
$ du -sh target/release/rsqlite3
5.1M    target/release/rsqlite3
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].