Timothy Potter created SOLR-15570:
-------------------------------------
Summary: JDBC table metadata should include fields declared in the
schema (not dynamic) even if they are empty in the index
Key: SOLR-15570
URL: https://issues.apache.org/jira/browse/SOLR-15570
Project: Solr
Issue Type: Improvement
Security Level: Public (Default Security Level. Issues are Public)
Components: Parallel SQL
Reporter: Timothy Potter
Assignee: Timothy Potter
Let's say I have field {{stringx}} declared in my schema but is empty (no docs
in the index yet).
Currently, the {{SolrSchema}} uses Luke to generate the table metadata and
since {{stringx}} is empty, it's not included in the table metadata.
{code}
select id, stringx from collection
{code}
will fail with:
{code}
Error while executing SQL "SELECT id, stringx FROM collection1": From line 1,
column 12 to line 1, column 18: Column 'stringx' not found in any table
at
org.apache.solr.client.solrj.io.stream.JDBCStream.open(JDBCStream.java:286)
at
org.apache.solr.client.solrj.io.stream.ExceptionStream.open(ExceptionStream.java:52)
{code}
Of course, if an application uses JDBC and {{describe table}} then they won't
see {{stringx}} so no harm no foul. However, some apps / users may know that
{{stringx}} is a field in the schema, leading to some mismatch in expectations
and results.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]