.\" 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 3pm" .TH CPAN::SQLite::Populate 3pm "2014-08-04" "perl v5.18.2" "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 "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 7 \& 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 .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. .IP "\(bu" 3 dslip .Sp This is a 5 character string expressing the dslip (development, support, language, interface, public license) information. .IP "\(bu" 3 chapterid .Sp This number corresponds to the chapter id of the module, if present. .SS "dists" .IX Subsection "dists" This table contains distribution information, and is created as .PP .Vb 7 \& 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) .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 distribtion. 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. .IP "\(bu" 3 dist_dslip .Sp 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 \&\f(CW\*(C`::\*(C'\fR by \f(CW\*(C`\-\*(C'\fR. .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. .SS "chaps" .IX Subsection "chaps" This table contains chapter information associated with distributions. \s-1PAUSE\s0 allows one, when registering modules, to associate a chapter id with each module (see the \f(CW\*(C`mods\*(C'\fR table). This information is used here to associate chapters (and subchapters) with distributions in the following manner. Suppose a distribution \f(CW\*(C`Quantum\-Theory\*(C'\fR contains a module \&\f(CW\*(C`Beta::Decay\*(C'\fR with chapter id \f(CW55\fR, and another module \f(CW\*(C`Laser\*(C'\fR with chapter id \f(CW87\fR. The \&\f(CW\*(C`Quantum\-Theory\*(C'\fR distribution will then have two entries in this table \- \f(CW\*(C`chapterid\*(C'\fR of \fI55\fR and \&\f(CW\*(C`subchapter\*(C'\fR of \fIBeta\fR, and \f(CW\*(C`chapterid\*(C'\fR of \fI87\fR and \&\f(CW\*(C`subchapter\*(C'\fR of \fILaser\fR. .PP The table is created as follows. .PP .Vb 4 \& chap_id INTEGER NOT NULL PRIMARY KEY \& chapterid INTEGER \& dist_id INTEGER NOT NULL \& subchapter TEXT .Ve .IP "\(bu" 3 chap_id .Sp This is the primary (unique) key of the table. .IP "\(bu" 3 chapterid .Sp This number corresponds to the chapter id. .IP "\(bu" 3 dist_id .Sp This is the id corresponding to the distribution in the \&\f(CW\*(C`dists\*(C'\fR table. .IP "\(bu" 3 subchapter .Sp This is the subchapter. .SH "SEE ALSO" .IX Header "SEE ALSO" CPAN::SQLite::Index