Skip to content

Commit

Permalink
#51: Added support for JDBC based extensions (#52)
Browse files Browse the repository at this point in the history
Co-authored-by: Christoph Kuhnke <github@kuhnke.net>
  • Loading branch information
kaklakariada and ckunki committed Nov 9, 2023
1 parent 4f0f1e2 commit 280bcab
Show file tree
Hide file tree
Showing 11 changed files with 228 additions and 131 deletions.
1 change: 1 addition & 0 deletions doc/changes/changelog.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions doc/changes/changes_0.4.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Extension Manager Interface 0.4.1, released 2023-11-09

Code name: Support JDBC based extensions

## Summary

This release adds support for JDBC based virtual schema extensions that use two separate JARs: the adapter and the JDBC driver. The base extension allows specifying multiple files that are then all included in the `ADAPTER SCRIPT` definition as `%jar` directives.

The release also allows extensions to ignore the file size for JDBC driver JAR files by omitting the file size.

## Features

* #51: Added support for JDBC based extensions

## Dependency Updates

### Development Dependency Updates

* Updated `eslint:^8.52.0` to `^8.53.0`
* Updated `@typescript-eslint/parser:^6.9.1` to `^6.10.0`
* Updated `@typescript-eslint/eslint-plugin:^6.9.1` to `^6.10.0`
146 changes: 73 additions & 73 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@exasol/extension-manager-interface",
"version": "0.4.0",
"version": "0.4.1",
"main": "dist/api.js",
"types": "dist/api.d.ts",
"description": "Interface for extensions for the Exasol extension manager.",
Expand All @@ -14,9 +14,9 @@
},
"devDependencies": {
"@jest/globals": "^29.7.0",
"@typescript-eslint/eslint-plugin": "^6.9.1",
"@typescript-eslint/parser": "^6.9.1",
"eslint": "^8.52.0",
"@typescript-eslint/eslint-plugin": "^6.10.0",
"@typescript-eslint/parser": "^6.10.0",
"eslint": "^8.53.0",
"jest": "^29.7.0",
"ts-jest": "^29.1.1",
"ts-node": "^10.9.1",
Expand Down
10 changes: 4 additions & 6 deletions src/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { BadRequestError, NotFoundError, PreconditionFailedError } from "./error
import { ExaMetadata } from "./exasolSchema";
import { Parameter } from "./parameters";

export const CURRENT_API_VERSION = "0.4.0";
export const CURRENT_API_VERSION = "0.4.1";

/**
* This class represents an extension that can be installed and managed with the extension-manager.
Expand Down Expand Up @@ -182,12 +182,10 @@ export interface ParameterValue {
export interface BucketFSUpload {
/** Human-readable name or short description of the file */
name: string
downloadUrl: string
licenseUrl: string
/** Default: false */
licenseAgreementRequired?: boolean
downloadUrl?: string
licenseUrl?: string
bucketFsFilename: string
/** File size in bytes */
/** File size in bytes. Use `-1` to make Extension Manager ignore the file size. */
fileSize: number
}

Expand Down
4 changes: 2 additions & 2 deletions src/base-vs/test-vs-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ export function emptyBaseVsExtension(): JavaVirtualSchemaBaseExtension {
version: "v0",
category: "test-category",
description: "Testing base extension",
file: {
files: [{
name: "test-ext.jar",
size: 12345
},
}],
scripts: [{ name: adapterName, type: "SCALAR", parameters: "...", emitParameters: "...", scriptClass: "com.exasol.TestingAdapter" }],
scriptVersionExtractor: () => successResult("dummy version"),
virtualSchemaAdapterScript: adapterName,
Expand Down

0 comments on commit 280bcab

Please sign in to comment.