org.apache.ignite.spi.systemview

## Class SystemViewLocal<R>

- java.lang.Object
- - org.apache.ignite.internal.processors.query.h2.sys.view.SqlAbstractSystemView
  - - org.apache.ignite.internal.processors.query.h2.sys.view.SqlAbstractLocalSystemView
    - - org.apache.ignite.spi.systemview.SystemViewLocal<R>

- All Implemented Interfaces:
    org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemView
  Direct Known Subclasses:
    FiltrableSystemViewLocal

      public class SystemViewLocal<R>
      extends org.apache.ignite.internal.processors.query.h2.sys.view.SqlAbstractLocalSystemView

  SQL system view to export `SystemView` data.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected SystemView<R>` | `sysView` System view for export.

    - ### Fields inherited from class org.apache.ignite.internal.processors.query.h2.sys.view.SqlAbstractSystemView

      `cols, ctx, DEFAULT_ROW_COUNT_APPROXIMATION, desc, indexes, log, tblName`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `SystemViewLocal(org.apache.ignite.internal.GridKernalContext ctx, SystemView<R> sysView)`
    `protected` | `SystemViewLocal(org.apache.ignite.internal.GridKernalContext ctx, SystemView<R> sysView, String[] indexes)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `canGetRowCount()` Check if the row count can be retrieved quickly.
    `long` | `getRowCount()` Gets row count for this view (or approximated row count, if real value can't be calculated quickly).
    `long` | `getRowCountApproximation()` Gets approximated row count (required to build execution plan).
    `Iterator<org.h2.result.Row>` | `getRows(org.h2.engine.Session ses, org.h2.result.SearchRow first, org.h2.result.SearchRow last)` Gets view content.
    `protected static String` | `sqlName(String name)` Build SQL-like name from Java code style name.
    `protected Iterator<R>` | `viewIterator(org.h2.result.SearchRow first, org.h2.result.SearchRow last)` System view iterator.

    - ### Methods inherited from class org.apache.ignite.internal.processors.query.h2.sys.view.SqlAbstractLocalSystemView

      `conditionForColumn, createRow, getColumnIndex, isDistributed, nodeFilter, toStringSafe, uuidFromValue, valueTimestampFromMillis`

    - ### Methods inherited from class org.apache.ignite.internal.processors.query.h2.sys.view.SqlAbstractSystemView

      `getColumns, getCreateSQL, getDescription, getIndexes, getTableName, newColumn, newColumn`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### sysView

          protected final SystemView<R> sysView

      System view for export.

  - ### Constructor Detail

    - #### SystemViewLocal

          protected SystemViewLocal(org.apache.ignite.internal.GridKernalContext ctx,
                                    SystemView<R> sysView,
                                    String[] indexes)

      Parameters:
        `ctx` - Kernal context.
        `sysView` - View to export.
        `indexes` - Indexed fields.

    - #### SystemViewLocal

          public SystemViewLocal(org.apache.ignite.internal.GridKernalContext ctx,
                                 SystemView<R> sysView)

      Parameters:
        `ctx` - Kernal context.
        `sysView` - View to export.

  - ### Method Detail

    - #### viewIterator

          protected Iterator<R> viewIterator(org.h2.result.SearchRow first,
                                             org.h2.result.SearchRow last)

      System view iterator.

    - #### getRows

          public Iterator<org.h2.result.Row> getRows(org.h2.engine.Session ses,
                                                     org.h2.result.SearchRow first,
                                                     org.h2.result.SearchRow last)

      Gets view content.
      Parameters:
        `ses` - Session.
        `first` - First.
        `last` - Last.

    - #### getRowCount

          public long getRowCount()

      Gets row count for this view (or approximated row count, if real value can't be calculated quickly).
      Specified by:
        `getRowCount` in interface `org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemView`
      Overrides:
        `getRowCount` in class `org.apache.ignite.internal.processors.query.h2.sys.view.SqlAbstractSystemView`

    - #### getRowCountApproximation

          public long getRowCountApproximation()

      Gets approximated row count (required to build execution plan).
      Specified by:
        `getRowCountApproximation` in interface `org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemView`
      Overrides:
        `getRowCountApproximation` in class `org.apache.ignite.internal.processors.query.h2.sys.view.SqlAbstractSystemView`

    - #### canGetRowCount

          public boolean canGetRowCount()

      Check if the row count can be retrieved quickly.
      Specified by:
        `canGetRowCount` in interface `org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemView`
      Overrides:
        `canGetRowCount` in class `org.apache.ignite.internal.processors.query.h2.sys.view.SqlAbstractSystemView`
      Returns:
        true if it can

    - #### sqlName

          protected static String sqlName(String name)

      Build SQL-like name from Java code style name. Some examples: cacheName -> CACHE_NAME. affinitiKeyName -> AFFINITY_KEY_NAME.
      Parameters:
        `name` - Name to convert.
      Returns:
        SQL compatible name.

2020 Copyright © Apache Software Foundation
| Follow @ApacheIgnite
Ignite Database and Caching Platform | : ver. 2.9.0
Release Date | : October 15 2020