Skip to content

Commit f3705d6

Browse files
authored
Merge pull request #230 from evolvedbinary/6.x.x/hotfix/running-query-lock
[6.x.x] Only lock queries whilst they are compiling
2 parents 4a5d990 + 0675d6d commit f3705d6

90 files changed

Lines changed: 3991 additions & 1908 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

exist-core/pom.xml

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1015,12 +1015,15 @@
10151015
<include>src/test/java/org/exist/security/internal/BackupRestoreSecurityPrincipalsTest.java</include>
10161016
<include>src/main/java/org/exist/security/internal/RealmImpl.java</include>
10171017
<include>src/main/java/org/exist/security/internal/SecurityManagerImpl.java</include>
1018+
<include>src/main/java/org/exist/security/internal/SMEvents.java</include>
10181019
<include>src/main/java/org/exist/security/internal/aider/UnixStylePermissionAider.java</include>
10191020
<include>src/main/java/org/exist/security/management/AccountsManagement.java</include>
10201021
<include>src/main/java/org/exist/security/management/GroupsManagement.java</include>
10211022
<include>src/main/java/org/exist/source/AbstractSource.java</include>
1023+
<include>src/main/java/org/exist/source/DBSource.java</include>
10221024
<include>src/main/java/org/exist/source/Source.java</include>
10231025
<include>src/main/java/org/exist/source/SourceFactory.java</include>
1026+
<include>src/test/java/org/exist/source/SourceFactoryTest.java</include>
10241027
<include>src/main/java/org/exist/source/URLSource.java</include>
10251028
<include>src/test/java/org/exist/stax/EmbeddedXMLStreamReaderTest.java</include>
10261029
<include>src/test/java/org/exist/storage/AbstractUpdateTest.java</include>
@@ -1088,6 +1091,8 @@
10881091
<include>src/test/resources-filtered/org/exist/storage/statistics/conf.xml</include>
10891092
<include>src/main/java/org/exist/storage/sync/SyncTask.java</include>
10901093
<include>src/test/java/org/exist/storage/util/PauseFunction.java</include>
1094+
<include>src/main/java/org/exist/test/ExistEmbeddedServer.java</include>
1095+
<include>src/main/java/org/exist/test/ExistWebServer.java</include>
10911096
<include>src/main/java/org/exist/test/ExistXmldbEmbeddedServer.java</include>
10921097
<include>src/main/java/org/exist/test/TransactionTestDSL.java</include>
10931098
<include>src/main/java/org/exist/test/XQueryAssertions.java</include>
@@ -1232,11 +1237,15 @@
12321237
<include>src/test/java/org/exist/xmldb/concurrent/action/ValueAppendAction.java</include>
12331238
<include>src/test/java/org/exist/xmldb/concurrent/action/XQueryAction.java</include>
12341239
<include>src/test/java/org/exist/xmldb/concurrent/action/XQueryUpdateAction.java</include>
1240+
<include>src/main/java/org/exist/xmlrpc/AbstractCachedResult.java</include>
1241+
<include>src/main/java/org/exist/xmlrpc/CachedQueryResult.java</include>
12351242
<include>src/main/java/org/exist/xmlrpc/ExistRpcTypeFactory.java</include>
12361243
<include>src/test/java/org/exist/xmlrpc/MimeTypeTest.java</include>
1244+
<include>src/main/java/org/exist/xmlrpc/QueryResultCache.java</include>
12371245
<include>src/test/java/org/exist/xmlrpc/QuerySessionTest.java</include>
12381246
<include>src/main/java/org/exist/xmlrpc/RpcAPI.java</include>
12391247
<include>src/main/java/org/exist/xmlrpc/RpcConnection.java</include>
1248+
<include>src/main/java/org/exist/xmlrpc/XmldbRequestProcessorFactory.java</include>
12401249
<include>src/test/java/org/exist/xmlrpc/XmlRpcTest.java</include>
12411250
<include>src/main/java/org/exist/xqj/Marshaller.java</include>
12421251
<include>src/test/java/org/exist/xqj/MarshallerTest.java</include>
@@ -1248,6 +1257,7 @@
12481257
<include>src/test/java/org/exist/xquery/CardinalityTest.java</include>
12491258
<include>src/test/java/org/exist/xquery/CleanupTest.java</include>
12501259
<include>src/main/java/org/exist/xquery/CombiningExpression.java</include>
1260+
<include>src/main/java/org/exist/xquery/CompiledXQuery.java</include>
12511261
<include>src/test/java/org/exist/xquery/ConstructedNodesRecoveryTest.java</include>
12521262
<include>src/test/java/org/exist/xquery/ConstructedNodesTest.java</include>
12531263
<include>src/main/java/org/exist/xquery/Context.java</include>
@@ -1465,6 +1475,7 @@
14651475
<include>src/test/java/org/exist/xquery/functions/util/Base64FunctionsTest.java</include>
14661476
<include>src/test/java/org/exist/xquery/functions/util/BaseConverterTest.java</include>
14671477
<include>src/main/java/org/exist/xquery/functions/util/BuiltinFunctions.java</include>
1478+
<include>src/main/java/org/exist/xquery/functions/util/CollectionName.java</include>
14681479
<include>src/main/java/org/exist/xquery/functions/util/DescribeFunction.java</include>
14691480
<include>src/test/java/org/exist/xquery/functions/util/EvalTest.java</include>
14701481
<include>src/test/java/org/exist/xquery/functions/util/ExpandTest.java</include>
@@ -1841,12 +1852,18 @@
18411852
<exclude>src/test/java/org/exist/security/internal/BackupRestoreSecurityPrincipalsTest.java</exclude>
18421853
<exclude>src/main/java/org/exist/security/internal/RealmImpl.java</exclude>
18431854
<exclude>src/main/java/org/exist/security/internal/SecurityManagerImpl.java</exclude>
1855+
<exclude>src/main/java/org/exist/security/internal/SMEvents.java</exclude>
1856+
<exclude>src/main/java/org/exist/security/internal/aider/ImmutableUnixStylePermissionAider.java</exclude>
18441857
<exclude>src/main/java/org/exist/security/internal/aider/UnixStylePermissionAider.java</exclude>
18451858
<exclude>src/main/java/org/exist/security/management/AccountsManagement.java</exclude>
18461859
<exclude>src/main/java/org/exist/security/management/GroupsManagement.java</exclude>
18471860
<exclude>src/main/java/org/exist/source/AbstractSource.java</exclude>
1861+
<exclude>src/main/java/org/exist/source/DBSource.java</exclude>
1862+
<exclude>src/main/java/org/exist/source/DbStoreSource.java</exclude>
1863+
<exclude>src/main/java/org/exist/source/DbUriSource.java</exclude>
18481864
<exclude>src/main/java/org/exist/source/Source.java</exclude>
18491865
<exclude>src/main/java/org/exist/source/SourceFactory.java</exclude>
1866+
<exclude>src/test/java/org/exist/source/SourceFactoryTest.java</exclude>
18501867
<exclude>src/main/java/org/exist/source/URLSource.java</exclude>
18511868
<exclude>src/test/java/org/exist/stax/EmbeddedXMLStreamReaderTest.java</exclude>
18521869
<exclude>src/test/java/org/exist/storage/AbstractRecoverTest.java</exclude>
@@ -1966,6 +1983,8 @@
19661983
<exclude>src/test/java/org/exist/storage/txn/TxnTest.java</exclude>
19671984
<exclude>src/test/java/org/exist/storage/util/PauseFunction.java</exclude>
19681985
<exclude>src/main/java/org/exist/test/DiffMatcher.java</exclude>
1986+
<exclude>src/main/java/org/exist/test/ExistEmbeddedServer.java</exclude>
1987+
<exclude>src/main/java/org/exist/test/ExistWebServer.java</exclude>
19691988
<exclude>src/main/java/org/exist/test/ExistXmldbEmbeddedServer.java</exclude>
19701989
<exclude>src/main/java/org/exist/test/TransactionTestDSL.java</exclude>
19711990
<exclude>src/test/java/org/exist/test/Util.java</exclude>
@@ -2072,6 +2091,7 @@
20722091
<exclude>src/test/java/org/exist/xmldb/IndexingTest.java</exclude>
20732092
<exclude>src/main/java/org/exist/xmldb/LocalBinaryResource.java</exclude>
20742093
<exclude>src/main/java/org/exist/xmldb/LocalCollection.java</exclude>
2094+
<exclude>src/main/java/org/exist/xmldb/LocalCompiledExpression.java</exclude>
20752095
<exclude>src/main/java/org/exist/xmldb/LocalResourceSet.java</exclude>
20762096
<exclude>src/main/java/org/exist/xmldb/LocalRestoreService.java</exclude>
20772097
<exclude>src/main/java/org/exist/xmldb/LocalXMLResource.java</exclude>
@@ -2124,15 +2144,19 @@
21242144
<exclude>src/test/java/org/exist/xmldb/concurrent/action/ValueAppendAction.java</exclude>
21252145
<exclude>src/test/java/org/exist/xmldb/concurrent/action/XQueryAction.java</exclude>
21262146
<exclude>src/test/java/org/exist/xmldb/concurrent/action/XQueryUpdateAction.java</exclude>
2147+
<exclude>src/main/java/org/exist/xmlrpc/AbstractCachedResult.java</exclude>
21272148
<exclude>src/main/java/org/exist/xmlrpc/ACEAiderParser.java</exclude>
21282149
<exclude>src/main/java/org/exist/xmlrpc/ACEAiderSerializer.java</exclude>
21292150
<exclude>src/main/java/org/exist/xmlrpc/ArrayWrapperParser.java</exclude>
21302151
<exclude>src/main/java/org/exist/xmlrpc/ArrayWrapperSerializer.java</exclude>
2152+
<exclude>src/main/java/org/exist/xmlrpc/CachedQueryResult.java</exclude>
21312153
<exclude>src/main/java/org/exist/xmlrpc/ExistRpcTypeFactory.java</exclude>
21322154
<exclude>src/test/java/org/exist/xmlrpc/MimeTypeTest.java</exclude>
2155+
<exclude>src/main/java/org/exist/xmlrpc/QueryResultCache.java</exclude>
21332156
<exclude>src/test/java/org/exist/xmlrpc/QuerySessionTest.java</exclude>
21342157
<exclude>src/main/java/org/exist/xmlrpc/RpcAPI.java</exclude>
21352158
<exclude>src/main/java/org/exist/xmlrpc/RpcConnection.java</exclude>
2159+
<exclude>src/main/java/org/exist/xmlrpc/XmldbRequestProcessorFactory.java</exclude>
21362160
<exclude>src/main/java/org/exist/xmlrpc/XmlRpcExtensionConstants.java</exclude>
21372161
<exclude>src/test/java/org/exist/xmlrpc/XmlRpcTest.java</exclude>
21382162
<exclude>src/main/java/org/exist/xqj/Marshaller.java</exclude>
@@ -2148,6 +2172,7 @@
21482172
<exclude>src/test/java/org/exist/xquery/CastExpressionTest.java</exclude>
21492173
<exclude>src/test/java/org/exist/xquery/CleanupTest.java</exclude>
21502174
<exclude>src/main/java/org/exist/xquery/CombiningExpression.java</exclude>
2175+
<exclude>src/main/java/org/exist/xquery/CompiledXQuery.java</exclude>
21512176
<exclude>src/test/java/org/exist/xquery/ConstructedNodesRecoveryTest.java</exclude>
21522177
<exclude>src/test/java/org/exist/xquery/ConstructedNodesTest.java</exclude>
21532178
<exclude>src/main/java/org/exist/xquery/Context.java</exclude>
@@ -2199,6 +2224,9 @@
21992224
<exclude>src/test/java/org/exist/xquery/PersistentDescendantOrSelfNodeKindTest.java</exclude>
22002225
<exclude>src/test/java/org/exist/xquery/QueryPoolTest.java</exclude>
22012226
<exclude>src/test/java/org/exist/xquery/RestBinariesTest.java</exclude>
2227+
<exclude>src/test/java/org/exist/xquery/RunningXQueryRestTest.java</exclude>
2228+
<exclude>src/test/java/org/exist/xquery/RunningXQueryTest.java</exclude>
2229+
<exclude>src/test/java/org/exist/xquery/RunningXQueryXmlDbTest.java</exclude>
22022230
<exclude>src/test/java/org/exist/xquery/SeqOpTest.java</exclude>
22032231
<exclude>src/test/java/org/exist/xquery/SpecialNamesTest.java</exclude>
22042232
<exclude>src/test/java/org/exist/xquery/StoredModuleTest.java</exclude>
@@ -2387,6 +2415,7 @@
23872415
<exclude>src/test/java/org/exist/xquery/functions/util/Base64FunctionsTest.java</exclude>
23882416
<exclude>src/test/java/org/exist/xquery/functions/util/BaseConverterTest.java</exclude>
23892417
<exclude>src/main/java/org/exist/xquery/functions/util/BuiltinFunctions.java</exclude>
2418+
<exclude>src/main/java/org/exist/xquery/functions/util/CollectionName.java</exclude>
23902419
<exclude>src/main/java/org/exist/xquery/functions/util/DescribeFunction.java</exclude>
23912420
<exclude>src/main/java/org/exist/xquery/functions/util/Eval.java</exclude>
23922421
<exclude>src/test/java/org/exist/xquery/functions/util/EvalTest.java</exclude>
@@ -2665,6 +2694,13 @@ The original license statement is also included below.]]></preamble>
26652694
<includes>
26662695
<include>src/main/java/org/exist/mediatype/MediaTypeService.java</include>
26672696
<include>src/main/java/org/exist/mediatype/MediaTypeUtil.java</include>
2697+
<include>src/main/java/org/exist/security/internal/aider/ImmutableUnixStylePermissionAider.java</include>
2698+
<include>src/main/java/org/exist/source/DbStoreSource.java</include>
2699+
<include>src/main/java/org/exist/source/DbUriSource.java</include>
2700+
<include>src/main/java/org/exist/xmldb/LocalCompiledExpression.java</include>
2701+
<include>src/test/java/org/exist/xquery/RunningXQueryRestTest.java</include>
2702+
<include>src/test/java/org/exist/xquery/RunningXQueryTest.java</include>
2703+
<include>src/test/java/org/exist/xquery/RunningXQueryXmlDbTest.java</include>
26682704
<include>src/main/resources/xyz/elemental/mediatype/media-type-aliases.xml</include>
26692705
<include>src/main/resources/xyz/elemental/mediatype/media-type-mappings.xml</include>
26702706
<include>src/main/resources/xyz/elemental/mediatype/mime.types</include>
@@ -2972,4 +3008,4 @@ The BaseX Team. The original license statement is also included below.]]></pream
29723008
</profile>
29733009
</profiles>
29743010

2975-
</project>
3011+
</project>

exist-core/src/main/java/org/exist/collections/triggers/XQueryTrigger.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
import org.exist.dom.persistent.DocumentImpl;
6262
import org.exist.dom.QName;
6363
import org.exist.security.PermissionDeniedException;
64-
import org.exist.source.DBSource;
64+
import org.exist.source.DbStoreSource;
6565
import org.exist.source.Source;
6666
import org.exist.source.SourceFactory;
6767
import org.exist.source.StringSource;
@@ -364,8 +364,8 @@ private CompiledXQuery getScript(final DBBroker broker, final Txn transaction) t
364364
context.prepareForReuse();
365365
}
366366

367-
if (query instanceof DBSource) {
368-
context.setModuleLoadPath(XmldbURI.EMBEDDED_SERVER_URI_PREFIX + ((DBSource)query).getDocumentPath().removeLastSegment().toString());
367+
if (query instanceof DbStoreSource) {
368+
context.setModuleLoadPath(XmldbURI.EMBEDDED_SERVER_URI_PREFIX + ((DbStoreSource) query).getDocumentPath().removeLastSegment().toString());
369369
}
370370

371371
//compile the XQuery

0 commit comments

Comments
 (0)