version 1.7, 2002/08/21 21:29:51
|
version 1.8, 2003/03/10 21:22:36
|
Line 427 sub get_debug {
|
Line 427 sub get_debug {
|
|
|
=pod |
=pod |
|
|
=item &update_table_info($table_id) |
=item &update_table_info() |
|
|
Inputs: table id |
Inputs: table id |
|
|
Line 507 sub update_table_info {
|
Line 507 sub update_table_info {
|
|
|
=pod |
=pod |
|
|
=item &create_table |
=item &create_table() |
|
|
Inputs: |
Inputs: |
table description |
table description |
Line 516 Input formats:
|
Line 516 Input formats:
|
|
|
table description = { |
table description = { |
permanent => 'yes' or 'no', |
permanent => 'yes' or 'no', |
columns => { |
columns => [ |
colA => { |
{ name => 'colA', |
type => mysql type, |
type => mysql type, |
restrictions => 'NOT NULL' or empty, |
restrictions => 'NOT NULL' or empty, |
primary_key => 'yes' or empty, |
primary_key => 'yes' or empty, |
auto_inc => 'yes' or empty, |
auto_inc => 'yes' or empty, |
} |
}, |
colB => { .. } |
{ name => 'colB', |
colZ => { .. } |
... |
}, |
}, |
column_order => [ colA, colB, ..., colZ], |
{ name => 'colC', |
|
... |
|
}, |
|
], |
} |
} |
|
|
Returns: |
Returns: |
Line 546 sub create_table {
|
Line 549 sub create_table {
|
my $table_id = &get_new_table_id(); |
my $table_id = &get_new_table_id(); |
my $tablename = &translate_id($table_id); |
my $tablename = &translate_id($table_id); |
my $request = "CREATE TABLE IF NOT EXISTS ".$tablename." "; |
my $request = "CREATE TABLE IF NOT EXISTS ".$tablename." "; |
foreach my $column (@{$table_des->{'column_order'}}) { |
foreach my $coldata (@{$table_des->{'columns'}}) { |
|
my $column = $coldata->{'name'}; |
|
next if (! defined($column)); |
$col_des = ''; |
$col_des = ''; |
my $coldata = $table_des->{'columns'}->{$column}; |
|
if (lc($coldata->{'type'}) =~ /(enum|set)/) { # 'enum' or 'set' |
if (lc($coldata->{'type'}) =~ /(enum|set)/) { # 'enum' or 'set' |
$col_des.=$column." ".$coldata->{'type'}."('". |
$col_des.=$column." ".$coldata->{'type'}."('". |
join("', '",@{$coldata->{'values'}})."')"; |
join("', '",@{$coldata->{'values'}})."')"; |
Line 603 sub create_table {
|
Line 607 sub create_table {
|
|
|
=pod |
=pod |
|
|
=item &get_new_table_id |
=item &get_new_table_id() |
|
|
Used internally to prevent table name collisions. |
Used internally to prevent table name collisions. |
|
|
Line 625 sub get_new_table_id {
|
Line 629 sub get_new_table_id {
|
|
|
=pod |
=pod |
|
|
=item &get_rows |
=item &get_rows() |
|
|
Inputs: $table_id,$condition |
Inputs: $table_id,$condition |
|
|
Line 666 sub get_rows {
|
Line 670 sub get_rows {
|
|
|
=pod |
=pod |
|
|
=item &store_row |
=item &store_row() |
|
|
Inputs: table id, row data |
Inputs: table id, row data |
|
|
Line 725 sub store_row {
|
Line 729 sub store_row {
|
|
|
=pod |
=pod |
|
|
=item tables_in_db |
=item &tables_in_db() |
|
|
Returns a list containing the names of all the tables in the database. |
Returns a list containing the names of all the tables in the database. |
Returns undef on error. |
Returns undef on error. |
Line 755 sub tables_in_db {
|
Line 759 sub tables_in_db {
|
|
|
=pod |
=pod |
|
|
=item &translate_id |
=item &translate_id() |
|
|
Used internally to translate a numeric table id into a MySQL table name. |
Used internally to translate a numeric table id into a MySQL table name. |
If the input $id contains non-numeric characters it is assumed to have |
If the input $id contains non-numeric characters it is assumed to have |
Line 778 sub translate_id {
|
Line 782 sub translate_id {
|
|
|
=pod |
=pod |
|
|
=item &check_table($id) |
=item &check_table() |
|
|
|
Input: table id |
|
|
Checks to see if the requested table exists. Returns 0 (no), 1 (yes), or |
Checks to see if the requested table exists. Returns 0 (no), 1 (yes), or |
undef (error). |
undef (error). |
Line 809 sub check_table {
|
Line 815 sub check_table {
|
|
|
=pod |
=pod |
|
|
=item &remove_from_table($table_id,$column,$value) |
=item &remove_from_table() |
|
|
|
Input: $table_id, $column, $value |
|
|
|
Returns: the number of rows deleted. undef on error. |
|
|
Executes a "delete from $tableid where $column like binary '$value'". |
Executes a "delete from $tableid where $column like binary '$value'". |
|
|