Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-5519

Update and Delete with WHERE clause not working for delimited flat file(header true)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Can't Do
    • Icon: Major Major
    • None
    • 9.1.3
    • None
    • None
    • Hide

      1.create header true file on ftp say TRANSACTION_DTL_new.txt

      2.File contain data given below:
      acct_number,product_type,prod_desc
      123,Sports,sports related prod
      124,Beauty,beauty related prod

      3.Now execute

       UPDATE flatfileDeli.TRANSACTION_DTL_new SET TRANSACTION_DTL_new.product_type='sports' where TRANSACTION_DTL_new.acct_number='123';
      

      where 'flatfileDeli' is connection name.
      It throws error:
      TEIID30253 Source UPDATE or DELETE command "UPDATE flatfileDeli.TRANSACTION_DTL_new SET acct_number = ? WHERE flatfileDeli.TRANSACTION_DTL_new.product_type = ?" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.

      4.But if execute query -

      UPDATE flatfileDeli.TRANSACTION_DTL_new SET TRANSACTION_DTL_new.product_type='sports'
      

      It works fine and update records as expected

      Show
      1.create header true file on ftp say TRANSACTION_DTL_new.txt 2.File contain data given below: acct_number,product_type,prod_desc 123,Sports,sports related prod 124,Beauty,beauty related prod 3.Now execute UPDATE flatfileDeli.TRANSACTION_DTL_new SET TRANSACTION_DTL_new.product_type= 'sports' where TRANSACTION_DTL_new.acct_number= '123' ; where 'flatfileDeli' is connection name. It throws error: TEIID30253 Source UPDATE or DELETE command "UPDATE flatfileDeli.TRANSACTION_DTL_new SET acct_number = ? WHERE flatfileDeli.TRANSACTION_DTL_new.product_type = ?" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates. 4.But if execute query - UPDATE flatfileDeli.TRANSACTION_DTL_new SET TRANSACTION_DTL_new.product_type= 'sports' It works fine and update records as expected

      Hi Team,

      I have observed that in case of header true delimited flatfiles for FTP/SFTP, we are unable to execute update/delete query with where clause. We are able to execute simple queries(without where clause) on Header True files succesfully. Adding to the same, we are able to execute queries succesfully in case of Delimited Header false flat files and Fixed width Flat files.

      Given below is the query along with error message.
      Query -

      UPDATE flatfileDeli.TRANSACTION_DTL_new SET TRANSACTION_DTL_new.product_type='sports' where TRANSACTION_DTL_new.acct_number='123';
      

      Error Message -
      TEIID30253 Source UPDATE or DELETE command "UPDATE flatfileDeli.TRANSACTION_DTL_new SET acct_number = ? WHERE flatfileDeli.TRANSACTION_DTL_new.product_type = ?" contains non-pushdown constructs and no compensating action can be taken as the table lacks a unique key or the source does not support equality predicates.

            rhn-engineering-shawkins Steven Hawkins
            manojma Manoj Majumdar (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: