Commit d4e7d91f authored by unknown's avatar unknown
Browse files

Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-4.1

into mysql.com:/M41/mysql-4.1

parents 335f4fd8 fe7264ab
Loading
Loading
Loading
Loading
+14 −14
Original line number Diff line number Diff line
@@ -14,19 +14,17 @@ $pkginfo = "pkginfo";
($gid ,$pkg ,$uid ,$userInfo ,$email ,$quota ,$group ,$passwd
,$category ,$userHome ,$vendor ,$loginShell ,$pstamp ,$basedir)=();

$fullname = shift @ARGV;
$fullname or die "No package name was specified";
-d $fullname or die "That directory is not present!";
$tarball= $fullname= shift @ARGV;
$fullname=~ s/.*(mysql.*)\.tar\.gz/$1/;
$workdir= $$; 
chomp ($parent_workdir= `pwd`);

$fullname =~ s,/+$,,;             # Remove ending slash if any
$hostname= ($fullname=~ m/^.+-64bit$/) ? $hostname . "-64bit" : $hostname;
$pkgdir= "$ENV{'HOME'}/$hostname";

$pkgdir= `cd ../$hostname; pwd`;
$pwd = `pwd`;
if ($pwd =~ '\/usr\/local') {
        $pwd = $`;
}
die  "Wrong location, please cd to <PKGBASE>/usr/local/ and run again.\n"
    	if ($pwd eq "");
mkdir $workdir or die "Can't make workdir: $!\n";
chdir $workdir or die "Can't change to workdir: $!\n";
system ("tar xzvf $tarball") == 0 or die "Can't untar: $!\n";

system  ("$find . -print | $pkgproto > $temp");
open (PREPROTO,"<$temp") or die "Unable to read prototype information ($!)\n";
@@ -57,8 +55,9 @@ unlink $temp or warn "Unable to remove tempfile ($!)\n";
# Now we can start building the package
#
# First get some info
$fullname =~ s,/+$,,;             # Remove ending slash if any

$fullname =~ /^((mysql)-.+)-([\d\.]+)-.+$/
$fullname =~ /^((mysql)-\w+-?\w+?)-([\d\.]+\w?)-.+$/
  or die "This name is not what I expected - \"$fullname\"";

$default{"name"}= $2;
@@ -137,10 +136,11 @@ system ("gzip /tmp/$packagename");
# Clean-up the spool area
system ("(cd /var/spool/pkg; rm -rf $pkg)");
# Clean-up the ~/packaging/ area
system ("(rm -rf mysql*)");
unlink $pkginfo;
unlink $prototype;
system ("mv /tmp/${packagename}.gz $pkgdir");
chdir $parent_workdir or die "Can't change to parent workdir '$parent_workdir': $!\n";
system ("rm -rf $workdir") == 0 or die "Can't remove the working dir: $!\n";
system ("mv /tmp/${packagename}.gz $pkgdir") == 0 or die "Can't move the finished package out of /tmp: $!\n";
print "Done. (~/$hostname/$packagename.gz)\n";
# The subroutines
sub chkvar {
+20 −0
Original line number Diff line number Diff line
@@ -683,6 +683,26 @@ id select_type table type possible_keys key key_len ref rows Extra
1	SIMPLE	t3	ALL	NULL	NULL	NULL	NULL	2	
drop table t1, t2, t3;
create table t1 (
a int(11),
b char(10),
key (a)
);
insert into t1 (a) values (1),(2),(3),(4);
create table t2 (a int);
select * from t1 left join t2 on t1.a=t2.a where not (t2.a <=> t1.a);
a	b	a
1	NULL	NULL
2	NULL	NULL
3	NULL	NULL
4	NULL	NULL
select * from t1 left join t2 on t1.a=t2.a having not (t2.a <=> t1.a);
a	b	a
1	NULL	NULL
2	NULL	NULL
3	NULL	NULL
4	NULL	NULL
drop table t1,t2;
create table t1 (
match_id tinyint(3) unsigned not null auto_increment,
home tinyint(3) unsigned default '0',
unique key match_id (match_id),
+13 −0
Original line number Diff line number Diff line
@@ -457,6 +457,19 @@ explain select * from t1 left join t2 on b1 = a1 left join t3 on c1 = a1 an

drop table t1, t2, t3;

# Test for BUG#8711 '<=>' was considered to be a NULL-rejecting predicate.
create table t1 (
  a int(11),
  b char(10),
  key (a)
);
insert into t1 (a) values (1),(2),(3),(4);
create table t2 (a int);

select * from t1 left join t2 on t1.a=t2.a where not (t2.a <=> t1.a);
select * from t1 left join t2 on t1.a=t2.a having not (t2.a <=> t1.a);
drop table t1,t2;

# Test for BUG#5088

create table t1 (
+1 −0
Original line number Diff line number Diff line
@@ -284,6 +284,7 @@ class Item_func_equal :public Item_bool_rowready_func2
  Item_func_equal(Item *a,Item *b) :Item_bool_rowready_func2(a,b) {};
  longlong val_int();
  void fix_length_and_dec();
  table_map not_null_tables() const { return 0; }
  enum Functype functype() const { return EQUAL_FUNC; }
  enum Functype rev_functype() const { return EQUAL_FUNC; }
  cond_result eq_cmp_result() const { return COND_TRUE; }