47 lines
1.4 KiB
Markdown
Raw Normal View History

2020-04-29 01:25:31 +03:00
# Multi module example
This is an example of multi modules feature of the Fluence Compute Engine (FCE). It simply passes commands to Redis or SQlite depends on the first parameter:
```
sqlite <sql> => returns result of execution sql request of SQlite
redis <cmd> => the same for Redis
```
# How to build
To build you need Rust with wasm32-unknown-unknown target installed, then just type:
```bash
cargo build --release --target wasm32-unknown-unknown
```
# How to run
2020-04-29 19:40:36 +03:00
To run this example you need FCE, [Redis](https://github.com/fluencelabs/redis/releases/download/0.8.0_w/redis.wasm), [SQlite](https://github.com/fluencelabs/sqlite/releases/download/0.4.0_w/sqlite3.wasm) wasm binaries.
2020-04-29 01:25:31 +03:00
Then run fce and at first load sqlite and redis and only then this example:
```bush
2020-04-29 19:40:36 +03:00
Welcome to the FCE CLI:
>> add redis redis.wasm
module successfully registered in FCE
>> add sqlite sqlite3.wasm
module successfully registered in FCE
>> add mm mm.wasm
module successfully registered in FCE
2020-04-29 01:25:31 +03:00
```
Finally, you could execute requests inside FCE CLI:
```bush
2020-04-29 19:40:36 +03:00
>> execute mm redis SET A 1
2020-04-29 01:25:31 +03:00
result: +OK
2020-04-29 19:40:36 +03:00
>> execute mm redis GET A
2020-04-29 01:25:31 +03:00
result: $1
1
2020-04-29 19:40:36 +03:00
>> execute mm sqlite CREATE VIRTUAL TABLE users USING FTS5(body)
2020-04-29 01:25:31 +03:00
result: OK
2020-04-29 19:40:36 +03:00
>> execute mm sqlite INSERT INTO users(body) VALUES('AB'), ('BC'), ('CD'), ('DE')
2020-04-29 01:25:31 +03:00
result: OK
2020-04-29 19:40:36 +03:00
>> execute mm sqlite SELECT * FROM users WHERE users MATCH 'A* OR B*'
2020-04-29 01:25:31 +03:00
result: AB|BC
```