This is an automated email from the ASF dual-hosted git repository. krisden pushed a commit to branch branch_9_0 in repository https://gitbox.apache.org/repos/asf/solr.git
commit fdf23863df97099f692cb91a237614dd28b653c8 Author: Kevin Risden <[email protected]> AuthorDate: Mon Feb 14 20:24:45 2022 -0500 SOLR-15904: Move SQL support into new sql module --- settings.gradle | 1 + solr/CHANGES.txt | 2 + solr/core/build.gradle | 15 ----- .../java/org/apache/solr/core/CoreContainer.java | 4 -- .../org/apache/solr/core/SolrResourceLoader.java | 2 +- solr/core/src/resources/ImplicitPlugins.json | 1 + solr/core/src/test-files/log4j2.xml | 1 - .../org/apache/solr/search/TestTaskManagement.java | 2 +- solr/modules/sql/README.md | 29 +++++++++ solr/modules/sql/build.gradle | 69 ++++++++++++++++++++++ .../solr/handler/sql}/CalciteJDBCStream.java | 2 +- .../apache/solr/handler/sql/CalciteSolrDriver.java | 0 .../org/apache/solr/handler/sql/LimitStream.java | 0 .../org/apache/solr/handler/sql}/SQLHandler.java | 9 ++- .../org/apache/solr/handler/sql/SolrAggregate.java | 0 .../apache/solr/handler/sql/SolrEnumerator.java | 0 .../org/apache/solr/handler/sql/SolrFilter.java | 0 .../org/apache/solr/handler/sql/SolrMethod.java | 0 .../org/apache/solr/handler/sql/SolrProject.java | 0 .../java/org/apache/solr/handler/sql/SolrRel.java | 0 .../org/apache/solr/handler/sql/SolrRules.java | 0 .../org/apache/solr/handler/sql/SolrSchema.java | 0 .../java/org/apache/solr/handler/sql/SolrSort.java | 0 .../org/apache/solr/handler/sql/SolrTable.java | 0 .../org/apache/solr/handler/sql/SolrTableScan.java | 0 .../handler/sql/SolrToEnumerableConverter.java | 0 .../handler/sql/SolrToEnumerableConverterRule.java | 0 .../org/apache/solr/handler/sql/package-info.java | 4 +- .../sql}/src/test-files/log4j2.xml | 0 .../test-files/solr/configsets/sql/conf/schema.xml | 0 .../solr/configsets/sql/conf/solrconfig.xml | 0 .../solr/handler/sql/SQLWithAuthzEnabledTest.java | 0 .../apache/solr/handler/sql}/TestSQLHandler.java | 2 +- .../solr/handler/sql}/TestSQLHandlerNonCloud.java | 2 +- solr/packaging/build.gradle | 3 +- .../pages/implicit-requesthandlers.adoc | 2 +- .../modules/query-guide/pages/sql-query.adoc | 2 +- solr/solrj/build.gradle | 1 + solr/test-framework/build.gradle | 2 +- .../apache/solr/schema/SortableBinaryField.java | 0 versions.lock | 2 +- 41 files changed, 122 insertions(+), 35 deletions(-) diff --git a/settings.gradle b/settings.gradle index 02b4b27..a93e882 100644 --- a/settings.gradle +++ b/settings.gradle @@ -42,6 +42,7 @@ include "solr:modules:langid" include "solr:modules:ltr" include "solr:modules:s3-repository" include "solr:modules:scripting" +include "solr:modules:sql" include "solr:webapp" include "solr:benchmark" include "solr:test-framework" diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt index 02fe00a..1326fbe 100644 --- a/solr/CHANGES.txt +++ b/solr/CHANGES.txt @@ -54,6 +54,8 @@ New Features * SOLR-13989: Move Hadoop Authentication support to a new hadoop-auth module (Kevin Risden) +* SOLR-15904: Move SQL support to new sql module (Kevin Risden) + Improvements ---------------------- * LUCENE-8984: MoreLikeThis MLT is biased for uncommon fields (Andy Hind via Anshum Gupta) diff --git a/solr/core/build.gradle b/solr/core/build.gradle index aa6b05e..be801e3 100644 --- a/solr/core/build.gradle +++ b/solr/core/build.gradle @@ -150,21 +150,6 @@ dependencies { implementation 'org.codehaus.woodstox:stax2-api' implementation 'com.fasterxml.woodstox:woodstox-core' - // SQL Parser via Calcite - implementation ('org.apache.calcite:calcite-core', { - exclude group: 'org.apache.calcite.avatica', module: 'avatica-metrics' - exclude group: 'com.fasterxml.jackson.dataformat', module: 'jackson-dataformat-yaml' - exclude group: 'com.google.uzaygezen', module: 'uzaygezen-core' - exclude group: 'com.yahoo.datasketches', module: 'sketches-core' - exclude group: 'org.apache.commons', module: 'commons-dbcp2' - exclude group: 'net.minidev', module: 'json-smart' - exclude group: 'net.hydromatic', module: 'aggdesigner-algorithm' - }) - // sub-deps of calcite-core that we reference directly - implementation ('org.apache.calcite:calcite-linq4j') { transitive = false } - implementation ('org.apache.calcite.avatica:avatica-core') { transitive = false } - permitUnusedDeclared 'org.apache.calcite.avatica:avatica-core' - testRuntimeOnly 'org.slf4j:jcl-over-slf4j' testRuntimeOnly "org.apache.lucene:lucene-analysis-icu" diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java b/solr/core/src/java/org/apache/solr/core/CoreContainer.java index d30bb81..e0e2503 100644 --- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java +++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java @@ -87,7 +87,6 @@ import org.apache.solr.handler.admin.ZookeeperStatusHandler; import org.apache.solr.handler.api.ApiRegistrar; import org.apache.solr.handler.component.ShardHandlerFactory; import org.apache.solr.handler.designer.SchemaDesignerAPI; -import org.apache.solr.handler.sql.CalciteSolrDriver; import org.apache.solr.logging.LogWatcher; import org.apache.solr.logging.MDCLoggingContext; import org.apache.solr.metrics.SolrCoreMetricManager; @@ -703,9 +702,6 @@ public class CoreContainer { solrClientCache = new SolrClientCache(updateShardHandler.getDefaultHttpClient()); - // initialize CalciteSolrDriver instance to use this solrClientCache - CalciteSolrDriver.INSTANCE.setSolrClientCache(solrClientCache); - solrCores.load(loader); diff --git a/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java b/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java index 655e80d..5693307 100644 --- a/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java +++ b/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java @@ -88,7 +88,7 @@ public class SolrResourceLoader implements ResourceLoader, Closeable, SolrClassL "", "analysis.", "schema.", "handler.", "handler.tagger.", "search.", "update.", "core.", "response.", "request.", "update.processor.", "util.", "spelling.", "handler.component.", "spelling.suggest.", "spelling.suggest.fst.", "rest.schema.analysis.", "security.", "handler.admin.", - "security.jwt.", "security.hadoop." + "security.jwt.", "security.hadoop.", "handler.sql." }; private static final Charset UTF_8 = StandardCharsets.UTF_8; public static final String SOLR_ALLOW_UNSAFE_RESOURCELOADING_PARAM = "solr.allow.unsafe.resourceloading"; diff --git a/solr/core/src/resources/ImplicitPlugins.json b/solr/core/src/resources/ImplicitPlugins.json index 14b51cb..8e8bd6d 100644 --- a/solr/core/src/resources/ImplicitPlugins.json +++ b/solr/core/src/resources/ImplicitPlugins.json @@ -109,6 +109,7 @@ }, "/sql": { "class": "solr.SQLHandler", + "startup": "lazy", "useParams":"_SQL", "invariants": { "distrib": false diff --git a/solr/core/src/test-files/log4j2.xml b/solr/core/src/test-files/log4j2.xml index 689aa96..9078571 100644 --- a/solr/core/src/test-files/log4j2.xml +++ b/solr/core/src/test-files/log4j2.xml @@ -32,7 +32,6 @@ <Logger name="org.apache.zookeeper" level="WARN"/> <Logger name="org.apache.directory" level="WARN"/> <Logger name="org.eclipse.jetty" level="INFO"/> - <Logger name="org.apache.calcite" level="INFO"/> <Root level="INFO"> <AppenderRef ref="STDERR"/> diff --git a/solr/core/src/test/org/apache/solr/search/TestTaskManagement.java b/solr/core/src/test/org/apache/solr/search/TestTaskManagement.java index 7f54385..7330bc3 100644 --- a/solr/core/src/test/org/apache/solr/search/TestTaskManagement.java +++ b/solr/core/src/test/org/apache/solr/search/TestTaskManagement.java @@ -61,7 +61,7 @@ public class TestTaskManagement extends SolrCloudTestCase { @BeforeClass public static void setupCluster() throws Exception { configureCluster(4) - .addConfig("conf", configset("sql")) + .addConfig("conf", configset("cloud-minimal")) .configure(); } diff --git a/solr/modules/sql/README.md b/solr/modules/sql/README.md new file mode 100644 index 0000000..eeb72dd --- /dev/null +++ b/solr/modules/sql/README.md @@ -0,0 +1,29 @@ +Apache Solr SQL Module +=============================== + +Introduction +------------ +This module implements the support for SQL in Apache Solr. + +Building +-------- +The SQL module uses the same Gradle build as the core Solr components. + +To build the module, you can use + +``` +./gradlew :solr:modules:sql:assemble +``` + +The resulting module will be placed to the libs directory, for example: +`solr/modules/hdfs/build/libs/solr-sql-9.0.0-SNAPSHOT.jar` + +To execute the module tests: + +``` +./gradlew :solr:modules:sql:test +``` + +Usage +----- +Please refer to the 'SQL Query Language' section of the reference guide: https://solr.apache.org/guide/solr/latest/query-guide/sql-query.html diff --git a/solr/modules/sql/build.gradle b/solr/modules/sql/build.gradle new file mode 100644 index 0000000..fe23ccc --- /dev/null +++ b/solr/modules/sql/build.gradle @@ -0,0 +1,69 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +apply plugin: 'java-library' + +description = 'SQL Module' + +dependencies { + implementation project(':solr:core') + implementation project(':solr:solrj') + + implementation 'org.slf4j:slf4j-api' + + implementation 'com.google.guava:guava' + + // SQL Parser via Calcite + implementation ('org.apache.calcite:calcite-core', { + exclude group: 'org.apache.calcite.avatica', module: 'avatica-metrics' + exclude group: 'com.google.guava', module: 'guava' // TODO remove this to keep versions in sync + exclude group: 'com.fasterxml.jackson.dataformat', module: 'jackson-dataformat-yaml' + exclude group: 'com.google.uzaygezen', module: 'uzaygezen-core' + exclude group: 'com.yahoo.datasketches', module: 'sketches-core' + exclude group: 'org.apache.commons', module: 'commons-dbcp2' + exclude group: 'net.minidev', module: 'json-smart' + exclude group: 'net.hydromatic', module: 'aggdesigner-algorithm' + }) + // sub-deps of calcite-core that we reference directly + implementation ('org.apache.calcite:calcite-linq4j') { transitive = false } + implementation ('org.apache.calcite.avatica:avatica-core') { transitive = false } + permitUnusedDeclared 'org.apache.calcite.avatica:avatica-core' + + testImplementation project(':solr:test-framework') + testImplementation 'org.apache.lucene:lucene-test-framework' + testImplementation 'junit:junit' + + testRuntimeOnly project(':solr:modules:analysis-extras') + + testImplementation 'org.apache.commons:commons-lang3' +} + + +// Copy all the test resource files from core to the build/resources/test directory +// of the SQL module so we can avoid duplication of the test resource files like +// schemas and SolrConfigs. This can be improved later by making the test classes +// load the resources from core directories directly. +task copySolrCoreTestResources(type: Copy) { + from(project(':solr:core').sourceSets.test.resources.srcDirs) { + exclude '**/*.java' + } + into sourceSets.test.output.resourcesDir +} + +tasks.processTestResources.configure { + dependsOn copySolrCoreTestResources +} diff --git a/solr/core/src/java/org/apache/solr/handler/CalciteJDBCStream.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/CalciteJDBCStream.java similarity index 98% rename from solr/core/src/java/org/apache/solr/handler/CalciteJDBCStream.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/CalciteJDBCStream.java index fd76cbf..4fa6db8 100644 --- a/solr/core/src/java/org/apache/solr/handler/CalciteJDBCStream.java +++ b/solr/modules/sql/src/java/org/apache/solr/handler/sql/CalciteJDBCStream.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.handler; +package org.apache.solr.handler.sql; import java.io.IOException; import java.sql.Array; diff --git a/solr/core/src/java/org/apache/solr/handler/sql/CalciteSolrDriver.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/CalciteSolrDriver.java similarity index 100% rename from solr/core/src/java/org/apache/solr/handler/sql/CalciteSolrDriver.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/CalciteSolrDriver.java diff --git a/solr/core/src/java/org/apache/solr/handler/sql/LimitStream.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/LimitStream.java similarity index 100% rename from solr/core/src/java/org/apache/solr/handler/sql/LimitStream.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/LimitStream.java diff --git a/solr/core/src/java/org/apache/solr/handler/SQLHandler.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/SQLHandler.java similarity index 96% rename from solr/core/src/java/org/apache/solr/handler/SQLHandler.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/SQLHandler.java index 82a8bf9..1cd785b 100644 --- a/solr/core/src/java/org/apache/solr/handler/SQLHandler.java +++ b/solr/modules/sql/src/java/org/apache/solr/handler/sql/SQLHandler.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.handler; +package org.apache.solr.handler.sql; import java.io.IOException; import java.lang.invoke.MethodHandles; @@ -38,7 +38,8 @@ import org.apache.solr.common.params.ModifiableSolrParams; import org.apache.solr.common.params.SolrParams; import org.apache.solr.core.CoreContainer; import org.apache.solr.core.SolrCore; -import org.apache.solr.handler.sql.CalciteSolrDriver; +import org.apache.solr.handler.RequestHandlerBase; +import org.apache.solr.handler.StreamHandler; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.response.SolrQueryResponse; import org.apache.solr.security.AuthorizationContext; @@ -62,10 +63,12 @@ public class SQLHandler extends RequestHandlerBase implements SolrCoreAware, Per CoreContainer coreContainer = core.getCoreContainer(); if(coreContainer.isZooKeeperAware()) { - defaultZkhost = core.getCoreContainer().getZkController().getZkServerAddress(); + defaultZkhost = coreContainer.getZkController().getZkServerAddress(); defaultWorkerCollection = core.getCoreDescriptor().getCollectionName(); isCloud = true; } + + CalciteSolrDriver.INSTANCE.setSolrClientCache(coreContainer.getSolrClientCache()); } @Override diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrAggregate.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrAggregate.java similarity index 100% rename from solr/core/src/java/org/apache/solr/handler/sql/SolrAggregate.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrAggregate.java diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrEnumerator.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrEnumerator.java similarity index 100% rename from solr/core/src/java/org/apache/solr/handler/sql/SolrEnumerator.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrEnumerator.java diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrFilter.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrFilter.java similarity index 100% rename from solr/core/src/java/org/apache/solr/handler/sql/SolrFilter.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrFilter.java diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrMethod.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrMethod.java similarity index 100% rename from solr/core/src/java/org/apache/solr/handler/sql/SolrMethod.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrMethod.java diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrProject.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrProject.java similarity index 100% rename from solr/core/src/java/org/apache/solr/handler/sql/SolrProject.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrProject.java diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrRel.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrRel.java similarity index 100% rename from solr/core/src/java/org/apache/solr/handler/sql/SolrRel.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrRel.java diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrRules.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrRules.java similarity index 100% rename from solr/core/src/java/org/apache/solr/handler/sql/SolrRules.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrRules.java diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrSchema.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrSchema.java similarity index 100% rename from solr/core/src/java/org/apache/solr/handler/sql/SolrSchema.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrSchema.java diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrSort.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrSort.java similarity index 100% rename from solr/core/src/java/org/apache/solr/handler/sql/SolrSort.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrSort.java diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrTable.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrTable.java similarity index 100% rename from solr/core/src/java/org/apache/solr/handler/sql/SolrTable.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrTable.java diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrTableScan.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrTableScan.java similarity index 100% rename from solr/core/src/java/org/apache/solr/handler/sql/SolrTableScan.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrTableScan.java diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrToEnumerableConverter.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrToEnumerableConverter.java similarity index 100% rename from solr/core/src/java/org/apache/solr/handler/sql/SolrToEnumerableConverter.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrToEnumerableConverter.java diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrToEnumerableConverterRule.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrToEnumerableConverterRule.java similarity index 100% rename from solr/core/src/java/org/apache/solr/handler/sql/SolrToEnumerableConverterRule.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/SolrToEnumerableConverterRule.java diff --git a/solr/core/src/java/org/apache/solr/handler/sql/package-info.java b/solr/modules/sql/src/java/org/apache/solr/handler/sql/package-info.java similarity index 92% rename from solr/core/src/java/org/apache/solr/handler/sql/package-info.java rename to solr/modules/sql/src/java/org/apache/solr/handler/sql/package-info.java index 5aef90d..e4ce787 100644 --- a/solr/core/src/java/org/apache/solr/handler/sql/package-info.java +++ b/solr/modules/sql/src/java/org/apache/solr/handler/sql/package-info.java @@ -16,6 +16,6 @@ */ /** - * Classes related to Apache Calcite implementation in {@link org.apache.solr.handler.SQLHandler} + * Classes related to Apache Calcite implementation in {@link org.apache.solr.handler.sql.SQLHandler} */ -package org.apache.solr.handler.sql; \ No newline at end of file +package org.apache.solr.handler.sql; diff --git a/solr/core/src/test-files/log4j2.xml b/solr/modules/sql/src/test-files/log4j2.xml similarity index 100% copy from solr/core/src/test-files/log4j2.xml copy to solr/modules/sql/src/test-files/log4j2.xml diff --git a/solr/core/src/test-files/solr/configsets/sql/conf/schema.xml b/solr/modules/sql/src/test-files/solr/configsets/sql/conf/schema.xml similarity index 100% rename from solr/core/src/test-files/solr/configsets/sql/conf/schema.xml rename to solr/modules/sql/src/test-files/solr/configsets/sql/conf/schema.xml diff --git a/solr/core/src/test-files/solr/configsets/sql/conf/solrconfig.xml b/solr/modules/sql/src/test-files/solr/configsets/sql/conf/solrconfig.xml similarity index 100% rename from solr/core/src/test-files/solr/configsets/sql/conf/solrconfig.xml rename to solr/modules/sql/src/test-files/solr/configsets/sql/conf/solrconfig.xml diff --git a/solr/core/src/test/org/apache/solr/handler/sql/SQLWithAuthzEnabledTest.java b/solr/modules/sql/src/test/org/apache/solr/handler/sql/SQLWithAuthzEnabledTest.java similarity index 100% rename from solr/core/src/test/org/apache/solr/handler/sql/SQLWithAuthzEnabledTest.java rename to solr/modules/sql/src/test/org/apache/solr/handler/sql/SQLWithAuthzEnabledTest.java diff --git a/solr/core/src/test/org/apache/solr/handler/TestSQLHandler.java b/solr/modules/sql/src/test/org/apache/solr/handler/sql/TestSQLHandler.java similarity index 99% rename from solr/core/src/test/org/apache/solr/handler/TestSQLHandler.java rename to solr/modules/sql/src/test/org/apache/solr/handler/sql/TestSQLHandler.java index 453f3f4..4fcd6d6 100644 --- a/solr/core/src/test/org/apache/solr/handler/TestSQLHandler.java +++ b/solr/modules/sql/src/test/org/apache/solr/handler/sql/TestSQLHandler.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.handler; +package org.apache.solr.handler.sql; import java.io.IOException; import java.time.Instant; diff --git a/solr/core/src/test/org/apache/solr/handler/TestSQLHandlerNonCloud.java b/solr/modules/sql/src/test/org/apache/solr/handler/sql/TestSQLHandlerNonCloud.java similarity index 98% rename from solr/core/src/test/org/apache/solr/handler/TestSQLHandlerNonCloud.java rename to solr/modules/sql/src/test/org/apache/solr/handler/sql/TestSQLHandlerNonCloud.java index 4043e4c..b0e5b3f 100644 --- a/solr/core/src/test/org/apache/solr/handler/TestSQLHandlerNonCloud.java +++ b/solr/modules/sql/src/test/org/apache/solr/handler/sql/TestSQLHandlerNonCloud.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.handler; +package org.apache.solr.handler.sql; import java.io.File; import java.io.IOException; diff --git a/solr/packaging/build.gradle b/solr/packaging/build.gradle index dc8eb4b..dd25017 100644 --- a/solr/packaging/build.gradle +++ b/solr/packaging/build.gradle @@ -58,7 +58,8 @@ dependencies { ":solr:modules:langid", ":solr:modules:ltr", ":solr:modules:s3-repository", - ":solr:modules:scripting" + ":solr:modules:scripting", + ":solr:modules:sql" ].each { moduleName -> modules project(path: moduleName, configuration: "packaging") } diff --git a/solr/solr-ref-guide/modules/configuration-guide/pages/implicit-requesthandlers.adoc b/solr/solr-ref-guide/modules/configuration-guide/pages/implicit-requesthandlers.adoc index d291270..fb8adfc 100644 --- a/solr/solr-ref-guide/modules/configuration-guide/pages/implicit-requesthandlers.adoc +++ b/solr/solr-ref-guide/modules/configuration-guide/pages/implicit-requesthandlers.adoc @@ -249,7 +249,7 @@ SQL:: SQL query support. [cols="3*.",frame=none,grid=cols,options="header"] |=== |API Endpoint |Class & Javadocs |Paramset -|`solr/<collection>/sql` |{solr-javadocs}/core/org/apache/solr/handler/SQLHandler.html[SQLHandler] |`_SQL` +|`solr/<collection>/sql` |{solr-javadocs}/modules/sql/org/apache/solr/handler/sql/SQLHandler.html[SQLHandler] |`_SQL` |=== Streaming Expressions:: Distributed stream processing. diff --git a/solr/solr-ref-guide/modules/query-guide/pages/sql-query.adoc b/solr/solr-ref-guide/modules/query-guide/pages/sql-query.adoc index 7c234e3..d5fe9db 100644 --- a/solr/solr-ref-guide/modules/query-guide/pages/sql-query.adoc +++ b/solr/solr-ref-guide/modules/query-guide/pages/sql-query.adoc @@ -21,7 +21,7 @@ // specific language governing permissions and limitations // under the License. -Solr's SQL Query support brings the power of SQL to SolrCloud. +The Solr SQL module brings the power of SQL querying to Solr. The SQL module needs to be xref:configuration-guide:solr-modules.adoc[installed] to use. The SQL interface seamlessly combines SQL with Solr's full-text search capabilities. Both MapReduce style and JSON Facet API aggregations are supported, which means that SQL querying can be used to support both *high query volume* and *high cardinality* use cases. diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index 71f102d..1621fa6 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -62,6 +62,7 @@ dependencies { testImplementation project(':solr:test-framework') testImplementation project(':solr:core') testImplementation project(':solr:solrj') + testRuntimeOnly project(':solr:modules:sql') testImplementation 'org.apache.lucene:lucene-analysis-common' testImplementation 'org.apache.lucene:lucene-core' diff --git a/solr/test-framework/build.gradle b/solr/test-framework/build.gradle index 90e77a0..569f0e2 100644 --- a/solr/test-framework/build.gradle +++ b/solr/test-framework/build.gradle @@ -36,7 +36,7 @@ dependencies { api 'org.apache.lucene:lucene-test-framework' implementation 'org.apache.lucene:lucene-core' implementation 'org.apache.lucene:lucene-queries' - implementation "org.apache.lucene:lucene-suggest" + implementation 'org.apache.lucene:lucene-suggest' implementation('org.apache.zookeeper:zookeeper', { exclude group: "org.apache.yetus", module: "audience-annotations" diff --git a/solr/core/src/test/org/apache/solr/schema/SortableBinaryField.java b/solr/test-framework/src/java/org/apache/solr/schema/SortableBinaryField.java similarity index 100% rename from solr/core/src/test/org/apache/solr/schema/SortableBinaryField.java rename to solr/test-framework/src/java/org/apache/solr/schema/SortableBinaryField.java diff --git a/versions.lock b/versions.lock index 616ee17..1821637 100644 --- a/versions.lock +++ b/versions.lock @@ -35,7 +35,7 @@ com.google.cloud:google-cloud-storage:2.2.3 (2 constraints: 6e1c99f3) com.google.code.gson:gson:2.8.9 (6 constraints: f25833c8) com.google.errorprone:error_prone_annotations:2.10.0 (4 constraints: 3038d4ba) com.google.guava:failureaccess:1.0.1 (2 constraints: f9199e37) -com.google.guava:guava:31.0.1-jre (19 constraints: 722c2e36) +com.google.guava:guava:31.0.1-jre (17 constraints: 850e5ccb) com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava (2 constraints: 4b35b0a0) com.google.http-client:google-http-client:1.41.0 (11 constraints: 17bf6b7e) com.google.http-client:google-http-client-apache-v2:1.41.0 (2 constraints: af201c75)
