.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{
. if \nF \{
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{
. nr % 0
. nr F 2
. \}
. \}
.\}
.rr rF
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "CPAN::SQLite::Populate 3"
.TH CPAN::SQLite::Populate 3 "2019-01-29" "perl v5.16.3" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
CPAN::SQLite::Populate \- create and populate database tables
.SH "VERSION"
.IX Header "VERSION"
version 0.217
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This module is responsible for creating the tables
(if \f(CW\*(C`setup\*(C'\fR is passed as an option) and then for
inserting, updating, or deleting (as appropriate) the
relevant information from the indices of
\&\fICPAN::SQLite::Info\fR and the
state information from \fICPAN::SQLite::State\fR. It does
this through the \f(CW\*(C`insert\*(C'\fR, \f(CW\*(C`update\*(C'\fR, and \f(CW\*(C`delete\*(C'\fR
methods associated with each table.
.PP
Note that the tables are created with the \f(CW\*(C`setup\*(C'\fR argument
passed into the \f(CW\*(C`new\*(C'\fR method when creating the
\&\f(CW\*(C`CPAN::SQLite::Index\*(C'\fR object; existing tables will be
dropped.
.SH "TABLES"
.IX Header "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.
.SS "mods"
.IX Subsection "mods"
This table contains module information, and is created as
.PP
.Vb 5
\& 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)
.Ve
.IP "\(bu" 3
mod_id
.Sp
This is the primary (unique) key of the table.
.IP "\(bu" 3
dist_id
.Sp
This key corresponds to the id of the associated distribution
in the \f(CW\*(C`dists\*(C'\fR table.
.IP "\(bu" 3
mod_name
.Sp
This is the module's name.
.IP "\(bu" 3
mod_abs
.Sp
This is a description, if available, of the module.
.IP "\(bu" 3
mod_vers
.Sp
This value, if present, gives the version of the module.
.SS "dists"
.IX Subsection "dists"
This table contains distribution information, and is created as
.PP
.Vb 6
\& 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
.Ve
.IP "\(bu" 3
dist_id
.Sp
This is the primary (unique) key of the table.
.IP "\(bu" 3
auth_id
.Sp
This corresponds to the \s-1CPAN\s0 author id of the distribution
in the \f(CW\*(C`auths\*(C'\fR table.
.IP "\(bu" 3
dist_name
.Sp
This corresponds to the distribution name (eg, for
\&\fIMy\-Distname\-0.22.tar.gz\fR, \f(CW\*(C`dist_name\*(C'\fR will be \f(CW\*(C`My\-Distname\*(C'\fR).
.IP "\(bu" 3
dist_file
.Sp
This corresponds to the \s-1CPAN\s0 file name.
.IP "\(bu" 3
dist_vers
.Sp
This is the version of the \s-1CPAN\s0 file (eg, for
\&\fIMy\-Distname\-0.22.tar.gz\fR, \f(CW\*(C`dist_vers\*(C'\fR will be \f(CW0.22\fR).
.IP "\(bu" 3
dist_abs
.Sp
This is a description of the distribution. If not directly
supplied, the description for, eg, \f(CW\*(C`Foo::Bar\*(C'\fR, if present, will
be used for the \f(CW\*(C`Foo\-Bar\*(C'\fR distribution.
.SS "auths"
.IX Subsection "auths"
This table contains \s-1CPAN\s0 author information, and is created as
.PP
.Vb 4
\& auth_id INTEGER NOT NULL PRIMARY KEY
\& cpanid VARCHAR(20) NOT NULL
\& fullname VARCHAR(40) NOT NULL
\& email TEXT
.Ve
.IP "\(bu" 3
auth_id
.Sp
This is the primary (unique) key of the table.
.IP "\(bu" 3
cpanid
.Sp
This gives the \s-1CPAN\s0 author id.
.IP "\(bu" 3
fullname
.Sp
This is the full name of the author.
.IP "\(bu" 3
email
.Sp
This is the supplied email address of the author.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
CPAN::SQLite::Index