Skip to content

About Influx storage type conversion #1005

Open

Description

@fishered

hello!I'm having a problem
I used influx version 1.X and see write point storage type:

    @SuppressWarnings("checkstyle:finalparameters")
        @Deprecated
        public Builder field(final String field, Object value) {
          if (value instanceof Number) {
            if (value instanceof Byte) {
              value = ((Byte) value).doubleValue();
            } else if (value instanceof Short) {
              value = ((Short) value).doubleValue();
            } else if (value instanceof Integer) {
              value = ((Integer) value).doubleValue();
            } else if (value instanceof Long) {
              value = ((Long) value).doubleValue();
            } else if (value instanceof BigInteger) {
              value = ((BigInteger) value).doubleValue();
            }
          }
          fields.put(field, value);
          return this;
        }

so insert data , All data will be converted to Double, InfluxDBResultMapper entity type must be Double
my dependency:

 <dependency>
            <groupId>org.influxdb</groupId>
            <artifactId>influxdb-java</artifactId>
            <version>2.22</version>
        </dependency>
I want to use Mapper to convert to an entity Is there any other way I can use other types?

Activity

  1. eranl commented on May 17, 2024

    @eranl
    Contributor

    Hi @fishered, I'm not sure I understand the issue. Please see the relevant manual section, and let me know if it answers your question.

  2. fishered commented on May 21, 2024

    @fishered
    Author

    I'm sorry I didn't find what I was looking for, Currently my influx version is 1. X ,In influxdb-java:2.22 I found out: Builder field.
    If the type in my POJO is Float or BigDecimal, Converting to double will cause the problem of losing accuracy,
    So What should I do?

    for Example :
    @column(name="voltage")
    private Float voltage;

    Because the store converts the Float to a Double, Accuracy is lost when fetched @eranl

  3. eranl commented on Jun 3, 2024

    @eranl
    Contributor

    @fishered, double has higher precision than float.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions