BerandaComputers and TechnologyGlueSQL - SQL Database Engine sebagai Library

GlueSQL – SQL Database Engine sebagai Library

crates.io docs.rs LICENSE Rust

Mesin Basis Data SQL sebagai Perpustakaan

GlueSQL adalah pustaka database SQL yang ditulis dalam Rust yang menyediakan parser ( sqlparser- rs ), lapisan eksekusi, dan penyimpanan opsional (kereta luncur).
Pengembang dapat menggunakan GlueSQL untuk membangun database SQL mereka sendiri atau mereka dapat menggunakan GlueSQL sebagai database SQL tersemat menggunakan penyimpanan default.

Mode Mandiri

Anda cukup menggunakan GlueSQL sebagai database SQL tertanam, GlueSQL menyediakan kereta luncur sebagai mesin penyimpanan default.

Instalasi

Dalam Cargo.toml

 [dependencies]  gluesql =  " 0,2  "  

Pemakaian

 menggunakan gluesql  ::  {parse, Glue, SledStorage};   fn  utama () {     membiarkan penyimpanan = SledStorage  ::  baru ( "data.db" ).membuka  ();     membiarkan  mut  lem = Lem  ::  baru(penyimpanan);      membiarkan sqls =  "  BUAT TABEL Lem (ID INTEGER);   MASUKKAN KE NILAI Lem (100);   MASUKKAN KE NILAI Lem (200);   PILIH DARI Lem WHERE id> 100;   DROP TABLE Lem;   ";          untuk kueri di  parse  (sqls). membuka () {         lem.  jalankan  ( & pertanyaan).membuka();     } } 

Mode Perpustakaan SQL (Untuk Penyimpanan Kustom)

Instalasi

Sekarang Anda tidak perlu menyertakan penyimpanan kereta luncur . Jadi di Cargo.toml ,

 [dependencies]  gluesql ={Versi: kapan=  " 0,2  " ,  fitur default =Salah,  fitur =["alter-table"]}    #  tabel pengganti adalah opsional.    #  Jika DB Anda tidak memiliki rencana untuk mendukung ALTER TABLE, gunakan ini di bawah.   gluesql ={Versi: kapan=  " 0,2  " ,  fitur default =Salah} 

Pemakaian

Yang perlu Anda lakukan hanyalah menerapkan 2 sifat: Toko dan StoreMut ! Dalam src / store / mod.rs ,

  pub  sifat Toko  {      fn   fetch_schema  (..) -> ..;      fn   scan_data  (..) -> ..; }   pub  sifat  StoreMut  dimana  Sendiri : Berukuran {      fn   generate_id  (..) -> ..;      fn   sisipan_skema  (..) -> ..;      fn   delete_schema  (..) -> ..;      fn   insert_data  (..) -> ..;      fn   delete_data  (..) -> ..; } 

Dan satu sifat opsional, apakah menerapkan ini semua terserah Anda! Dalam src / store / alter_table.rs ,

  pub  sifat  AlterTable  dimana  Sendiri : Berukuran {      fn   rename_schema  (..) -> ..;      fn   ganti nama_kolom  (..) -> ..;      fn   tambahkan_kolom  (..) -> ..;      fn   drop_column  (..) -> ..; } 

Contoh – GlueSQL-js

Gunakan SQL di browser web!
GlueSQL-js menyediakan 3 opsi penyimpanan,

  • dalam kenangan
  • penyimpanan lokal
  • sessionStorage.

Fitur SQL

GlueSQL saat ini mendukung kueri terbatas, masih dalam tahap yang sangat awal.

  • MEMBUAT dengan 4 jenis: BILANGAN BULAT, FLOAT , BOOLEAN , TEXT dengan opsional BATAL.
  • ALTER TABLE dengan 4 operasi: TAMBAHKAN KOLOM , TETAPKAN KOLOM , RENAME COLUMN dan GANTI NAMA KE .
  • MEMASUKKAN, MEMPERBARUI , MENGHAPUS, PILIH , TABEL DROP
  • KELOMPOKKAN OLEH , HAVING
  • Pilih bersarang, bergabung, agregasi …

Anda dapat melihat dukungan kueri saat ini di src / tes /*.

Kasus penggunaan lain yang diharapkan

  • Jalankan SQL di browser web – gluesql-js Akan keren untuk membuat perpustakaan manajemen negara menggunakan gluesql-js .
  • Tambahkan lapisan SQL ke database NoSQL: Redis, CouchDB …
  • Bangun sistem manajemen basis data SQL baru

Kontribusi

Ini tahap yang sangat awal, jangan ragu untuk melakukan apa pun yang Anda inginkan.
Hanya hal yang perlu Anda waspadai adalah …

  • Kecuali untuk src / glue.rs , src / tes / dan src / utils / , tidak ada tempat untuk digunakan mut kata kunci.

Read More

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments