The password is passed to all MySQL commands using the MYSQL_PWD environment variables on systems running MySQL 4.1 and later, version 5.1 in older Webmin releases.
---- Changes since 1.450 ----
Use DBI for listing databases and tables, to reduce dependency on the un-reliable MYSQL_PWD environment variable.
+Fixed the input for setting the default value for fields.
[ [ 1, $text{'yes'} ], [ 0, $text{'no'} ] ]));
# Default value
-$defmode = $f->{'default'} eq 'NULL' ? 0 :
+$defmode = $f->{'default'} eq 'NULL' || !defined($f->{'default'}) ? 0 :
$f->{'default'} eq 'CURRENT_TIMESTAMP' ? 2 :
$f->{'default'} eq '' ? 3 : 1;
-@defs = ( [ 3, $in{'type'} ? $text{'field_defnone'}
- : $text{'field_defleave'} ],
- [ 0, 'NULL' ] );
+@defs = ( [ 0, 'NULL' ] );
+if ($in{'type'}) {
+ # Let MySQL decide
+ push(@defs, [ 3, $text{'field_defdef'} ]);
+ }
+elsif ($type eq 'char' || $type eq 'varchar') {
+ # Empty string
+ push(@defs, [ 3, $text{'field_defempty'} ]);
+ }
if ($type eq "timestamp") {
push(@defs, [ 2, $text{'field_current'} ]);
}
$r->{'key'} eq 'PRI' ? $text{'table_pri'} :
$r->{'key'} eq 'MUL' ? $text{'table_mul'} :
$text{'table_none'});
- push(@cols, &html_escape($r->{'default'}));
+ push(@cols, &html_escape(defined($r->{'default'}) ? $r->{'default'}
+ : 'NULL'));
push(@cols, &html_escape($r->{'extra'}));
print &ui_checked_columns_row(\@cols, \@tds, "d", $r->{'field'});
$i++;
field_default=Default value
field_current=Current time
field_defval=Value
+field_defdef=MySQL default
field_defnone=No default
+field_defempty=Empty string
field_defleave=Don't change
field_dmode0=None
field_dmode1=Null
# Returns a list of hashes detailing the structure of a table
sub table_structure
{
+#local $config{'nodbi'} = 1;
local $s = &execute_sql_safe($_[0], "desc "."estr($_[1]));
local (@rv, $r);
local (%tp, $i);
$default = "default CURRENT_TIMESTAMP";
}
elsif ($in{'default_def'} == 3) {
- $default = $in{'new'} ? "" : "default none";
+ $default = $in{'new'} ? "" : "default ''";
}
else {
$default = "default '$in{'default'}'";