Skip to content

Commit

Permalink
#38: Changed namespace exasolvs to exasol.evsl (#47)
Browse files Browse the repository at this point in the history
* #38: Changed namespace `exasolvs` to `exasol.evsl`.
  • Loading branch information
redcatbear committed Oct 23, 2023
1 parent 6ffdbb9 commit 71b496b
Show file tree
Hide file tree
Showing 23 changed files with 41 additions and 34 deletions.
4 changes: 2 additions & 2 deletions .coverage_config.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
include = {
"main/lua/exasolvs$",
"main/lua/exasolvs%/.+$",
"main/lua/exasol/exasol/evsl$",
"main/lua/exasol/evsl%/.+$",
"main/lua/text$"
}
16 changes: 10 additions & 6 deletions .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,27 @@ jobs:
fail-fast: true
matrix:
lua_version: [5.4]
docker_db_version: ["7.1.21", "8.20.0"]
docker_db_version: ["7.1.23", "8.23.0"]
env:
DEFAULT_DB_VERSION: "8.20.0"
DEFAULT_DB_VERSION: "8.23.0"
runs-on: ubuntu-22.04
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.lua_version }}-${{ matrix.docker_db_version }}
cancel-in-progress: true
steps:
- name: Free Disk Space
run: |
sudo rm -rf /usr/local/lib/android
sudo rm -rf /usr/share/dotnet
- name: Checkout the repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: "temurin"
java-version: 11
java-version: 17
cache: "maven"
- name: Cache SonarCloud packages
uses: actions/cache@v3
Expand Down Expand Up @@ -69,7 +73,7 @@ jobs:
-DtrimStackTrace=false \
-Dsonar.organization=exasol \
-Dsonar.host.url=https://sonarcloud.io \
-Dsonar.login=$SONAR_TOKEN
-Dsonar.token=$SONAR_TOKEN
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/release_droid_print_quick_checksum.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout the repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK 11
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout the repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK 11
Expand Down
7 changes: 5 additions & 2 deletions doc/changes/changes_0.5.2.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@ Code name: Fix CVE-2023-42503 in test dependency

## Summary

This release we replaced a testing dependency that was vulnerable to CVE-2023-42503. Production code was not affected.
In this release we replaced a testing dependency that was vulnerable to CVE-2023-42503. Production code was not affected.

We also changed the namespace for the virtual schema adapter in the code from `exasolvs` to `exasol.evsl` for uniformity across projects. This has no impact on the function of the virtual schema.

## Features

* 45: Fix CVE-2023-42503 in test dependency
* #38: Changed namespace `exasolvs` to `exasol.evsl`
* #45: Fixed CVE-2023-42503 in test dependency

## Dependency Updates

Expand Down
2 changes: 1 addition & 1 deletion doc/user_guide/user_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ Of course, we trust that you will pick a stronger password in real life than we

Which SQL constructs are pushed-down to Exasol's Virtual Schema is decided by the optimizer based on the original query and on the capabilities reported by the Virtual Schema adapter (i.e. the software driving RLS).

The Exasol Virtual Schema supports the capabilities listed in the file [`adapter_capabilities.lua`](../../src/main/lua/exasolvs/adapter_capabilities.lua).
The Exasol Virtual Schema supports the capabilities listed in the file [`adapter_capabilities.lua`](../../src/main/lua/exasol/evsl/adapter_capabilities.lua).

Please note that excluded capabilities are not the only reason why a construct might not be pushed down. Given the nature of the queries pushed to RLS, the `LIMIT`-clause for example will rarely — if ever — be pushed down even though the adapter can handle that. RLS creates `SELECT` statements and not `IMPORT` statements.
The simple reason `LIMIT` not pushed is, that the optimizer decides it is more efficient in this particular case.
Expand Down
6 changes: 3 additions & 3 deletions exasol-virtual-schema-lua-0.5.2-1.rockspec
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ test = {
}

local package_items = {
"exasolvs.adapter_capabilities", "exasolvs.ExasolAdapter", "exasolvs.ExasolAdapterProperties",
"exasolvs.MetadataReaderFactory", "exasolvs.RemoteMetadataReader", "exasolvs.ConnectionReader",
"exasolvs.QueryRewriterFactory", "exasolvs.RemoteQueryRewriter",
"exasol.evsl.adapter_capabilities", "exasol.evsl.ExasolAdapter", "exasol.evsl.ExasolAdapterProperties",
"exasol.evsl.MetadataReaderFactory", "exasol.evsl.RemoteMetadataReader", "exasol.evsl.ConnectionReader",
"exasol.evsl.QueryRewriterFactory", "exasol.evsl.RemoteQueryRewriter",
-- from remotelog
"remotelog", "ExaError", "MessageExpander",
-- from exasol-virtual-schema-common-lua
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ require("busted.runner")()
local assert = require("luassert")
local mockagne = require("mockagne")

local ConnectionReader = require("exasolvs.ConnectionReader")
local ConnectionReader = require("exasol.evsl.ConnectionReader")

-- [[utest -> dsn~defining-the-remote-connection~0]]
describe("ConnectionReader", function()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require("busted.runner")()
local ExasolAdapterProperties = require("exasolvs.ExasolAdapterProperties")
local ExasolAdapterProperties = require("exasol.evsl.ExasolAdapterProperties")

describe("adapter_properties", function()
describe("validates property rule:", function()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package.path = "src/main/lua/?.lua;" .. package.path
require("busted.runner")()
local assert = require("luassert")
local mockagne = require("mockagne")
local adapter_capabilities = require("exasolvs.adapter_capabilities")
local RlsAdapter = require("exasolvs.ExasolAdapter")
require("exasolvs.ExasolAdapterProperties")
local adapter_capabilities = require("exasol.evsl.adapter_capabilities")
local RlsAdapter = require("exasol.evsl.ExasolAdapter")
require("exasol.evsl.ExasolAdapterProperties")
local PomReader = require("spec.PomReader")
local pom = PomReader:new()

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package.path = "src/main/lua/?.lua;" .. package.path
require("busted.runner")()
local MetadataReaderFactory = require("exasolvs.MetadataReaderFactory")
local MetadataReaderFactory = require("exasol.evsl.MetadataReaderFactory")

describe("MetadataReaderFactory", function()
it("asserts that the Exasol context is provided during construction", function()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package.path = "src/main/lua/?.lua;" .. package.path
require("busted.runner")()
local QueryRewriterFactory = require("exasolvs.QueryRewriterFactory")
local QueryRewriterFactory = require("exasol.evsl.QueryRewriterFactory")

describe("QueryRewriterFactory", function()
it("creates a local query rewriter", function()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package.path = "src/main/lua/?.lua;" .. package.path
require("busted.runner")()
local RemoteQueryRewriter = require("exasolvs.RemoteQueryRewriter")
local RemoteQueryRewriter = require("exasol.evsl.RemoteQueryRewriter")

describe("Remote Query rewriter", function()
local rewriter = RemoteQueryRewriter:new("TEST_CONNECTION")
Expand Down
8 changes: 4 additions & 4 deletions src/main/lua/entry.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
-- It is responsible for creating and wiring up the main adapter objects.
-- @script entry.lua

local ExasolAdapter = require("exasolvs.ExasolAdapter")
local ExasolAdapterProperties = require("exasolvs.ExasolAdapterProperties")
local MetadataReaderFactory = require("exasolvs.MetadataReaderFactory")
local QueryRewriterFactory = require("exasolvs.QueryRewriterFactory")
local ExasolAdapter = require("exasol.evsl.ExasolAdapter")
local ExasolAdapterProperties = require("exasol.evsl.ExasolAdapterProperties")
local MetadataReaderFactory = require("exasol.evsl.MetadataReaderFactory")
local QueryRewriterFactory = require("exasol.evsl.QueryRewriterFactory")
local RequestDispatcher = require("exasol.vscl.RequestDispatcher")

--- Handle a Virtual Schema request.
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
local AbstractVirtualSchemaAdapter = require("exasol.vscl.AbstractVirtualSchemaAdapter")
local adapter_capabilities = require("exasolvs.adapter_capabilities")
local adapter_capabilities = require("exasol.evsl.adapter_capabilities")
local log = require("remotelog")

--- Virtual Schema adapter for Exasol-to-Exasol Virtual Schemas.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ end
-- @param connection_id name of the connection object that defines the connection to the remote data source
-- @return local metadata reader
function MetadataReaderFactory:create_remote_reader(connection_id)
return require("exasolvs.RemoteMetadataReader"):new(self._exasol_context, connection_id)
return require("exasol.evsl.RemoteMetadataReader"):new(self._exasol_context, connection_id)
end

return MetadataReaderFactory
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ end
function QueryRewriterFactory:create_rewriter(connection_id)
if connection_id then
log.debug("Creating remote query rewriter (IMPORT) for connection '%s'.", connection_id)
return require("exasolvs.RemoteQueryRewriter"):new(connection_id)
return require("exasol.evsl.RemoteQueryRewriter"):new(connection_id)
else
log.debug("No connection specified by user. Creating local query rewriter (SELECT).")
return require("exasol.evscl.LocalQueryRewriter"):new()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ local AbstractMetadataReader = require("exasol.evscl.AbstractMetadataReader")
setmetatable(RemoteMetadataReader, {__index = AbstractMetadataReader})

local ExaError = require("ExaError")
local ConnectionReader = require("exasolvs.ConnectionReader")
local ConnectionReader = require("exasol.evsl.ConnectionReader")
local driver = require("luasql.exasol")
local log = require("remotelog")

Expand Down
4 changes: 2 additions & 2 deletions tools/runtests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ fi
readonly exit_ok=0
readonly exit_software=2
readonly src_module_path="$base_dir/src/main/lua"
readonly src_exasolvs_path="$src_module_path/exasolvs"
readonly src_exasol_evsl_path="$src_module_path/exasol/evsl"
readonly test_module_path="$base_dir/spec"
readonly target_dir="$base_dir/target"
readonly reports_dir="$target_dir/luaunit-reports"
Expand Down Expand Up @@ -78,7 +78,7 @@ function run_static_code_analysis {
echo
echo "Running static code analysis"
echo
luacheck "$src_exasolvs_path" "$test_module_path" --codes --ignore 111 --ignore 112 --ignore 212
luacheck "$src_exasol_evsl_path" "$test_module_path" --codes --ignore 111 --ignore 112 --ignore 212
return "$?"
}

Expand Down

0 comments on commit 71b496b

Please sign in to comment.