influxdata / influxdata/influxdb-java
Query with different time format does not work if database is not specified.
- Lingua principale
- Java
- Stelle
- 1.2k
- Fork
- 469
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
If you do not specify database in query (even thou you have specified database on the client level) method InfluxDBl#query(Query, TimeUnit) will not return any result because it will not send database information.
Steps to reproduce:
```java
InfluxDB influxDB = InfluxDBFactory.connect(host + ":" + port);
influxDB.setDatabase(database);
// queryResult will be empty.
QueryResult queryResult = influxDB.query(new Query("..."), TimeUnit.NANOSECONDS)
```
Quick fix:
```java
InfluxDB influxDB = InfluxDBFactory.connect(host + ":" + port);
influxDB.setDatabase(database);
// queryResult will be empty.
QueryResult queryResult = influxDB.query(new Query("...", "database"), TimeUnit.NANOSECONDS)
```
Permanent fix:
Change into "InfluxDBImpl#query(Query, TimeUnit)" into:
```java
public QueryResult query(final Query query, final TimeUnit timeUnit) {
String db = query.getDatabase();
if (db == null) {
db = this.database;
}
Call call = null;
if (query instanceof BoundParameterQuery) {
BoundParameterQuery boundParameterQuery = (BoundParameterQuery) query;
call = this.influxDBService.query(db,
TimeUtil.toTimePrecision(timeUnit), query.getCommandWithUrlEncoded(),
boundParameterQuery.getParameterJsonWithUrlEncoded());
} else {
call = this.influxDBService.query(db,
TimeUtil.toTimePrecision(timeUnit), query.getCommandWithUrlEncoded());
}
return executeQuery(call);
}
```
Here database information is taken from client level if not given in query object.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia da InfluxDBImpl#query(Query, TimeUnit) e verifica come Query.getDatabase() e il database configurato a livello client vengono passati a influxDBService.query. Verifica il comportamento sia di Query normale sia di BoundParameterQuery. Il lavoro è completato quando una query senza un proprio database utilizza il database configurato sul client e restituisce i risultati con la precisione temporale richiesta.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- database
- Tipo di issue
- Bug
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Stato di attività
- Ferma
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 48/100