| CPAN-SQLite documentation | view source | Contained in the CPAN-SQLite distribution. |
CPAN::SQLite::Populate - create and populate database tables
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.
The tables used are described below - the data types correspond to mysql tables, with the corresponding adjustments made if the SQLite database is used.
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
This is the primary (unique) key of the table.
This key corresponds to the id of the associated distribution
in the dists table.
This is the module's name.
This is a description, if available, of the module.
This value, if present, gives the version of the module.
This is a 5 character string expressing the dslip (development, support, language, interface, public license) information.
This number corresponds to the chapter id of the module, if present.
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)
This is the primary (unique) key of the table.
This corresponds to the CPAN author id of the distribution
in the auths table.
This corresponds to the distribution name (eg, for
My-Distname-0.22.tar.gz, dist_name will be My-Distname).
This corresponds to the CPAN file name.
This is the version of the CPAN file (eg, for
My-Distname-0.22.tar.gz, dist_vers will be 0.22).
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.
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 -.
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
This is the primary (unique) key of the table.
This gives the CPAN author id.
This is the full name of the author.
This is the supplied email address of the author.
This table contains chapter information associated with
distributions. PAUSE allows one, when registering modules,
to associate a chapter id with each module (see the mods
table). This information is used here to associate chapters
(and subchapters) with distributions in the following manner.
Suppose a distribution Quantum-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
This is the primary (unique) key of the table.
This number corresponds to the chapter id.
This is the id corresponding to the distribution in the
dists table.
This is the subchapter.
| CPAN-SQLite documentation | view source | Contained in the CPAN-SQLite distribution. |