Ayah bisa di B, atau Pembuatan kode sederhana dan rapi untuk SQLite

gambar



Segera, pada tanggal 4 dan 5 November, kami akan memulai aliran baru kursus SQL untuk analisis data dan pengembang C ++ , terutama untuk permulaannya, kami telah menyiapkan terjemahan ini dari blog Rekayasa Facebook dengan ikhtisar alat yang bermanfaat.



SQLite digunakan secara luas, tetapi menulis lapisan akses data yang teruji dengan baik dan didukung dapat menjadi tantangan terbaik. Banyak perintah menggunakan beberapa jenis pembuatan kode untuk menghindari perubahan lusinan nomor urut setiap kali kolom ditambahkan, tetapi pendekatan ini menyebabkan kesalahan. Kompilator CQL ke CG / SQL memungkinkan Anda membuat prosedur tersimpan yang kompleks dengan kueri besar, dan kombinasi pembantu sintaks dan pengetikan yang kuat membuat prosedur ini lebih mudah diperoleh dan disimpan. Kombinasi pengetikan yang kuat dalam suatu bahasa dan alat untuk pengujian unit yang baik dapat memberikan keyakinan bahwa logika yang sangat rumit pun benar.






Apa itu



CG / SQL adalah sistem pembuatan kode untuk pustaka SQLite populer yang memungkinkan pengembang untuk menulis prosedur tersimpan dalam varian Transact-SQL (T-SQL) dan mengompilasinya ke kode C yang menggunakan API SQLite untuk melakukan operasi C. CG / SQL memungkinkan insinyur membuat prosedur tersimpan yang kompleks dengan kueri besar tanpa tinjauan kode manual yang diperlukan oleh metode yang ada.



Seluruh sistem juga mencakup fungsi untuk mengelola dan memperbarui skema, menghasilkan kode uji untuk prosedur yang tersimpan, memperoleh rencana kueri untuk prosedur, dan berinteraksi dengan prosedur tersimpan dari bahasa lain seperti Java dan Objective-C. Keluaran JSON memungkinkan penguraian atau kode front-end. Paket ini berisi bahasa yang luas dan dokumentasi sistem.



Apa yang dilakukan alat tersebut



Kompilator CQL melakukan sebagian besar pekerjaan kotor. Itu membaca skema dan prosedur, menyediakan bahasa yang diketik dengan kuat dengan ratusan kesalahan kompilasi yang dirancang untuk mencegah masalah runtime SQLite. Compiler dengan hati-hati memantau tipe data variabel dan tipe skema, melaporkan ketidakkonsistenan, seperti mencoba untuk menetapkan kolom nullable ke variabel output yang tidak dapat dinolkan, dan sebaliknya memastikan bahwa SQLite API digunakan secara konsisten dan benar.



Kode yang dihasilkan selalu memeriksa kode yang dikembalikan, dan selalu menggunakan jenis ordinal dan kolom yang benar saat mengikat atau membaca data ke atau dari SQLite. Inilah yang sulit diperoleh dan disimpan dengan benar. Selain itu, anotasi skema memungkinkan sistem untuk secara otomatis membuat prosedur tersimpan yang memperbarui database dari versi skema sebelumnya ke versi saat ini. Untuk mewujudkannya, puluhan pemeriksaan dilakukan.



Anotasi prosedur juga dapat digunakan untuk menunjukkan bahwa Anda ingin mempertahankan kode pengujian untuk membuat fragmen skema dan memasukkan data ke dalam skema itu. Pendekatan ini memungkinkan Anda untuk menguji prosedur dengan hampir tanpa masalah, dan juga tidak bergantung pada sistem yang digunakan. Demikian pula, alat ini dapat membuat skema yang memvalidasi rencana kueri pada waktu kompilasi.



Mengapa ini dibutuhkan?



SQLite digunakan secara luas, tetapi menulis lapisan akses data yang teruji dengan baik dan didukung dapat menjadi tantangan terbaik. Banyak perintah menggunakan beberapa jenis pembuatan kode untuk menghindari harus mengubah lusinan nomor urut setiap kali kolom ditambahkan, tetapi pendekatan ini menyebabkan kesalahan. Kompiler CQL ke CG / SQL memungkinkan Anda membuat prosedur tersimpan yang kompleks dengan kueri besar, dan kombinasi pembantu sintaksis dan pengetikan yang kuat membuat prosedur ini lebih mudah diperoleh dan disimpan. Kombinasi pengetikan yang kuat dalam suatu bahasa dan alat untuk pengujian unit yang baik dapat memberikan keyakinan bahwa logika yang sangat rumit pun benar. Pembantu sintaksis mengonversi kode aman ke SQL kanonik, sehingga teknisi menulis lebih sedikit kode, tetapi kodenya lebih benar dan berjalan di mana-mana.Mari kita lihat contohnya:



create procedure insert_a_row(like your_table)
begin
  insert into your_table from arguments;
end;


Kode ini membuat prosedur untuk menyisipkan ke dalam tabel mana pun (ini dia your_table), argumennya persis seperti kolom tabel. Anda tidak akan melupakan kolomnya, jangan letakkan lusinan argumen dalam urutan yang salah. Konstruksi tersebut ringkas dan kokoh, yang memudahkan teknisi untuk menghasilkan kode tanpa harus memeriksa setiap bitnya secara manual.



CG / SQL di Github



CG / SQL tentunya merupakan hal yang berguna, namun kode promo diskon HABR juga tidak kalah bermanfaatnya, yaitu memberikan tambahan diskon sebesar 10% yang tertera di banner.



gambar








Artikel yang direkomendasikan






All Articles