In this section, we will build an extension from scratch, so that you will better understand how they are made up. The idea is to let you know how to convert even your own SQL scripts into an extension, with all the advantages that an extension can provide in terms of manageability.
Defining an example extension
In order to demonstrate how to build your own extension, we are going to create a simple extension that applies to the forum database, providing some more features. In particular, we are going to define an extension named tagext that will provide a utility function that, given a particular tag within the tag table, will return the full path to that tag with all ancestors. For example, the tag Linux is a child of the tag Operating Systems and therefore the path to the tag Linux is Operating System > Linux.
In particular, we want our extension to provide us with a function named tag_path that, given a tag, provides the tag path as in the following...