A zero-boilerplate, ORM for PostgreSQL
git clone git://soophie.de/glue
blob: 3250a8f5a6acc632ae31892909a1c38714978096 (835 bytes)[doc][blame][raw]
1
# glue3
A zero-boilerplate PostgreSQL ORM for C5
## Installation7
```8
git clone git@soophie.de:/srv/git/glue9
cd glue10
sudo make install11
```13
## Quick Start15
```c16
#define GLUE_DB_INFO "host= port= user= password= dbname="18
#define SO_GLUE_IMPL19
#include <glue.h>21
// CREATE TABLE items (22
// id serial PRIMARY KEY,23
// code text NOT NULL,24
// name text NOT NULL25
// );26
#define ITEM_COLUMNS(X) \27
COLDEF_INT(X, id) \28
COLDEF_TEXT(X, code) \29
COLDEF_TEXT(X, name)30
TABLEDEF(item, ITEM_COLUMNS)32
int main(void) {33
item_t *item_list = NULL;34
size_t item_list_len = 0;35
item_fetch("SELECT * FROM items;", 0, NULL, &item_list, &item_list_len);36
for (size_t i = 0; i < item_list_len; i++) {37
item_dbg(&item_list[i]);38
}39
item_list_free(item_list, item_list_len);40
return 0;41
}42
```44
### Compiling46
```bash47
cc -o main -lpq main.c48
```