• Stars
    star
    135
  • Rank 268,436 (Top 6 %)
  • Language
    Go
  • License
    Other
  • Created almost 4 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Golang library to build sqlite extensions πŸš€

SQLite Extensions

Go v1.14 CGO Godoc

Overview

sqlite package provides a low-level interface that allows you to build sqlite extensions that can be loaded dynamically at runtime or linked statically at build-time (experimental)

Installation

This package can be installed with go get as:

$ go get -u go.riyazali.net/sqlite

sqlite is a cgo package and requires a working c compiler.

Usage

To build an sqlite extension, you need to build your project with -buildmode=c-shared. That would emit a .so file (or .dll on windows), which you can then load into sqlite.

Consider as an example, the sample upper module in _examples/. To build it, you'd use something similar to:

$ go build -buildmode=c-shared -o upper.so _examples/upper

which would emit an upper.so in the current directory. Now, to use it with (say) the sqlite3 shell, you could do something like

$ sqlite3
> .load upper.so
> SELECT upper("sqlite3");
SQLITE3
> .exit

Features

Each of the support feature provides an exported interface that the user code must implement. Refer to code and godoc for more details.

License

MIT License Copyright (c) 2020 Riyaz Ali

Refer to LICENSE for full text.

More Repositories

1

sqlean.go

Go bindings for sqlean
Go
15
star
2

sqlite3.js

sqlite3 built for the web
C
9
star
3

bhav-copy

Download historical stock data (bhavcopy) from BSE & NSE as sqlite database
Go
9
star
4

epd

Waveshare 2.9inch E-paper display driver
Go
8
star
5

meilisearch-java

Java client library for Meilisearch
Java
7
star
6

dns.sql

Query DNS using SQL πŸ˜΅β€πŸ’«
Go
7
star
7

Tringo

Tringo is a TMDb client application that is developed as part of the Udacity Android Nanodegree
Java
6
star
8

httpx

Simple and expressive HTTP testing framework
Go
6
star
9

resumify

Beautiful resumes right in your browser
Vue
5
star
10

macOS-setup

Quick setup scripts for my macOS installation
Shell
5
star
11

sqlite3.zig

sqlite3 database driver for ziglang
Zig
4
star
12

cryptopals

Solution to cryptopals challenges in golang
Go
3
star
13

riyaz-ali

3
star
14

sprinejs

A JavaScript API for creating Facebook Messenger bots in node
JavaScript
3
star
15

capstone-project

Hacker News client created for Udacity Android Nanodegree (Google India Scholarship 2018) Capstone Project
Java
3
star
16

riyaz-ali.github.io

Personal blog powered by Hugo
HTML
3
star
17

shhh

An SSH-based tunneling tool that understands HTTP(s), SSH and TCP
Go
3
star
18

chromedp-example

Experimental server that renders PDF using chromedp and Headless Chrome
HTML
3
star
19

popiejs

A simple JavaScript Modal Plugin
JavaScript
2
star
20

FastCache

A Simple and lightweight LRUCache based on fixed size Doubly-linked list
C++
2
star
21

build-it-bigger

Udacity NanoDegree project application
Java
2
star
22

baking-app

Baking Application project for Udacity Android Developer Nanodegree 2018
Java
2
star
23

gitql

Query git repository using sql!
Go
2
star
24

go-balance

Minimal Golang library for implemeting weighted round robin load balancing.
Go
2
star
25

dotlite

sqlite3 file reader in pure go
Go
1
star
26

old-site

CSS
1
star
27

go.riyazali.net

Vanity URL for my go modules over Github Pages
HTML
1
star
28

notifyjs

A Java Script Notification plugin
JavaScript
1
star