so://phie

glue

A zero-boilerplate, ORM for PostgreSQL
git clone git://soophie.de/glue

blob: 3250a8f5a6acc632ae31892909a1c38714978096 (835 bytes)[doc][blame][raw]

1# glue

2

3A zero-boilerplate PostgreSQL ORM for C

4

5## Installation

6

7```

8git clone git@soophie.de:/srv/git/glue

9cd glue

10sudo make install

11```

12

13## Quick Start

14

15```c

16#define GLUE_DB_INFO "host= port= user= password= dbname="

17

18#define SO_GLUE_IMPL

19#include <glue.h>

20

21// CREATE TABLE items (

22// id serial PRIMARY KEY,

23// code text NOT NULL,

24// name text NOT NULL

25// );

26#define ITEM_COLUMNS(X) \

27 COLDEF_INT(X, id) \

28 COLDEF_TEXT(X, code) \

29 COLDEF_TEXT(X, name)

30TABLEDEF(item, ITEM_COLUMNS)

31

32int 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```

43

44### Compiling

45

46```bash

47cc -o main -lpq main.c

48```