Man pages sections > man3 > CPAN::SQLite::Populate

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

CPAN::SQLite::Populate(3pm) User Contributed Perl Documentation CPAN::SQLite::Populate(3pm)

NAME

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

VERSION

version 0.211

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 adjustments 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-Distname").
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 distribution. 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 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
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
2017-08-15 perl v5.26.0