Skip to content
A implementation of PartiQL written in Kotlin.
Kotlin HTML Other
Branch: master
Clone or download
dlurton Update readme (#127)
Add maven badge and instructions for using PartiQL in Maven and Gradle JVM projects
Latest commit cbcf8cf Aug 21, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Initial commit for PartiQL Lang Kotlin Jul 29, 2019
cli (Docs) Replaced "sqlcli" occurences to "partiql" (#114) Aug 2, 2019
docs (Docs) Update cookbook examples to use CompilerPipeline (#99) Aug 5, 2019
examples (Build) Adds detekt (#101) Jul 29, 2019
gradle/wrapper Initial commit for PartiQL Lang Kotlin Jul 29, 2019
integration-test Initial commit for PartiQL Lang Kotlin Jul 29, 2019
lang Issue #118, generate pom.xml and sign build artifacts (#124) Aug 20, 2019
pts Migrate to new spec (#106) Jul 30, 2019
testframework (Build) Adds detekt (#101) Jul 29, 2019
testscript Migrate to new spec (#106) Jul 30, 2019
.gitattributes Initial commit for PartiQL Lang Kotlin Jul 29, 2019
.gitignore (Build) Adds detekt (#101) Jul 29, 2019
CODE_OF_CONDUCT.md Initial commit for PartiQL Lang Kotlin Jul 29, 2019
CONTRIBUTING.md Initial commit for PartiQL Lang Kotlin Jul 29, 2019
LICENSE Creating initial file from template May 13, 2019
NOTICE
README.md Update readme (#127) Aug 21, 2019
build.gradle Setting next dev version Aug 20, 2019
gradlew Initial commit for PartiQL Lang Kotlin Jul 29, 2019
gradlew.bat Initial commit for PartiQL Lang Kotlin Jul 29, 2019
settings.gradle (Refactor) Moved PTS to its own subproject (#105) Jul 29, 2019

README.md

PartiQL Lang Kotlin

This is a Kotlin implementation of the PartiQL specification. PartiQL is based on SQL-92 and has added support for working with schemaless hierarchical data. PartiQL’s extensions to SQL are easy to understand, treat nested data as first class citizens and compose seamlessly with each other and SQL.

Maven Central

This repository contains an embeddable reference interpreter, test framework, and tests for PartiQL in Kotlin.

The easiest way to get started with PartiQL is to clone this repository locally, build, then run the REPL.

Status

PartiQL should be considered to be in "preview" status. It has been in use within a number of Amazon internal systems and an AWS product for over one year. The behavior of the language itself is mostly stable however the public API of the interpreter is slated to undergo significant improvements in the near term. (See the GitHub issues list for details.)

Using In Your Project

This project is published to Maven Central.

Group ID Artifact ID Recommended Version
org.partiql partiql-lang-kotlin 0.1.0

For Maven builds, add this to your pom.xml:

<dependency>
  <groupId>org.partiql</groupId>
  <artifactId>partiql-lang-kotlin</artifactId>
  <version>{version}</version>
</dependency>

For Gradle 5 and later, add this to your build.gradle:

repositories {
    mavenCentral()
}

dependencies {
    implementation "org.partiql:partiql-lang-kotlin:{version}"
}

Be sure to replace {version} with the desired version.

Building

To build this project, clone this repository and from its root directory execute:

$./gradlew build

This will build the reference interpreter and test framework, then run all unit and integration tests.

Directory Structure

  • docs/user documentation for developers embedding the interpreter in an application.
  • docs/dev documentation for developers of the interpreter library.
  • lang contains the source code of the library containing the interpreter.
  • cli contains the source code of the command-line interface and interactive prompt. (CLI/REPL)
  • testframework contains the source code of the integration test framework.
  • integration-test/test-scripts contains the test scripts executed by the test framework as part of the Gradle build.
  • integration-test/test-scripts-ignored contains test scripts which cannot be executed during the Gradle build.

Examples

See the examples project in this repository for examples covering use of the PartiQL interpreter in your project.

Contributing

See CONTRIBUTING

License

This the works contained within this repository are licensed under the Apache 2.0 License.

See the LICENSE file.

You can’t perform that action at this time.