Re: largeobjects deadlock ?

Поиск
Список
Период
Сортировка
От andy petrella
Тема Re: largeobjects deadlock ?
Дата
Msg-id 7159e12c0510251742y79d58679l@mail.gmail.com
обсуждение исходный текст
Ответ на largeobjects deadlock ?  (andy petrella <andy.petrella@gmail.com>)
Список pgsql-jdbc
Oh, finally it seems rigth but my problem comes with the insertion in a function written in plpgsql... so how may I do to insert a bytea receive with an ROW ?

          CREATE  OR      REPLACE FUNCTION
          rule_dvd        (FICHES.DVD)
          RETURNS INT
          AS      $Func$
          DECLARE
           fiche_dvd       ALIAS FOR $1;

[...]

           INSERT INTO INFORMATIONS.FILMS
                                (
                                        id,
                                        titre_o,
                                        titre_f,
                                        sortie,
                                        affiche,
                                        duree,
                                        genre,
                                        resume,
                                        visites,
                                        cote,
                                        imdb
                                )
                        VALUES
                                (
                                        default,
                                        fiche_dvd.titre_o,
                                        fiche_dvd.titre_f,                                       
                                        fiche_dvd.sortie,
                                        fiche_dvd.affiche, //??????????????
                                        fiche_dvd.duree,
                                        fiche_dvd.genre,
                                        fiche_dvd.resume,
                                        1,
                                        0,
                                        fiche_dvd.imdb
                                );                         

[...]

I think that's my problem... but how can I do else ?



Thx (and apologize my english...)

andy



2005/10/26, andy petrella <andy.petrella@gmail.com>:
HI all,

I have somme problem with largeobjects setting in a preparedstatement, here is the code with the problem in comment // :

[...]
            db.setAutoCommit(false);
[...]          
            LargeObjectManager lobj = pgdb.getLargeObjectAPI(); //pgdb is a PGConnection
            int loid = lobj.create();
            System.out.println("loid : " + loid); //this give 359648
            LargeObject image = lobj.open(loid);
            int s, count = 0;
            byte buf[] = new byte[2048];
            while ((s = affiche.read(buf, 0, buf.length)) > 0){ //affiche is an InputStream
                count += s;
                image.write(buf, 0, s);
            }
            BlobInputStream b = new BlobInputStream(image);
            addDVD.setBinaryStream(4, b, count); //addDVD is an PreparedStatement
            //addDVD.setNull(4, java.sql.Types.BINARY); // --> all work well if I decomment this and comment the preceding
            image.close();
            affiche.close();
[...]
            System.out.println("addDVD : " + addDVD.toString()); // <stream of 6503 bytes> for the fourth prm (bytea)
           
            int update = addDVD.executeUpdate(); // -->deadlocking here !!!
            System.out.println("update = " + update); //never pass here
            db.setAutoCommit(true);
[...]

Am I setting the bytea in the rigth manner ? Else, how may I do that , where are my mistakes ?

Thx u all.

andy




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

Предыдущее
От: andy petrella
Дата:
Сообщение: largeobjects deadlock ?
Следующее
От: Dave Cramer
Дата:
Сообщение: Re: XADataSource interface