sirix | evolutionary database system | Database library
kandi X-RAY | sirix Summary
kandi X-RAY | sirix Summary
SirixDB is a log-structured, temporal NoSQL document store, which stores evolutionary data. It never overwrites any data on-disk. Thus, we're able to restore and query the full revision history of a resource in the database.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Creates a new page with the specified commit timestamp and revision
- Truncate the log
- Sets the revision timestamp
- Emit a JSON node
- Escapes the given string
- Emit meta data for a node
- Append a key and value pair
- Commits the page
- Truncate the log
- Sets the revision timestamp
- Set string value
- Inserts a number
- Emit a non - structural diff
- Set number value
- Insert an object record as left sibling
- Insert an object record as the right sibling
- Inserts an object record as last child
- Deletes an immutable element
- Compacts a new diff
- Set the current node
- Get the next key
- Performs serialization
- Insert a string value as last child
- Compare two nodes
- Changes the name of an object key
- Compare the changes
- Creates a new data record
- Get the next node key
sirix Key Features
sirix Examples and Code Snippets
Community Discussions
Trending Discussions on sirix
QUESTION
Is it possible to include Java9 (or 10) dependencies? As Kotlin is only able to compile to Java 8 so far. I'm getting an java.lang.UnsupportedClassVersionError
error obviously stating that a class in the JAR/dependency I'm including has been compiled by a more recent version of the Java Runtime. However am I not able to specify a newer JDK, which is able to run classes compiled with older versions (the Kotlin stuff?).
ANSWER
Answered 2018-May-07 at 10:22I suspect that the problem is in the Kotlin Maven plugin, which infers the -jvm-target
argument value directly from maven.compiler.source
/maven.compiler.target
properties, not taking into account the fact that the Kotlin compiler only supports versions 1.6 and 1.8. The workaround would be to specify the JVM bytecode target version explicitly to 1.8, for example (note that 1.8-targeted bytecode will run on Java 9 just fine):
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install sirix
The REST-API is asynchronous at its very core. We use Vert.x, which is a toolkit built on top of Netty. It is heavily inspired by Node.js but for the JVM. As such, it uses event loop(s), which is thread(s), which never should by blocked by long-running CPU tasks or disk-bound I/O. We are using Kotlin with coroutines to keep the code simple. SirixDB uses OAuth2 (Password Credentials/Resource Owner Flow) using a Keycloak authorization server instance.
You can set up Keycloak as described in this excellent tutorial. Our docker-compose file imports a sirix realm with a default admin user with all available roles assigned. You can skip steps 3 - 7 and 10, 11, and simply recreate a client-secret and change oAuthFlowType to "PASSWORD". If you want to run or modify the integration tests, the client secret must not be changed. Make sure to delete the line "build: ." in the docker-compse.yml file for the server image if you want to use the Docker Hub image.
Open your browser. URL: http://localhost:8080
Login with username "admin", password "admin"
Create a new realm with the name "sirixdb"
Go to Clients => account
Change client-id to "sirix"
Make sure access-type is set to confidential
Go to Credentials tab
Put the client secret into the SirixDB HTTP-Server configuration file. Change the value of "client.secret" to whatever Keycloak set up.
If "oAuthFlowType" is specified in the ame configuration file change the value to "PASSWORD" (if not default is "PASSWORD").
Regarding Keycloak the direct access grant on the settings tab must be enabled.
Our (user-/group-)roles are "create" to allow creating databases/resources, "view" to allow to query database resources, "modify" to modify a database resource and "delete" to allow deletion thereof. You can also assign ${databaseName}- prefixed roles.
To created a fat-JAR. Download our ZIP-file for instance, then. And a fat-JAR with all required dependencies should have been created in your target folder. Furthermore, a key.pem and a cert.pem file are needed. These two files have to be in your user home directory in a directory called "sirix-data", where Sirix stores the databases. For demo purposes they can be copied from our resources directory.
cd bundles/sirix-rest-api
gradle build -x test
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page