Class FullTextLucene.FullTextTrigger

  • All Implemented Interfaces:
    Trigger
    Enclosing class:
    FullTextLucene

    public static final class FullTextLucene.FullTextTrigger
    extends java.lang.Object
    implements Trigger
    Trigger updates the index when a inserting, updating, or deleting a row.
    • Constructor Summary

      Constructors 
      Constructor Description
      FullTextTrigger()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      INTERNAL
      (package private) void commitIndex()
      Commit all changes to the Lucene index.
      private void delete​(java.lang.Object[] row, boolean commitIndex)
      Delete a row from the index.
      void fire​(java.sql.Connection conn, java.lang.Object[] oldRow, java.lang.Object[] newRow)
      INTERNAL
      private java.lang.String getQuery​(java.lang.Object[] row)  
      void init​(java.sql.Connection conn, java.lang.String schemaName, java.lang.String triggerName, java.lang.String tableName, boolean before, int type)
      INTERNAL
      (package private) void insert​(java.lang.Object[] row, boolean commitIndex)
      Add a row to the index.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • schema

        private java.lang.String schema
      • table

        private java.lang.String table
      • keys

        private int[] keys
      • indexColumns

        private int[] indexColumns
      • columns

        private java.lang.String[] columns
      • columnTypes

        private int[] columnTypes
      • indexPath

        private java.lang.String indexPath
      • DOC_ID_FIELD_TYPE

        private final org.apache.lucene.document.FieldType DOC_ID_FIELD_TYPE
    • Constructor Detail

      • FullTextTrigger

        public FullTextTrigger()
    • Method Detail

      • init

        public void init​(java.sql.Connection conn,
                         java.lang.String schemaName,
                         java.lang.String triggerName,
                         java.lang.String tableName,
                         boolean before,
                         int type)
                  throws java.sql.SQLException
        INTERNAL
        Specified by:
        init in interface Trigger
        Parameters:
        conn - a connection to the database (a system connection)
        schemaName - the name of the schema
        triggerName - the name of the trigger used in the CREATE TRIGGER statement
        tableName - the name of the table
        before - whether the fire method is called before or after the operation is performed
        type - the operation type: INSERT, UPDATE, DELETE, SELECT, or a combination (this parameter is a bit field)
        Throws:
        java.sql.SQLException - on SQL exception
        See Also:
        Trigger.init(Connection, String, String, String, boolean, int)
      • fire

        public void fire​(java.sql.Connection conn,
                         java.lang.Object[] oldRow,
                         java.lang.Object[] newRow)
                  throws java.sql.SQLException
        INTERNAL
        Specified by:
        fire in interface Trigger
        Parameters:
        conn - a connection to the database
        oldRow - the old row, or null if no old row is available (for INSERT)
        newRow - the new row, or null if no new row is available (for DELETE)
        Throws:
        java.sql.SQLException - if the operation must be undone
        See Also:
        Trigger.fire(Connection, Object[], Object[])
      • close

        public void close()
                   throws java.sql.SQLException
        INTERNAL
        Specified by:
        close in interface Trigger
        Throws:
        java.sql.SQLException - on SQL exception
      • commitIndex

        void commitIndex()
                  throws java.sql.SQLException
        Commit all changes to the Lucene index.
        Throws:
        java.sql.SQLException - on failure
      • insert

        void insert​(java.lang.Object[] row,
                    boolean commitIndex)
             throws java.sql.SQLException
        Add a row to the index.
        Parameters:
        row - the row
        commitIndex - whether to commit the changes to the Lucene index
        Throws:
        java.sql.SQLException - on failure
      • delete

        private void delete​(java.lang.Object[] row,
                            boolean commitIndex)
                     throws java.sql.SQLException
        Delete a row from the index.
        Parameters:
        row - the row
        commitIndex - whether to commit the changes to the Lucene index
        Throws:
        java.sql.SQLException - on failure
      • getQuery

        private java.lang.String getQuery​(java.lang.Object[] row)
                                   throws java.sql.SQLException
        Throws:
        java.sql.SQLException