ProfaneDB issueshttps://gitlab.com/ProfaneDB/ProfaneDB/-/issues2021-08-10T13:32:11Zhttps://gitlab.com/ProfaneDB/ProfaneDB/-/issues/16Maintaining the project2021-08-10T13:32:11ZR. de WildeMaintaining the projectIs anyone maintaining this project or are there any plans to update it? The concept is awesome.Is anyone maintaining this project or are there any plans to update it? The concept is awesome.https://gitlab.com/ProfaneDB/ProfaneDB/-/issues/15can't build rocksdb via the dockerfile (in development brnach)2021-06-16T04:31:03Zsakha002can't build rocksdb via the dockerfile (in development brnach)Hi, Thanks very much for this great project.
I was trying to build the the image via the Dockerfile in the development branch. My try was unsuccessful and I got some error in make -C rocksdb-5.12.4 install step.
```
#6 66.81 g++: fa...Hi, Thanks very much for this great project.
I was trying to build the the image via the Dockerfile in the development branch. My try was unsuccessful and I got some error in make -C rocksdb-5.12.4 install step.
```
#6 66.81 g++: fatal error: Killed signal terminated program cc1plus
#6 66.81 compilation terminated.
```
I very much like to setup the image and try the profaneDB for a use case I have that matches very closely with this.
I am not good at all in cpp and was planing to have the grpc server as the interface with the DB and have another grpc service interacting with it to store, or search the data in front of some micro-service.
I much appreciate the help to set it up.https://gitlab.com/ProfaneDB/ProfaneDB/-/issues/14status2018-05-07T14:29:14Zgedstatuswhats the current status.
I am using grpc and protobuf for golang and dart projects and am looking for a protobuf / grpc database.whats the current status.
I am using grpc and protobuf for golang and dart projects and am looking for a protobuf / grpc database.https://gitlab.com/ProfaneDB/ProfaneDB/-/issues/13Memory storage backend2017-10-13T07:20:29ZGiorgio AzzinnaroMemory storage backendIn-memory storage should be allowed for ProfaneDB server too, for testing purposes.In-memory storage should be allowed for ProfaneDB server too, for testing purposes.https://gitlab.com/ProfaneDB/ProfaneDB/-/issues/12Indexes for secondary fields2017-10-13T07:19:33ZGiorgio AzzinnaroIndexes for secondary fieldsIndexes might be added for other fields except the primary key.
This way, objects may be retrieved more easily.Indexes might be added for other fields except the primary key.
This way, objects may be retrieved more easily.https://gitlab.com/ProfaneDB/ProfaneDB/-/issues/11Trailing slash in schema path2017-10-10T16:52:31ZGiorgio AzzinnaroTrailing slash in schema path`.proto` files are parsed by [Loader](https://gitlab.com/ProfaneDB/ProfaneDB/blob/f99a63bc4da92cce77af4c3ea4e9dd292767f9a0/src/profanedb/format/protobuf/loader.cpp#L90)
The filename must be relative to the mapping path.
For instance, ...`.proto` files are parsed by [Loader](https://gitlab.com/ProfaneDB/ProfaneDB/blob/f99a63bc4da92cce77af4c3ea4e9dd292767f9a0/src/profanedb/format/protobuf/loader.cpp#L90)
The filename must be relative to the mapping path.
For instance, having the following file tree:
```
/home/giorgio/Documents/Workspair/Protobuf/
└── workspair
├── grpc
│ ├── booking.proto
│ └── sharing.proto
└── protobuf
├── date.proto
├── facility.proto
├── i18n.proto
├── job.proto
├── location.proto
├── price.proto
├── user.proto
└── workshop.proto
```
`/home/giorgio/Documents/Workspair/Protobuf/` is the schema directory and mapping root;
`.proto` files are loaded using their relative path (eg `workspair/grpc/booking.proto`, `workspair/protobuf/date.proto`)
## Error with trailing slash
When a trailing slash is in the `-S` schema name, an error occurs:
```sh
$ profanedb_server -S ~/Documents/Workspair/Protobuf/
[2017-10-10 18:31:57.760191] [0x00007f22ce2fd400] [error] File at ../workspair/grpc/booking.proto couldn't be loaded
terminate called after throwing an instance of 'std::runtime_error'
what(): ../workspair/grpc/booking.proto couldn't be loaded
```Giorgio AzzinnaroGiorgio Azzinnarohttps://gitlab.com/ProfaneDB/ProfaneDB/-/issues/9Protobuf should be embedded and statically linked2017-08-08T12:39:04ZGiorgio AzzinnaroProtobuf should be embedded and statically linkedShould always be the newest version (so that users can load schema targeted at any version) and included in the codeShould always be the newest version (so that users can load schema targeted at any version) and included in the codeGiorgio AzzinnaroGiorgio Azzinnarohttps://gitlab.com/ProfaneDB/ProfaneDB/-/issues/8Authentication2017-08-05T15:21:52ZGiorgio AzzinnaroAuthenticationAuthentication could be added so that mobile applications could use this directly, somewhat like [Parse](http://parseplatform.org/).Authentication could be added so that mobile applications could use this directly, somewhat like [Parse](http://parseplatform.org/).https://gitlab.com/ProfaneDB/ProfaneDB/-/issues/7Repeated key collision2017-08-05T11:52:11ZGiorgio AzzinnaroRepeated key collisionCurrently repeated Keys are generated serialising the single entities and concatenating with a separator (`$`).
`["repeated", "string", "field"]` becomes `"$repeated$string$field"`
However, something like
`["a$different", "string"]` a...Currently repeated Keys are generated serialising the single entities and concatenating with a separator (`$`).
`["repeated", "string", "field"]` becomes `"$repeated$string$field"`
However, something like
`["a$different", "string"]` and `["a", "different", "string"]` would collide, both generating `"$a$different$string"`.
Requirements are that the generated string is order dependent (`["sorted", "string"] != ["string", "sorted"]`)
and it should be easily created client-side (either library users or gRPC users, so from different languages too), because `Key` is used as parameter for retrieval.1.0 - Easter EggGiorgio AzzinnaroGiorgio Azzinnarohttps://gitlab.com/ProfaneDB/ProfaneDB/-/issues/6Keyable in non-keyable nested2017-07-11T13:05:06ZGiorgio AzzinnaroKeyable in non-keyable nested```protobuf
message KeyableInNonkeyableNested {
string str_key = 1 [ (profanedb.protobuf.options).key = true ];
message NonkeyableNested {
message KeyableNested {
int64_key int_key = 1;
}
KeyableNested nested_keyab...```protobuf
message KeyableInNonkeyableNested {
string str_key = 1 [ (profanedb.protobuf.options).key = true ];
message NonkeyableNested {
message KeyableNested {
int64_key int_key = 1;
}
KeyableNested nested_keyable = 1;
}
NonkeyableNested nested_nonkeyable = 2;
}
```
Keyable messages could be stored in non-keyable ones, but still appear in the original MessageTreeNode as children1.0 - Easter EggGiorgio AzzinnaroGiorgio Azzinnarohttps://gitlab.com/ProfaneDB/ProfaneDB/-/issues/5Use relational DBs2017-07-15T13:35:16ZGiorgio AzzinnaroUse relational DBsIf `Marshaller` could return the normalized data (where child messages are turned into IDs) without serialising it as Protobuf/Thrift/anything else, `Storage` could be edited to use relational DBs
It breaks the interface so it should be...If `Marshaller` could return the normalized data (where child messages are turned into IDs) without serialising it as Protobuf/Thrift/anything else, `Storage` could be edited to use relational DBs
It breaks the interface so it should be done before v1.01.0 - Easter EggGiorgio AzzinnaroGiorgio Azzinnarohttps://gitlab.com/ProfaneDB/ProfaneDB/-/issues/4Circular dependency2017-06-24T21:30:56ZGiorgio AzzinnaroCircular dependencyConsider the following scenarios
```protobuf
message User {
int32 id = 1 [ (profanedb.protobuf.options).key = true ];
repeated Car cars = 2;
}
message Car {
int32 id = 1 [ (profanedb.protobuf.options).key = true ];
User owner =...Consider the following scenarios
```protobuf
message User {
int32 id = 1 [ (profanedb.protobuf.options).key = true ];
repeated Car cars = 2;
}
message Car {
int32 id = 1 [ (profanedb.protobuf.options).key = true ];
User owner = 2;
}
```
Given a `User` object name `A`: each `Car` in `A.cars` should have `owner` set to `A`.
This creates a circular dependency.1.0 - Easter EggGiorgio AzzinnaroGiorgio Azzinnarohttps://gitlab.com/ProfaneDB/ProfaneDB/-/issues/3Repeated insertion/retrieval2017-05-09T08:35:04ZGiorgio AzzinnaroRepeated insertion/retrievalCurrently `GetReq` and `PutReq` allow a single object to be stored and retrieved at a time.
`repeated` fields could be used instead.Currently `GetReq` and `PutReq` allow a single object to be stored and retrieved at a time.
`repeated` fields could be used instead.1.0 - Easter Egg