Man Pages

CPAN::SQLite::Populate(3) - phpMan CPAN::SQLite::Populate(3) - phpMan

Command: man perldoc info search(apropos)  


CPAN::SQLite::PopulateUser Contributed Perl DocumentaCPAN::SQLite::Populate(3)



NAME
       CPAN::SQLite::Populate - create and populate database tables

DESCRIPTION
       This module is responsible for creating the tables (if "setup" is passed as an option) and then for inserting,
       updating, or deleting (as appropriate) the relevant information from the indices of CPAN::SQLite::Info and the
       state information from CPAN::SQLite::State. It does this through the "insert", "update", and "delete" methods
       associated with each table.

       Note that the tables are created with the "setup" argument passed into the "new" method when creating the
       "CPAN::SQLite::Index" object; existing tables will be dropped.

TABLES
       The tables used are described below - the data types correspond to mysql tables, with the corresponding adjust-
       ments made if the SQLite database is used.

       mods

       This table contains module information, and is created as

         mod_id INTEGER NOT NULL PRIMARY KEY
         mod_name VARCHAR(100) NOT NULL
         dist_id INTEGER NOT NULL
         mod_abs TEXT
         mod_vers VARCHAR(10)
         dslip VARCHAR(5)
         chapterid INTEGER

       * mod_id
          This is the primary (unique) key of the table.

       * dist_id
          This key corresponds to the id of the associated distribution in the "dists" table.

       * mod_name
          This is the module's name.

       * mod_abs
          This is a description, if available, of the module.

       * mod_vers
          This value, if present, gives the version of the module.

       * dslip
          This is a 5 character string expressing the dslip (development, support, language, interface, public
          license) information.

       * chapterid
          This number corresponds to the chapter id of the module, if present.

       dists

       This table contains distribution information, and is created as

         dist_id INTEGER NOT NULL PRIMARY KEY
         dist_name VARCHAR(90) NOT NULL
         auth_id INTEGER NOT NULL
         dist_file VARCHAR(110) NOT NULL
         dist_vers VARCHAR(20)
         dist_abs TEXT
         dist_dslip VARCHAR(5)

       * dist_id
          This is the primary (unique) key of the table.

       * auth_id
          This corresponds to the CPAN author id of the distribution in the "auths" table.

       * dist_name
          This corresponds to the distribution name (eg, for My-Distname-0.22.tar.gz, "dist_name" will be "My-Dist-
          name").

       * dist_file
          This corresponds to the CPAN file name.

       * dist_vers
          This is the version of the CPAN file (eg, for My-Distname-0.22.tar.gz, "dist_vers" will be 0.22).

       * dist_abs
          This is a description of the distribtion. If not directly supplied, the description for, eg, "Foo::Bar", if
          present, will be used for the "Foo-Bar" distribution.

       * dist_dslip
          This is a 5 character string expressing the dslip (development, support, language, interface, public
          license) information. Normally this comes from the module name; this value for the distribution name comes
          in simple cases where the module name matches the distribution name by a substitution of "::" by "-".

       auths

       This table contains CPAN author information, and is created as

         auth_id INTEGER NOT NULL PRIMARY KEY
         cpanid VARCHAR(20) NOT NULL
         fullname VARCHAR(40) NOT NULL
         email TEXT

       * auth_id
          This is the primary (unique) key of the table.

       * cpanid
          This gives the CPAN author id.

       * fullname
          This is the full name of the author.

       * email
          This is the supplied email address of the author.

       chaps

       This table contains chapter information associated with distributions. PAUSE allows one, when registering mod-
       ules, to associate a chapter id with each module (see the "mods" table). This information is used here to asso-
       ciate chapters (and subchapters) with distributions in the following manner.  Suppose a distribution "Quan-
       tum-Theory" contains a module "Beta::Decay" with chapter id 55, and another module "Laser" with chapter id 87.
       The "Quantum-Theory" distribution will then have two entries in this table - "chapterid" of 55 and "subchapter"
       of Beta, and "chapterid" of 87 and "subchapter" of Laser.

       The table is created as follows.

         chap_id INTEGER NOT NULL PRIMARY KEY
         chapterid INTEGER
         dist_id INTEGER NOT NULL
         subchapter TEXT

       * chap_id
          This is the primary (unique) key of the table.

       * chapterid
          This number corresponds to the chapter id.

       * dist_id
          This is the id corresponding to the distribution in the "dists" table.

       * subchapter
          This is the subchapter.

SEE ALSO
       CPAN::SQLite::Index



perl v5.8.8                       2008-06-05         CPAN::SQLite::Populate(3)