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]

Reply via email to