Changeset: 73cf21f5ed3d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=73cf21f5ed3d
Modified Files:
Branch: default
Log Message:
Merged from Dec2011
diffs (177 lines):
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -3479,6 +3479,7 @@ str CMDbatpartition(Client cntxt, MalBlk
str CMDbatpartition2(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
str CMDbatsingleton(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
str CMDbatunpack(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str CMDbbp(int *NS, int *HT, int *TT, int *CNT, int *REFCNT, int *LREFCNT, int
*LOCATION, int *HEAT, int *DIRTY, int *STATUS, int *KIND);
str CMDbbpCount(int *ret);
str CMDbbpDirty(int *ret);
str CMDbbpDiskReads(lng *ret);
diff --git a/clients/mapiclient/Tests/mclient--help.stable.err.Windows
b/clients/mapiclient/Tests/mclient--help.stable.err.Windows
--- a/clients/mapiclient/Tests/mclient--help.stable.err.Windows
+++ b/clients/mapiclient/Tests/mclient--help.stable.err.Windows
@@ -21,7 +21,7 @@ Options are:
-E charset | --encoding=charset specify encoding (character set) of the
terminal
-f kind | --format=kind specify output format {csv,tab,raw,sql,xml}
-H | --history load/save cmdline history (default off)
- -i | --interactive[=tm] read stdin after command line args, use time
formatting {ms,s,m}
+ -i | --interactive[=tm] interpret \ commands on stdin, use time
formatting {ms,s,m}
-l language | --language=lang {sql,mal}
-L logfile | --log=logfile save client/server interaction
-s stmt | --statement=stmt run single statement
@@ -35,6 +35,7 @@ SQL specific opions
-w nr | --width=nr for pagination
-D | --dump create an SQL dump
-N | --inserts use INSERT INTO statements when dumping
+The file argument can be - for stdin
# 18:57:57 >
# 18:57:57 > Done.
diff --git a/clients/perl/MonetDB-CLI-MapiPP/MonetDB/CLI/MapiPP.pm
b/clients/perl/MonetDB-CLI-MapiPP/MonetDB/CLI/MapiPP.pm
--- a/clients/perl/MonetDB-CLI-MapiPP/MonetDB/CLI/MapiPP.pm
+++ b/clients/perl/MonetDB-CLI-MapiPP/MonetDB/CLI/MapiPP.pm
@@ -86,11 +86,11 @@ sub query
my $tpe = $h->getReply();
if ($tpe > 0) {
- # "regular" resultset
+ # "regular" resultset, or just "tuple"
$self->{querytype} = 1;
- $self->{id} = $h->{id};
- $self->{affrows} = $h->{count};
- $self->{colcnt} = $h->{nrcols};
+ $self->{id} = $h->{id} || -1;
+ $self->{affrows} = $h->{count} if $h->{count};
+ $self->{colcnt} = $h->{nrcols} if $h->{nrcols};
my $hdr;
foreach $hdr (@{$h->{hdrs}}) {
@@ -105,6 +105,21 @@ sub query
}
# TODO: table_name
}
+ # we must pre-fetch if this is not an SQL result-set
+ if (!$h->{count}) {
+ do {
+ my @cols = split(/,\t */, $h->{row});
+ my $i = -1;
+ while (++$i < @cols) {
+ $cols[$i] =~ s/^\[ //;
+ $cols[$i] =~ s/[ \t]+\]$//;
+ $cols[$i] = MonetDB::CLI::MapiPP->unquote($cols[$i]);
+ }
+ push(@{$self->{rows}}, [@cols]);
+ } while (($tpe = $h->getReply()) > 0);
+ $self->{affrows} = @{$self->{rows}};
+ undef $self->{id};
+ }
} elsif ($tpe == -1) {
# error
die $h->{errstr};
@@ -125,7 +140,7 @@ sub id
{
my ($self) = @_;
- return $self->{id};
+ return $self->{id} || -1;
}
sub rows_affected
@@ -166,21 +181,24 @@ sub length
sub fetch
{
my ($self) = @_;
-
+
return if ++$self->{i} >= $self->{affrows};
- my @cols = split(/,\t */, $self->{h}->{row});
- my $i = -1;
- while (++$i < @cols) {
- $cols[$i] =~ s/^\[ //;
- $cols[$i] =~ s/[ \t]+\]$//;
- $cols[$i] = MonetDB::CLI::MapiPP->unquote($cols[$i]);
+ if ($self->{id}) {
+ my @cols = split(/,\t */, $self->{h}->{row});
+ my $i = -1;
+ while (++$i < @cols) {
+ $cols[$i] =~ s/^\[ //;
+ $cols[$i] =~ s/[ \t]+\]$//;
+ $cols[$i] = MonetDB::CLI::MapiPP->unquote($cols[$i]);
+ }
+ $self->{currow} = [@cols];
+ $self->{h}->getReply();
+ } else {
+ $self->{currow} = $self->{rows}[$self->{i}];
}
- $self->{currow} = [@cols];
- $self->{h}->getReply();
-
- return $self->{colcnt};
+ return @{$self->{currow}};
}
sub field
diff --git a/monetdb5/modules/mal/Tests/inspect05.stable.out
b/monetdb5/modules/mal/Tests/inspect05.stable.out
--- a/monetdb5/modules/mal/Tests/inspect05.stable.out
+++ b/monetdb5/modules/mal/Tests/inspect05.stable.out
@@ -784,7 +784,7 @@ end main;
[ "addScenario", "pattern", "clients",
"(usr:str,sc:str):void ",
"CLTaddScenario;"
]
[ "addUser", "pattern", "clients",
"(nme:str,pw:str,scen:bat[:str,:any_1]):oid ",
"CLTaddUser;"
]
[ "backendsum", "command", "clients",
"(pw:str):str ",
"CLTbackendsum;"
]
-[ "checkPermission", "pattern", "clients",
"(usr:str,pw:str,sc:str):void ",
"CLTcheckPermission;"
]
+[ "checkPermission", "pattern", "clients",
"(usr:str,pw:str):void ",
"CLTcheckPermission;"
]
[ "changePassword", "pattern", "clients",
"(old:str,new:str):void ",
"CLTchangePassword;"
]
[ "changeUsername", "pattern", "clients",
"(old:str,new:str):void ",
"CLTchangeUsername;"
]
[ "getUsers", "pattern", "clients",
"(s:bat[:str,:any_1]):bat[:oid,:str] ",
"CLTgetUsers;"
]
diff --git a/monetdb5/modules/mal/Tests/inspect05.stable.out.Windows
b/monetdb5/modules/mal/Tests/inspect05.stable.out.Windows
--- a/monetdb5/modules/mal/Tests/inspect05.stable.out.Windows
+++ b/monetdb5/modules/mal/Tests/inspect05.stable.out.Windows
@@ -773,7 +773,7 @@ end main;
[ "addScenario", "pattern", "clients",
"(usr:str,sc:str):void ",
"CLTaddScenario;"
]
[ "addUser", "pattern", "clients",
"(nme:str,pw:str,scen:bat[:str,:any_1]):oid ",
"CLTaddUser;"
]
[ "backendsum", "command", "clients",
"(pw:str):str ",
"CLTbackendsum;"
]
-[ "checkPermission", "pattern", "clients",
"(usr:str,pw:str,sc:str):void ",
"CLTcheckPermission;"
]
+[ "checkPermission", "pattern", "clients",
"(usr:str,pw:str):void ",
"CLTcheckPermission;"
]
[ "changePassword", "pattern", "clients",
"(old:str,new:str):void ",
"CLTchangePassword;"
]
[ "changeUsername", "pattern", "clients",
"(old:str,new:str):void ",
"CLTchangeUsername;"
]
[ "getUsers", "pattern", "clients",
"(s:bat[:str,:any_1]):bat[:oid,:str] ",
"CLTgetUsers;"
]
diff --git a/monetdb5/modules/mal/clients.mx b/monetdb5/modules/mal/clients.mx
--- a/monetdb5/modules/mal/clients.mx
+++ b/monetdb5/modules/mal/clients.mx
@@ -684,7 +684,7 @@ str CLTsetPassword(Client cntxt, MalBlkP
}
@mal
-pattern checkPermission(usr:str, pw:str, sc:str):void
+pattern checkPermission(usr:str, pw:str):void
address CLTcheckPermission
comment "Check permission for a user, requires hashed password (backendsum)";
@h
diff --git a/monetdb5/tests/mapi/Tests/perl_dbi.stable.out
b/monetdb5/tests/mapi/Tests/perl_dbi.stable.out
--- a/monetdb5/tests/mapi/Tests/perl_dbi.stable.out
+++ b/monetdb5/tests/mapi/Tests/perl_dbi.stable.out
@@ -35,7 +35,7 @@ data sources: dbi:monetdb:
field[0]: 2, last index: 0
field[0]: 3, last index: 0
ERROR REPORTED: DBD::monetdb::st execute failed: SyntaxException:parseError:(
xyz 1);;
-SyntaxException:parseError: ^<identifier> expected at
/ufs/fabian/scratch/monetdb/Aug2011/program-x86_64/lib/perl5/vendor_perl/5.12.3/x86_64-linux/MonetDB/CLI/MapiPP.pm
line 120.
+SyntaxException:parseError: ^<identifier> expected at
/ufs/fabian/scratch/monetdb/Aug2011/program-x86_64/lib/perl5/vendor_perl/5.12.3/x86_64-linux/MonetDB/CLI/MapiPP.pm
line 125.
bun: 3, three
bun: 7, seven
rows: 2, fields: 2
diff --git a/sql/test/mapi/Tests/perl_dbi.stable.out
b/sql/test/mapi/Tests/perl_dbi.stable.out
--- a/sql/test/mapi/Tests/perl_dbi.stable.out
+++ b/sql/test/mapi/Tests/perl_dbi.stable.out
@@ -34,7 +34,7 @@ Start a simple Monet SQL interaction
data sources: dbi:monetdb:
field[0]: 2, last index: 0
field[0]: 3, last index: 0
-ERROR REPORTED: DBD::monetdb::st execute failed: syntax error, unexpected
IDENT, expecting SELECT or '(' in: "( xyz" at
/home/niels/scratch/monetdb/Linux-x86_64/lib64/perl5/vendor_perl/MonetDB/CLI/MapiPP.pm
line 110.
+ERROR REPORTED: DBD::monetdb::st execute failed: syntax error, unexpected
IDENT, expecting SELECT or '(' in: "( xyz" at
/home/niels/scratch/monetdb/Linux-x86_64/lib64/perl5/vendor_perl/MonetDB/CLI/MapiPP.pm
line 125.
bun: 3, three
bun: 7, seven
rows: 2, fields: 2
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list