public function parse( QuoteInterface $quoting )
    {

        $outputSql = "";

        foreach( $this->relations as $relation ) {

            $columns = array();
            foreach( $relation->getPrimaryKeys() as $column ) {
                $columns[$column->get('name')] = $column->getType()->getTypeQuery();
            }

            // trigger sql
            if( $this->notificationSql( $quoting, $columns, $functionName, $triggerSql ) ) {
                $outputSql .= $triggerSql;
            }

            $relationName = $relation->get('name');
            $relationQuoted =  $quoting->quoteIdent( $relation->get('fullyQualifiedName') );

            // generate trigger for table
            $outputSql .= <<<SQL
CREATE TRIGGER "trg_notify_{$relationName}_insert" AFTER INSERT ON {$relationQuoted} FOR EACH ROW EXECUTE PROCEDURE "{$functionName}_insert"();
CREATE TRIGGER "trg_notify_{$relationName}_update" AFTER UPDATE ON {$relationQuoted} FOR EACH ROW EXECUTE PROCEDURE "{$functionName}_update"();
CREATE TRIGGER "trg_notify_{$relationName}_delete" AFTER DELETE ON {$relationQuoted} FOR EACH ROW EXECUTE PROCEDURE "{$functionName}_delete"();\n\n
SQL;

        }

        // execute triggers
        return $outputSql;

    }
public function parse( QuoteInterface $quoting )
    {

        $outputSql = "";

        foreach( $this->relations as $relation ) {

            $columns = array();
            foreach( $relation->getPrimaryKeys() as $column ) {
                $columns[$column->get('name')] = $column->getType()->getTypeQuery();
            }

            // trigger sql
            if( $this->notificationSql( $quoting, $columns, $functionName, $triggerSql ) ) {
                $outputSql .= $triggerSql;
            }

            $relationName = $relation->get('name');
            $relationQuoted =  $quoting->quoteIdent( $relation->get('fullyQualifiedName') );

            // generate trigger for table
            $outputSql .= <<<SQL
CREATE TRIGGER "trg_notify_{$relationName}_insert" AFTER INSERT ON {$relationQuoted} FOR EACH ROW EXECUTE PROCEDURE "{$functionName}_insert"();
CREATE TRIGGER "trg_notify_{$relationName}_update" AFTER UPDATE ON {$relationQuoted} FOR EACH ROW EXECUTE PROCEDURE "{$functionName}_update"();
CREATE TRIGGER "trg_notify_{$relationName}_delete" AFTER DELETE ON {$relationQuoted} FOR EACH ROW EXECUTE PROCEDURE "{$functionName}_delete"();\n\n
SQL;

        }

        // execute triggers
        return $outputSql;

    }
public function parse ( QuoteInterface $ quoting ) { $ outputSql = "" ; foreach ( $ this -> relations as $ relation ) { $ columns = array ( ) ; foreach ( $ relation -> getPrimaryKeys ( ) as $ column ) { $ columns [ $ column -> get ( 'name' ) ] = $ column -> getType ( ) -> getTypeQuery ( ) ; } // trigger sql if ( $ this -> notificationSql ( $ quoting , $ columns , $ functionName , $ triggerSql ) ) { $ outputSql .= $ triggerSql ; } $ relationName = $ relation -> get ( 'name' ) ; $ relationQuoted = $ quoting -> quoteIdent ( $ relation -> get ( 'fullyQualifiedName' ) ) ; // generate trigger for table $ outputSql .=  <<<SQL
CREATE TRIGGER "trg_notify_{$relationName}_insert" AFTER INSERT ON {$relationQuoted} FOR EACH ROW EXECUTE PROCEDURE "{$functionName}_insert"();
CREATE TRIGGER "trg_notify_{$relationName}_update" AFTER UPDATE ON {$relationQuoted} FOR EACH ROW EXECUTE PROCEDURE "{$functionName}_update"();
CREATE TRIGGER "trg_notify_{$relationName}_delete" AFTER DELETE ON {$relationQuoted} FOR EACH ROW EXECUTE PROCEDURE "{$functionName}_delete"();\n\n
SQL ; } // execute triggers return $ outputSql ; }
Generate and execute sql which will attach notification triggers to relations

@inheritDoc
Generate and execute sql which will attach notification triggers to relations