Переглянути джерело

Merge remote-tracking branch 'origin/candidate-5.0.0' into closedown-5.0.x

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 11 роки тому
батько
коміт
ebaedfaad8

+ 15 - 3
plugins/Rembed/README

@@ -24,9 +24,21 @@ package-management utilities on most distros.
 To install the prerequisites for building R support, use the following (Ubuntu 12.04)
 or the equivalent for your distro.
 
-sudo apt-get install r-base r-cran-rcpp
-wget http://cran.r-project.org/src/contrib/RInside_0.2.10.tar.gz
-sudo R CMD INSTALL RInside_0.2.10.tar.gz
+    sudo apt-get install r-base r-cran-rcpp
+
+For Ubuntu 14.04:
+    wget http://cran.r-project.org/src/contrib/RInside_0.2.11.tar.gz
+
+    To install:
+    sudo R CMD INSTALL RInside_0.2.11.tar.gz
+
+
+For Ubuntu before 14.04:
+    wget http://cran.r-project.org/src/contrib/00Archive/RInside/RInside_0.2.10.tar.gz
+    
+    To install
+    sudo R CMD INSTALL RInside_0.2.10.tar.gz
+
 
 Then you can enable building the Rembed plugin using
 

+ 1 - 1
roxie/ccd/ccdcontext.cpp

@@ -292,7 +292,7 @@ protected:
             updatePersist(persistLock, logicalName, thisPersist->eclCRC, thisPersist->allCRC);
         }
         logctx.CTXLOG("Finished persists - add to read lock list");
-        persistReadLocks.append(*persistLock);
+        persistReadLocks.append(*persistLock.getClear());
     }
 
 private:

+ 1 - 0
roxie/ccd/ccdlistener.cpp

@@ -1659,6 +1659,7 @@ readAnother:
                             client->setHttpMode(queryName, isRequestArray, httpHelper.queryContentFormat());
                         if (queryFactory)
                         {
+                            queryFactory->checkSuspended();
                             bool stripWhitespace = queryFactory->getDebugValueBool("stripWhitespaceFromStoredDataset", 0 != (ptr_ignoreWhiteSpace & defaultXmlReadFlags));
                             stripWhitespace = queryXml->getPropBool("_stripWhitespaceFromStoredDataset", stripWhitespace);
                             PTreeReaderOptions xmlReadFlags = (PTreeReaderOptions)((defaultXmlReadFlags & ~ptr_ignoreWhiteSpace) |

+ 1 - 1
roxie/ccd/ccdquery.cpp

@@ -1362,7 +1362,7 @@ protected:
             return false;
     }
 
-    void checkSuspended() const
+    virtual void checkSuspended() const
     {
         if (isSuspended)
         {

+ 1 - 0
roxie/ccd/ccdquery.hpp

@@ -126,6 +126,7 @@ interface IQueryFactory : extends IInterface
     virtual IQueryFactory *lookupLibrary(const char *libraryName, unsigned expectedInterfaceHash, const IRoxieContextLogger &logctx) const = 0;
     virtual void getQueryInfo(StringBuffer &result, bool full, IArrayOf<IQueryFactory> *slaveQueries,const IRoxieContextLogger &logctx) const = 0;
     virtual bool isDynamic() const = 0;
+    virtual void checkSuspended() const = 0;
 };
 
 class ActivityArray : public CInterface

+ 2 - 2
roxie/ccd/ccdserver.cpp

@@ -11387,10 +11387,10 @@ public:
 
         unsigned __int64 fileSize = 0;
         fileCrc = -1;
-        OwnedRoxieString dsName(helper.getFileName());
+        OwnedRoxieString dsName(helper.getDatasetName());
         if (dsName.get())
         {
-            Owned<const IResolvedFile> dsFileInfo = resolveLFN(dsName, false);
+            Owned<const IResolvedFile> dsFileInfo = resolveLFN(dsName, true);
             if (dsFileInfo)
             {
                 fileSize = dsFileInfo->getFileSize();

+ 2 - 2
roxie/ccd/ccdstate.cpp

@@ -491,7 +491,7 @@ protected:
             {
                 StringBuffer useName;
                 bool wasDFS = false;
-                if (strstr(fileName,"::"))
+                if (!resolveLocal || strstr(fileName,"::") != NULL)
                 {
                     makeSinglePhysicalPartName(fileName, useName, true, wasDFS);
                 }
@@ -669,7 +669,7 @@ public:
             throw MakeStringException(ROXIE_FILE_ERROR, "Cannot write %s", fileName.str());
         // filename by now may be a local filename, or a dali one
         Owned<IRoxieDaliHelper> daliHelper = connectToDali();
-        Owned<ILocalOrDistributedFile> ldFile = createLocalOrDistributedFile(fileName, NULL, false, false, true);
+        Owned<ILocalOrDistributedFile> ldFile = createLocalOrDistributedFile(fileName, NULL, false, !resolveLocally(), true);
         if (!ldFile)
             throw MakeStringException(ROXIE_FILE_ERROR, "Cannot write %s", fileName.str());
         return createRoxieWriteHandler(daliHelper, ldFile.getClear(), clusters);