Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into js-plugin-jetty
Browse files Browse the repository at this point in the history
  • Loading branch information
devinrsmith committed Oct 27, 2022
2 parents e7abb59 + f4c230b commit 06aa44d
Show file tree
Hide file tree
Showing 124 changed files with 1,761 additions and 684 deletions.
17 changes: 9 additions & 8 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,14 @@
# security implications.
#
# See https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
/.github/workflows/ @devinrsmith @jcferretti @JamesXNelson @mofojed
/.github/workflows/ @devinrsmith @jcferretti @JamesXNelson @mofojed @rcaudy

/CODE_OF_CONDUCT.md @chipkent
/CONTRIBUTING.md @chipkent
/LICENSE.md @chipkent
/NOTICE.md @chipkent
/CODE_OF_CONDUCT.md @chipkent @rcaudy
/CONTRIBUTING.md @chipkent @rcaudy
/LICENSE.md @chipkent @rcaudy
/NOTICE.md @chipkent @rcaudy
/README.md @chipkent @rcaudy @margaretkennedy
/TRIAGE.md @chipkent
/licenses @chipkent
/docker @devinrsmith @jcferretti
/TRIAGE.md @chipkent @rcaudy
/licenses @chipkent @rcaudy
/docker @devinrsmith @jcferretti @rcaudy
/engine/function/ @chipkent @kosak @rcaudy
22 changes: 11 additions & 11 deletions .github/workflows/build-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ jobs:
tags: ${{ steps.docker_meta_server.outputs.tags }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/server/build/context/
push: ${{ github.event_name != 'pull_request' }}
push: false

- name: Docker build server nltk
uses: docker/build-push-action@v2
Expand All @@ -196,7 +196,7 @@ jobs:
tags: ${{ steps.docker_meta_server_nltk.outputs.tags }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/server/build/context/
push: ${{ github.event_name != 'pull_request' }}
push: false

- name: Docker build server pytorch
uses: docker/build-push-action@v2
Expand All @@ -208,7 +208,7 @@ jobs:
tags: ${{ steps.docker_meta_server_pytorch.outputs.tags }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/server/build/context/
push: ${{ github.event_name != 'pull_request' }}
push: false

- name: Docker build server sklearn
uses: docker/build-push-action@v2
Expand All @@ -220,7 +220,7 @@ jobs:
tags: ${{ steps.docker_meta_server_sklearn.outputs.tags }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/server/build/context/
push: ${{ github.event_name != 'pull_request' }}
push: false

- name: Docker build server tensorflow
uses: docker/build-push-action@v2
Expand All @@ -232,7 +232,7 @@ jobs:
tags: ${{ steps.docker_meta_server_tensorflow.outputs.tags }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/server/build/context/
push: ${{ github.event_name != 'pull_request' }}
push: false

- name: Docker build server all-ai
uses: docker/build-push-action@v2
Expand All @@ -244,7 +244,7 @@ jobs:
tags: ${{ steps.docker_meta_server_all_ai.outputs.tags }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/server/build/context/
push: ${{ github.event_name != 'pull_request' }}
push: false

# Note: server-slim does not need BASE/SERVER build-args like the other server images
- name: Docker build server slim
Expand All @@ -255,7 +255,7 @@ jobs:
tags: ${{ steps.docker_meta_server_slim.outputs.tags }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/server-slim/build/context/
push: ${{ github.event_name != 'pull_request' }}
push: false

- name: Tag upstream images
if: ${{ startsWith(github.ref, 'refs/heads/release/v') }}
Expand Down Expand Up @@ -354,7 +354,7 @@ jobs:
tags: ${{ steps.docker_meta.outputs.tags }}
builder: ${{ steps.buildx.outputs.name }}
context: ./grpc-proxy/build/docker/
push: ${{ github.event_name != 'pull_request' }}
push: false

envoy:
runs-on: ubuntu-22.04
Expand Down Expand Up @@ -441,7 +441,7 @@ jobs:
tags: ${{ steps.docker_meta.outputs.tags }}
builder: ${{ steps.buildx.outputs.name }}
context: ./envoy/build/docker/
push: ${{ github.event_name != 'pull_request' }}
push: false

web:
runs-on: ubuntu-22.04
Expand Down Expand Up @@ -532,7 +532,7 @@ jobs:
tags: ${{ steps.docker_meta.outputs.tags }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/web/build/docker/
push: ${{ github.event_name != 'pull_request' }}
push: false

- name: Tag upstream images
if: ${{ startsWith(github.ref, 'refs/heads/release/v') }}
Expand Down Expand Up @@ -617,7 +617,7 @@ jobs:
tags: ${{ steps.docker_meta.outputs.tags }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/web-plugin-packager/build/context/
push: ${{ github.event_name != 'pull_request' }}
push: false

### Notes about `driver: docker`
###
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/check-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,9 @@ jobs:
if: always()
with:
name: check-ci-results
path: '**/build/test-results/*/TEST-*.xml'
path: |
**/build/test-results/**
!**/build/test-results/**/binary/**
- name: Upload Test Reports
uses: actions/upload-artifact@v3
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/nightly-check-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,9 @@ jobs:
with:
name: nightly-${{ matrix.gradle-task }}-java${{ matrix.test-jvm-version }}-ci-results
path: |
**/build/test-results/*/TEST-*.xml
**/build/test-results/**
**/build/reports/tests/**
!**/build/test-results/**/binary/**
- name: Upload JVM Error Logs
uses: actions/upload-artifact@v3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import io.deephaven.base.verify.Require;
import io.deephaven.engine.table.Table;
import io.deephaven.engine.table.impl.ShiftObliviousInstrumentedListenerAdapter;
import io.deephaven.engine.table.impl.NotificationStepSource;
import io.deephaven.engine.rowset.RowSet;
import io.deephaven.internal.log.LoggerFactory;
import io.deephaven.io.logger.Logger;
Expand Down Expand Up @@ -95,7 +94,7 @@ public void onUpdate(RowSet added, RowSet removed, RowSet modified) {
}
};

dataManager.table().listenForUpdates(listener, true);
dataManager.table().addUpdateListener(listener, true);
}

private void removeKeyIndex(final RowSet rowSet) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,19 @@ class ColumnSource;
} // namespace deephaven::client::column

namespace deephaven::client::chunk {
/**
* Factory class for creating Chunk objects.
*/
class ChunkMaker {
typedef deephaven::client::column::ColumnSource ColumnSource;
public:
/**
* Create a Chunk compatible with the specified ColumnSource. For example if the underlying
* element type of the ColumnSource is int32_t, this method will create an Int32Chunk.
* @param columnSource The column source whose underlying element type will be inspected.
* @param chunkSize The requested size of the chunk.
* @return An AnyChunk, which is a variant value containing the requested chunk.
*/
static AnyChunk createChunkFor(const ColumnSource &columnSource, size_t chunkSize);
};
} // namespace deephaven::client::chunk
16 changes: 11 additions & 5 deletions cpp-client/doc/chunks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ or
The concrete implementing classes are defined by the templated class
:cpp:class:`GenericChunk <deephaven::client::chunk::GenericChunk>`.
For convenience we provide typedefs which instantiate
:cpp:class:`GenericChunk <deephaven::client::chunk::GenericChunk>`.
:cpp:class:`GenericChunk <deephaven::client::chunk::GenericChunk>`
on all the Deephaven types:
:cpp:type:`Int8Chunk <deephaven::client::chunk::BooleanChunk>`,
:cpp:type:`Int16Chunk <deephaven::client::chunk::BooleanChunk>`,
Expand All @@ -27,7 +27,7 @@ on all the Deephaven types:
:cpp:type:`DateTimeChunk <deephaven::client::chunk::BooleanChunk>`.

:cpp:class:`GenericChunk <deephaven::client::chunk::GenericChunk>`
also supports
also supports the methods
:cpp:func:`take <deephaven::client::chunk::GenericChunk::take>` and
:cpp:func:`drop <deephaven::client::chunk::GenericChunk::drop>` to take slices of the
:cpp:class:`GenericChunk <deephaven::client::chunk::GenericChunk>`.
Expand All @@ -39,14 +39,17 @@ The
:cpp:class:`AnyChunk <deephaven::client::chunk::AnyChunk>`
class is a variant value type that can hold one of the concrete Chunk types described above.
:cpp:class:`AnyChunk <deephaven::client::chunk::AnyChunk>` is useful in certain limited cases
where a utility method needs to create a
where a factory method needs to create a
:cpp:class:`Chunk <deephaven::client::chunk::Chunk>`
with a dynamically-determined type. The rationale for using the variant approach rather than a
having a dynamically-determined type, not known at compile time. Of course this could also be
accomplished by returning a heap-allocated pointer to a
:cpp:class:`Chunk <deephaven::client::chunk::Chunk>`.
The rationale for using the variant approach rather than the
heap-allocated object approach is for the sake of simplicity and efficiency when using these
small objects. One example method that returns an
:cpp:class:`AnyChunk <deephaven::client::chunk::AnyChunk>`
is
:cpp:func:`createChunkFor <deephaven::client::column::ChunkMaker::createChunkFor>`,
:cpp:func:`createChunkFor <deephaven::client::chunk::ChunkMaker::createChunkFor>`,
which creates a
:cpp:class:`Chunk <deephaven::client::chunk::Chunk>`
with a type appropriate to the passed-in
Expand Down Expand Up @@ -89,3 +92,6 @@ Utility Declarations

.. doxygenclass:: deephaven::client::chunk::ChunkVisitor
:members:

.. doxygenclass:: deephaven::client::chunk::ChunkMaker
:members:
4 changes: 2 additions & 2 deletions cpp-client/doc/column_sources.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ and
methods. Likewise, you can store data into a
:cpp:class:`MutableColumnSource <deephaven::client::column::MutableColumnSource>`
via its
:cpp:func:`fillFromChunk <deephaven::client::column::ColumnSource::fillFromChunk>`
:cpp:func:`fillFromChunk <deephaven::client::column::MutableColumnSource::fillFromChunk>`
and
:cpp:func:`fillFromChunkUnordered <deephaven::client::column::ColumnSource::fillFromChunkUnordered>`
:cpp:func:`fillFromChunkUnordered <deephaven::client::column::MutableColumnSource::fillFromChunkUnordered>`
methods. These methods provide "bulk transfer" of data into and out of a
:cpp:class:`ColumnSource <deephaven::client::column::ColumnSource>`.
We do not provide any methods to access single elements of a
Expand Down
1 change: 1 addition & 0 deletions cpp-client/doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
# parent in the list.

cpp_index_common_prefix = [
'deephaven::client::chunk::',
'deephaven::client::column::',
'deephaven::client::container::',
'deephaven::client::table::',
Expand Down
11 changes: 3 additions & 8 deletions cpp-client/doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,9 @@ Deephaven C++ Client API Reference
Introduction
------------

The Deephaven C++ Client is used to manipulate tables and access data running on a remote
Deephaven server from native C++. This document provides the major abstractions and entry
points provided in C++. To start, create a
:cpp:class:`Client <deephaven::client::Client>`
with the
:cpp:func:`connect <deephaven::client::Client::connect>`
factory method. To get started, see :doc:`main`.

The Deephaven C++ Client library is used to manipulate tables and access data running on a remote
Deephaven server using native C++. This document provides the major abstractions and entry
points provided by the library. To get started, see :doc:`main`.

Table of Contents
-----------------
Expand Down
18 changes: 15 additions & 3 deletions cpp-client/doc/main.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,27 @@ Top-level class: Client
Description
-----------

The main entry point to the Deephaven Client API. Use
The
:cpp:class:`Client <deephaven::client::Client>`
class is the main entry point to the Deephaven Client API. Use
:cpp:func:`connect <deephaven::client::Client::connect>`
to connect to a Deephaven instance, then call
:cpp:func:`getManager <deephaven::client::Client::getManager>`
to get a
:cpp:class:`TableHandleManager <deephaven::client::TableHandleManager>`

Declarations:
-------------
Example:

.. code:: c++

const char *server = "localhost:10000";
auto client = Client::connect(server);
auto manager = client.getManager();
auto mydata = manager.fetchTable("MyData");
auto filtered = t1.where("Price < 100").sort("Timestamp").tail(5);
Declarations
------------

.. doxygenclass:: deephaven::client::Client
:members:
Loading

0 comments on commit 06aa44d

Please sign in to comment.