Skip to content

Get Rows Polling trigger: converts column name to lowercase when executes query to DB #110

@HannaTrotsenko

Description

@HannaTrotsenko

Component Bug Report

Description

Link to slack conversation - https://elasticio.slack.com/archives/G8YQQ9PMM/p1738684624105259

I have table with column name Time, but during retrieving sample looks like component makes request with time

Component Version

2.5.9

Steps to Reproduce

  1. Create flow and select trigger Get Rows Polling
  2. Use this credentials to connect to DB https://vault.bitwarden.com/#/vault?search=neon&itemId=2e1e8dc9-da09-4f40-9a79-b27a00ffee7b&action=view
  3. Tables List - public.person; Timestamp (or similar) Column - Time
  4. Retrieve sample

Actual Result

Error! org.postgresql.util.PSQLException: ERROR: column "time" does not exist Hint: Perhaps you meant to reference the column "person.Time". Position: 124

logs

java.lang.RuntimeException: org.postgresql.util.PSQLException: ERROR: column "time" does not exist
  Hint: Perhaps you meant to reference the column "person.Time".
  Position: 124
	at io.elastic.jdbc.triggers.GetRowsPollingTrigger.execute(GetRowsPollingTrigger.java:92)
	at io.elastic.sailor.impl.MessageProcessorImpl.processMessage(MessageProcessorImpl.java:69)
	at io.elastic.sailor.impl.MessageConsumer.lambda$handleDelivery$0(MessageConsumer.java:79)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:750)
Caused by: org.postgresql.util.PSQLException: ERROR: column "time" does not exist
  Hint: Perhaps you meant to reference the column "person.Time".
  Position: 124
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2676)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2366)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:356)
	at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:496)
	at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:413)
	at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:190)
	at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:134)
	at io.elastic.jdbc.query_builders.Query.getRowsExecutePolling(Query.java:289)
	at io.elastic.jdbc.query_builders.PostgreSQL.executePolling(PostgreSQL.java:39)
	at io.elastic.jdbc.triggers.GetRowsPollingTrigger.execute(GetRowsPollingTrigger.java:73)
	... 7 more

Expected Result

Component must query Time column

Workaround(s)

[Any known workaround(s) to circumvent the above issue]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Ready For ToDoTask can be mooved to BacklogbugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions