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

Reply via email to