diff options
author | Bruce Momjian <bruce@momjian.us> | 1999-10-11 18:03:04 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1999-10-11 18:03:04 +0000 |
commit | ad869fcb88ac46d164cce0abc88a0b01cb7bcefc (patch) | |
tree | 5250f6633ef7bb842d9a88aa99af01e4b9c72be7 /src/interfaces/libpgeasy/examples/pginsert.c | |
parent | 0e839dbbdde7189fc145e34e7fdf884c325c26d5 (diff) | |
download | postgresql-ad869fcb88ac46d164cce0abc88a0b01cb7bcefc.tar.gz postgresql-ad869fcb88ac46d164cce0abc88a0b01cb7bcefc.zip |
pgeasy update.
Diffstat (limited to 'src/interfaces/libpgeasy/examples/pginsert.c')
-rw-r--r-- | src/interfaces/libpgeasy/examples/pginsert.c | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/src/interfaces/libpgeasy/examples/pginsert.c b/src/interfaces/libpgeasy/examples/pginsert.c new file mode 100644 index 00000000000..7cb2cf5b268 --- /dev/null +++ b/src/interfaces/libpgeasy/examples/pginsert.c @@ -0,0 +1,101 @@ +/* + * insert.c + * +*/ + +#include <stdio.h> +#include <time.h> +#include <libpq-fe.h> +#include "halt.h" +#include "pgeasy.h" + +int +main(int argc, char **argv) +{ + char query[4000]; + int row = 1; + int aint; + float afloat; + double adouble; + char achar[11], + achar16[17], + abpchar[11], + avarchar[51], + atext[51]; + time_t aabstime; + + if (argc != 2) + halt("Usage: %s database\n", argv[0]); + + connectdb(argv[1], NULL, NULL, NULL, NULL); + + on_error_continue(); + doquery("DROP TABLE testfetch"); + on_error_stop(); + + doquery("\ + CREATE TABLE testfetch( \ + aint int4, \ + afloat float4, \ + adouble float8, \ + achar char, \ + achar16 char16, \ + abpchar char(10), \ + avarchar varchar(50), \ + atext text, \ + aabstime abstime) \ + "); + + while (1) + { + sprintf(query, "INSERT INTO testfetch VALUES ( \ + %d, \ + 2322.12, \ + '923121.0323'::float8, \ + 'A', \ + 'Betty', \ + 'Charley', \ + 'Doug', \ + 'Ernie', \ + 'now' )", row); + doquery(query); + + doquery("BEGIN WORK"); + doquery("DECLARE c_testfetch BINARY CURSOR FOR \ + SELECT * FROM testfetch"); + + doquery("FETCH ALL IN c_testfetch"); + + while (fetch( + &aint, + &afloat, + &adouble, + achar, + achar16, + abpchar, + avarchar, + atext, + &aabstime) != END_OF_TUPLES) + printf("int %d\nfloat %f\ndouble %f\nchar %s\nchar16 %s\n\ +bpchar %s\nvarchar %s\ntext %s\nabstime %s", + aint, + afloat, + adouble, + achar, + achar16, + abpchar, + avarchar, + atext, + ctime(&aabstime)); + + + doquery("CLOSE c_testfetch"); + doquery("COMMIT WORK"); + printf("--- %-d rows inserted so far\n", row); + + row++; + } + + disconnectdb(); + return 0; +} |