Class DirectTickDBClient
- java.lang.Object
-
- deltix.qsrv.hf.tickdb.pub.DirectTickDBClient
-
- All Implemented Interfaces:
DXTickDB,TickDB,WritableTickDB,deltix.util.io.AbstractDataStore,deltix.util.lang.Disposable,java.io.Closeable,java.lang.AutoCloseable
public class DirectTickDBClient extends java.lang.Object implements DXTickDB
In-process client with separate open/close lifecycle.
-
-
Constructor Summary
Constructors Constructor Description DirectTickDBClient(DXTickDB delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected voidassertOpen()protected voidassertWritable()voidclose()voidcoolDown()Removes all memory indexes.DXTickStreamcreateAnonymousStream(StreamOptions options)Deprecated.TickCursorcreateCursor(SelectionOptions options, TickStream... streams)Opens an initially empty cursor for reading data from multiple streams, according to the specified options.DXTickStreamcreateFileStream(java.lang.String key, java.lang.String dataFile)Creates a new stream mount to the given data file.DXTickStreamcreateStream(java.lang.String key, StreamOptions options)Creates a new stream within the database.DXTickStreamcreateStream(java.lang.String key, java.lang.String name, java.lang.String description, int distributionFactor)Creates a new stream within the database.voiddelete()ClassSet<ClassDescriptor>describeQuery(java.lang.String qql, SelectionOptions options, Parameter... params)Returns schema for the given query.InstrumentMessageSourceexecuteQuery(deltix.util.parsers.Element qql, SelectionOptions options, TickStream[] streams, deltix.qsrv.hf.pub.InstrumentIdentity[] ids, long startTimestamp, long endTimestamp, Parameter... params)Execute Query and creates a message source for reading data from it, according to the specified options.InstrumentMessageSourceexecuteQuery(deltix.util.parsers.Element qql, SelectionOptions options, TickStream[] streams, deltix.qsrv.hf.pub.InstrumentIdentity[] ids, long time, Parameter... params)Execute Query and creates a message source for reading data from it, according to the specified options.InstrumentMessageSourceexecuteQuery(java.lang.String qql, Parameter... params)Execute Query and creates a message source for reading data from it, according to the specified options.InstrumentMessageSourceexecuteQuery(java.lang.String qql, SelectionOptions options, deltix.qsrv.hf.pub.InstrumentIdentity[] ids, Parameter... params)Execute Query and creates a message source for reading data from it, according to the specified options.InstrumentMessageSourceexecuteQuery(java.lang.String qql, SelectionOptions options, Parameter... params)Execute Query and creates a message source for reading data from it, according to the specified options.InstrumentMessageSourceexecuteQuery(java.lang.String qql, SelectionOptions options, TickStream[] streams, deltix.qsrv.hf.pub.InstrumentIdentity[] ids, long startTimestamp, long endTimestamp, Parameter... params)Execute Query and creates a message source for reading data from it, according to the specified options.InstrumentMessageSourceexecuteQuery(java.lang.String qql, SelectionOptions options, TickStream[] streams, deltix.qsrv.hf.pub.InstrumentIdentity[] ids, long time, Parameter... params)Execute Query and creates a message source for reading data from it, according to the specified options.voidformat()java.io.File[]getDbDirs()java.lang.StringgetId()MetaDatagetMetaData()Gets stream metadata contains all class descriptors.longgetMetaDataVersion()Gets current metadata version.longgetServerTime()Returns system time of the timebase server.longgetSizeOnDisk()Returns the approximate size of the database's footprint.DXTickStreamgetStream(java.lang.String key)Looks up an existing stream by key.TopicDBgetTopicDB()Topic API.booleanisOpen()booleanisReadOnly()booleanisTopicDBSupported()DXChannel[]listChannels()DXTickStream[]listStreams()Enumerates existing streams.voidopen(boolean readOnly)TickCursorselect(long time, SelectionOptions options, TickStream... streams)TickCursorselect(long time, SelectionOptions options, java.lang.String[] types, deltix.qsrv.hf.pub.InstrumentIdentity[] entities, TickStream... streams)Opens a cursor for reading data from multiple streams, according to the specified options.TickCursorselect(long time, SelectionOptions options, java.lang.String[] types, TickStream... streams)TickCursorselect(long time, SelectionOptions options, java.lang.String[] types, java.lang.CharSequence[] symbols, TickStream... streams)voidsetGrowthPolicy(deltix.util.lang.GrowthPolicy policy)Sets the file growth policyjava.lang.StringtoString()voidtrimToSize()Trims all data files to minimum size.protected java.lang.UnsupportedOperationExceptionUSX()voidwarmUp()Forces the building of all memory indexes.
-
-
-
Constructor Detail
-
DirectTickDBClient
public DirectTickDBClient(DXTickDB delegate)
-
-
Method Detail
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfacedeltix.util.lang.Disposable
-
open
public void open(boolean readOnly)
- Specified by:
openin interfacedeltix.util.io.AbstractDataStore
-
assertOpen
protected final void assertOpen()
-
assertWritable
protected final void assertWritable()
-
USX
protected final java.lang.UnsupportedOperationException USX()
-
isReadOnly
public boolean isReadOnly()
- Specified by:
isReadOnlyin interfacedeltix.util.io.AbstractDataStore
-
isOpen
public boolean isOpen()
- Specified by:
isOpenin interfacedeltix.util.io.AbstractDataStore
-
getId
public java.lang.String getId()
- Specified by:
getIdin interfacedeltix.util.io.AbstractDataStore
-
format
public void format()
- Specified by:
formatin interfacedeltix.util.io.AbstractDataStore
-
delete
public void delete()
- Specified by:
deletein interfacedeltix.util.io.AbstractDataStore
-
select
public TickCursor select(long time, SelectionOptions options, java.lang.String[] types, deltix.qsrv.hf.pub.InstrumentIdentity[] entities, TickStream... streams)
Description copied from interface:TickDBOpens a cursor for reading data from multiple streams, according to the specified options. The messages are returned from the cursor strictly ordered by time. Within the same exact time stamp, the order of messages is undefined and may vary from call to call, i.e. it is non-deterministic.
Note that the arguments of this method only determine the initial configuration of the cursor. The
TickCursorinterface provides methods for dynamically re-configuring the subscription, or jumping to a different timestamp.- Specified by:
selectin interfaceTickDB- Parameters:
time- The start timestamp.options- Selection options.types- Specified message types to be subscribed. If null, then all types will be subscribed.entities- Specified entities to be subscribed. If null, then all entities will be subscribed.streams- Streams from which data will be selected.- Returns:
- A cursor used to read messages.
-
select
public TickCursor select(long time, SelectionOptions options, java.lang.String[] types, java.lang.CharSequence[] symbols, TickStream... streams)
-
select
public TickCursor select(long time, SelectionOptions options, java.lang.String[] types, TickStream... streams)
-
select
public TickCursor select(long time, SelectionOptions options, TickStream... streams)
-
createCursor
public TickCursor createCursor(SelectionOptions options, TickStream... streams)
Description copied from interface:TickDBOpens an initially empty cursor for reading data from multiple streams, according to the specified options. The messages are returned from the cursor strictly ordered by time. Within the same exact time stamp, the order of messages is undefined and may vary from call to call, i.e. it is non-deterministic.
The cursor is returned initially empty and must be reset. The
TickCursorinterface provides methods for dynamically re-configuring the subscription, or jumping to a different timestamp.- Specified by:
createCursorin interfaceTickDB- Parameters:
options- Selection options.streams- Streams from which data will be selected.- Returns:
- A cursor used to read messages.
-
warmUp
public void warmUp()
Description copied from interface:DXTickDBForces the building of all memory indexes. This is useful in performance testing or on server startup.
-
trimToSize
public void trimToSize()
Description copied from interface:DXTickDBTrims all data files to minimum size.- Specified by:
trimToSizein interfaceDXTickDB
-
setGrowthPolicy
public void setGrowthPolicy(deltix.util.lang.GrowthPolicy policy)
Description copied from interface:DXTickDBSets the file growth policy- Specified by:
setGrowthPolicyin interfaceDXTickDB- Parameters:
policy- Growth Policy value
-
listStreams
public DXTickStream[] listStreams()
Description copied from interface:WritableTickDBEnumerates existing streams.- Specified by:
listStreamsin interfaceDXTickDB- Specified by:
listStreamsin interfaceTickDB- Specified by:
listStreamsin interfaceWritableTickDB- Returns:
- An array of existing stream objects.
-
getStream
public DXTickStream getStream(java.lang.String key)
Description copied from interface:WritableTickDBLooks up an existing stream by key.
-
listChannels
public DXChannel[] listChannels()
- Specified by:
listChannelsin interfaceDXTickDB
-
getSizeOnDisk
public long getSizeOnDisk()
Description copied from interface:DXTickDBReturns the approximate size of the database's footprint.- Specified by:
getSizeOnDiskin interfaceDXTickDB- Returns:
- Size in bytes.
-
getServerTime
public long getServerTime()
Description copied from interface:DXTickDBReturns system time of the timebase server.- Specified by:
getServerTimein interfaceDXTickDB
-
getMetaDataVersion
public long getMetaDataVersion()
Description copied from interface:DXTickDBGets current metadata version.- Specified by:
getMetaDataVersionin interfaceDXTickDB- Returns:
- current metadata version number.
-
getMetaData
public MetaData getMetaData()
Description copied from interface:DXTickDBGets stream metadata contains all class descriptors.- Specified by:
getMetaDatain interfaceDXTickDB- Returns:
- metadata object.
-
describeQuery
public ClassSet<ClassDescriptor> describeQuery(java.lang.String qql, SelectionOptions options, Parameter... params) throws deltix.util.parsers.CompilationException
Description copied from interface:DXTickDBReturns schema for the given query.- Specified by:
describeQueryin interfaceDXTickDB- Parameters:
qql- Query text.options- Selection options.params- Specified message types to be subscribed. If null, then all types will be subscribed.*- Returns:
- Schema contains classes definitions.
- Throws:
deltix.util.parsers.CompilationException- when query has errors
-
executeQuery
public InstrumentMessageSource executeQuery(deltix.util.parsers.Element qql, SelectionOptions options, TickStream[] streams, deltix.qsrv.hf.pub.InstrumentIdentity[] ids, long time, Parameter... params) throws deltix.util.parsers.CompilationException
Description copied from interface:DXTickDBExecute Query and creates a message source for reading data from it, according to the specified options. The messages are returned from the cursor strictly ordered by time. Within the same exact time stamp, the order of messages is undefined and may vary from call to call, i.e. it is non-deterministic.
select * from bars- Specified by:
executeQueryin interfaceDXTickDB- Parameters:
qql- Query text element.options- Selection options.streams- Streams from which data will be selected.ids- Specified entities to be subscribed. If null, then all entities will be subscribed.time- The start timestamp.params- The parameter values of the query.- Returns:
- An iterable message source to read messages.
- Throws:
deltix.util.parsers.CompilationException- when query has errors.
-
executeQuery
public InstrumentMessageSource executeQuery(deltix.util.parsers.Element qql, SelectionOptions options, TickStream[] streams, deltix.qsrv.hf.pub.InstrumentIdentity[] ids, long startTimestamp, long endTimestamp, Parameter... params) throws deltix.util.parsers.CompilationException
Description copied from interface:DXTickDBExecute Query and creates a message source for reading data from it, according to the specified options. The messages are returned from the cursor strictly ordered by time. Within the same exact time stamp, the order of messages is undefined and may vary from call to call, i.e. it is non-deterministic.
select * from bars- Specified by:
executeQueryin interfaceDXTickDB- Parameters:
qql- Query text element.options- Selection options.streams- Streams from which data will be selected.ids- Specified entities to be subscribed. If null, then all entities will be subscribed.startTimestamp- The start timestamp.endTimestamp- The end timestampparams- The parameter values of the query.- Returns:
- An iterable message source to read messages.
- Throws:
deltix.util.parsers.CompilationException- when query has errors.
-
executeQuery
public InstrumentMessageSource executeQuery(java.lang.String qql, SelectionOptions options, TickStream[] streams, deltix.qsrv.hf.pub.InstrumentIdentity[] ids, long time, Parameter... params) throws deltix.util.parsers.CompilationException
Description copied from interface:DXTickDBExecute Query and creates a message source for reading data from it, according to the specified options. The messages are returned from the cursor strictly ordered by time. Within the same exact time stamp, the order of messages is undefined and may vary from call to call, i.e. it is non-deterministic.
select * from bars- Specified by:
executeQueryin interfaceDXTickDB- Parameters:
qql- Query text.options- Selection options.streams- Streams from which data will be selected.ids- Specified entities to be subscribed. If null, then all entities will be subscribed.time- The start timestamp.params- The parameter values of the query.- Returns:
- An iterable message source to read messages.
- Throws:
deltix.util.parsers.CompilationException- when query has errors.
-
executeQuery
public InstrumentMessageSource executeQuery(java.lang.String qql, SelectionOptions options, TickStream[] streams, deltix.qsrv.hf.pub.InstrumentIdentity[] ids, long startTimestamp, long endTimestamp, Parameter... params) throws deltix.util.parsers.CompilationException
Description copied from interface:DXTickDBExecute Query and creates a message source for reading data from it, according to the specified options. The messages are returned from the cursor strictly ordered by time. Within the same exact time stamp, the order of messages is undefined and may vary from call to call, i.e. it is non-deterministic.
select * from bars- Specified by:
executeQueryin interfaceDXTickDB- Parameters:
qql- Query text.options- Selection options.streams- Streams from which data will be selected.ids- Specified entities to be subscribed. If null, then all entities will be subscribed.startTimestamp- The start timestamp.endTimestamp- The end timestampparams- The parameter values of the query.- Returns:
- An iterable message source to read messages.
- Throws:
deltix.util.parsers.CompilationException- when query has errors.
-
executeQuery
public InstrumentMessageSource executeQuery(java.lang.String qql, Parameter... params) throws deltix.util.parsers.CompilationException
Description copied from interface:DXTickDBExecute Query and creates a message source for reading data from it, according to the specified options. The messages are returned from the cursor strictly ordered by time. Within the same exact time stamp, the order of messages is undefined and may vary from call to call, i.e. it is non-deterministic.
select * from bars- Specified by:
executeQueryin interfaceDXTickDB- Parameters:
qql- Query text.params- The parameter values of the query.- Returns:
- An iterable message source to read messages.
- Throws:
deltix.util.parsers.CompilationException
-
executeQuery
public InstrumentMessageSource executeQuery(java.lang.String qql, SelectionOptions options, Parameter... params) throws deltix.util.parsers.CompilationException
Description copied from interface:DXTickDBExecute Query and creates a message source for reading data from it, according to the specified options. The messages are returned from the cursor strictly ordered by time. Within the same exact time stamp, the order of messages is undefined and may vary from call to call, i.e. it is non-deterministic.
select * from bars- Specified by:
executeQueryin interfaceDXTickDB- Parameters:
qql- Query text.options- Selection options.params- The parameter values of the query.- Returns:
- An iterable message source to read messages.
- Throws:
deltix.util.parsers.CompilationException- when query has errors
-
executeQuery
public InstrumentMessageSource executeQuery(java.lang.String qql, SelectionOptions options, deltix.qsrv.hf.pub.InstrumentIdentity[] ids, Parameter... params) throws deltix.util.parsers.CompilationException
Description copied from interface:DXTickDBExecute Query and creates a message source for reading data from it, according to the specified options. The messages are returned from the cursor strictly ordered by time. Within the same exact time stamp, the order of messages is undefined and may vary from call to call, i.e. it is non-deterministic.
select * from bars- Specified by:
executeQueryin interfaceDXTickDB- Parameters:
qql- Query text.options- Selection options.ids- Specified entities to be subscribed. If null, then all entities will be subscribed.params- The parameter values of the query.- Returns:
- An iterable message source to read messages.
- Throws:
deltix.util.parsers.CompilationException
-
createStream
public DXTickStream createStream(java.lang.String key, java.lang.String name, java.lang.String description, int distributionFactor)
Description copied from interface:DXTickDBCreates a new stream within the database. The newly created stream must be configured with the required metadata via calling eitherDXTickStream.setFixedType(deltix.qsrv.hf.pub.md.RecordClassDescriptor)orDXTickStream.setPolymorphic(deltix.qsrv.hf.pub.md.RecordClassDescriptor...).- Specified by:
createStreamin interfaceDXTickDB- Parameters:
key- A required key later used to identify the stream.name- An optional user-readable name.description- An optional multi-line description.distributionFactor- The number of files into which to distribute the data. Supply 0 to keep a separate file for each instrument.
-
createStream
public DXTickStream createStream(java.lang.String key, StreamOptions options)
Description copied from interface:DXTickDBCreates a new stream within the database.- Specified by:
createStreamin interfaceDXTickDB- Parameters:
key- A required key later used to identify the stream.options- Options for creating the stream.
-
createFileStream
public DXTickStream createFileStream(java.lang.String key, java.lang.String dataFile)
Description copied from interface:DXTickDBCreates a new stream mount to the given data file.- Specified by:
createFileStreamin interfaceDXTickDB- Parameters:
key- A required key later used to identify the stream.dataFile- Path to the data file (on server side).- Returns:
- A new instance of DXTickStream.
-
createAnonymousStream
@Deprecated public DXTickStream createAnonymousStream(StreamOptions options)
Deprecated.Description copied from interface:DXTickDBCreates a new anonymous stream.- Specified by:
createAnonymousStreamin interfaceDXTickDB- Parameters:
options- Options for creating the stream. The stream is automatically created with theStreamScope.RUNTIMEscope.
-
coolDown
public void coolDown()
Description copied from interface:DXTickDBRemoves all memory indexes. The indexes will be rebuilt on demand.
-
getTopicDB
public TopicDB getTopicDB()
Description copied from interface:DXTickDBTopic API. May be not be supported by some implementations. UseDXTickDB.isTopicDBSupported()to check this.- Specified by:
getTopicDBin interfaceDXTickDB
-
isTopicDBSupported
public boolean isTopicDBSupported()
- Specified by:
isTopicDBSupportedin interfaceDXTickDB- Returns:
- true if this DB instance supports topics. If this methods returns false then
DXTickDB.getTopicDB()is unavailable.
-
-