howto declare variable sized array w esql

Поиск
Список
Период
Сортировка
От Jeffrey Graham
Тема howto declare variable sized array w esql
Дата
Msg-id 3D05FC0B.8090609@titan.com
обсуждение исходный текст
Список pgsql-interfaces
Hello everyone,

Can someone please tell me how to declare an array of double (float8) 
using esql  when you
don't know how long the array is until runtime?

I have the code work for a fixed length of 10, but at run-time I might only
put 2 values or there could just as easily be 100 or 200 or 5000!

I tried several variations declaring my array as a pointer, but ecpg did 
not like
any of my attempts.

If I must and it someone can confirm, I guess I could declare the array 
as some fixed
max size and then save just the slice? How to do that?



Thanks,
Jeff


Here is some code I am trying:

void    myinsert(const std::vector<double>& myVector)          {          EXEC SQL BEGIN DECLARE SECTION;
           /* this would be ideal but ecpg does not like it */           /* double          m_data[myVector.length()];
*/
          /* This works but length might actually be 1 or 200! */          double          m_data[10];
          EXEC SQL END   DECLARE SECTION;
      /* stuff the sql array with data from my stl vector */      for ( unsigned int i=0; i < myVector.length(); i++ )
           m_data[i] = myVector[i];
 
      EXEC SQL              insert into eraDATA                    ( data )              VALUES(  :m_data );
returnsqlOK();      }
 





В списке pgsql-interfaces по дате отправления:

Предыдущее
От: Friedrich Dodt
Дата:
Сообщение: Re: Where is PLbash ??
Следующее
От: Jeffrey Graham
Дата:
Сообщение: How to use embedded sql to define an array