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;

    }