4 EXEC SQL include ../regression;
6 EXEC SQL BEGIN DECLARE SECTION;
14 EXEC SQL END DECLARE SECTION;
19 EXEC SQL BEGIN DECLARE SECTION;
22 char *data = "\\001\\155\\000\\212";
23 EXEC SQL END DECLARE SECTION;
26 ECPGdebug (1, stderr);
29 EXEC SQL connect to REGRESSDB1;
32 printf ("connect error = %ld\n", sqlca.sqlcode);
36 EXEC SQL set bytea_output = escape;
39 printf ("set bytea_output error = %ld\n", sqlca.sqlcode);
43 EXEC SQL create table empl
44 (idnum integer, name char (20), accs smallint, byte bytea);
47 printf ("create error = %ld\n", sqlca.sqlcode);
51 EXEC SQL insert into empl values (1, 'first user', 320, :data);
54 printf ("insert error = %ld\n", sqlca.sqlcode);
58 EXEC SQL DECLARE C CURSOR FOR select name, accs, byte from empl where idnum =:empl.idnum;
60 EXEC SQL FETCH C INTO:empl.name,:empl.accs,:empl.byte;
63 printf ("fetch error = %ld\n", sqlca.sqlcode);
67 printf ("name=%s, accs=%d byte=%s\n", empl.name, empl.accs, empl.byte);
71 memset(empl.name, 0, 21L);
72 EXEC SQL DECLARE B BINARY CURSOR FOR select name, accs, byte from empl where idnum =:empl.idnum;
74 EXEC SQL FETCH B INTO :empl.name,:empl.accs,:empl.byte;
77 printf ("fetch error = %ld\n", sqlca.sqlcode);
83 /* do not print a.accs because big/little endian will have different outputs here */
84 printf ("name=%s, byte=", empl.name);
86 printf("(%o)", (unsigned char)empl.byte[i]);
89 EXEC SQL DECLARE A BINARY CURSOR FOR select byte from empl where idnum =:empl.idnum;
91 EXEC SQL FETCH A INTO :pointer;
94 printf ("fetch error = %ld\n", sqlca.sqlcode);
102 printf("(%o)", (unsigned char)pointer[i]);