1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
Wed Feb 11 10:58:13 CET 1998
- Added '-d' option to turn on debugging.
- Added version number to ecpg.
- Made libecpg a shared library.
- All files are now installed by 'make install'.
- Added man page.
Thu Feb 12 14:45:07 CET 1998
- changed parser to correctly handle local variables.
Thu Feb 12 15:55:37 CET 1998
- allow static and extern variable definitions.
- free() variable structure completely.
Fri Feb 13 12:35:58 CET 1998
- ecpg can use structs to store data, but only if the complete
definition of the struct lies inside the sql declare section
and only simple types used.
Fre Feb 13 14:12:41 CET 1998
- struct definitions now work completely.
Mon Feb 16 16:17:21 CET 1998
- enable initialisation in declare section.
- connect call accepts a variable as well.
Wed Feb 18 21:41:30 CET 1998
- added whenever statement
Thu Feb 19 12:48:14 CET 1998
- added do option to whenever statement
Sat Feb 21 19:10:55 CET 1998
- use char[] as string not as array of bytes that is integers
Sun Feb 22 16:37:36 CET 1998
- use long for all size variables
- added execute immediate statement
Sun Feb 22 20:41:32 CET 1998
- use varcharsize = 1 for all simple types, 0 means pointer, > 1
means array if type is char resp. unsigned char
Thu Feb 24 12:26:12 CET 1998
- allow 'go to' in whenever statement as well as 'goto'
- new argument 'stop' for whenever statement
Wed Feb 25 15:46:50 CET 1998
- corrected whenever continue handling
- removed whenever break
Fri Feb 27 10:51:38 CET 1998
- corrected parser to accept '::int2'
Fri Feb 27 12:00:55 CET 1998
- removed all shift/reduce conflicts
- allow syntax 'fetch cursor' as well as 'fetch in cursor'
Fri Mar 13 11:37:16 CET 1998
- finished transaction handling, needs only one function in ecpglib now
old functions are still supported for compatibility
- set library to version 1.1.0
Fri Mar 13 13:35:13 CET 1998
- exec sql include includes files during parsing
- set parser to version 1.1.0
- added -I option to ecpg to set include path
Mon Mar 16 15:09:10 CET 1998
- fixed parser to print correct filename and line number
Wed Mar 18 14:28:49 CET 1998
- started working on indicator variables
Mon Mar 23 13:49:15 CET 1998
- fixed some bugs in indicator variable handling
- completely rewrote parser for fetch and insert statements
- indicator variables are also allowed in insert statements now
Mon Mar 23 16:09:05 CET 1998
- fixed whenever command goto to only allow valid lables
Thu Mar 26 13:33:02 MEZ 1998
- some minor bugfixes
Mon Apr 20 13:06:09 CEST 1998
- database name no longer has to entered as string constant, i.e.
just remove the '...' around the name
Mon Apr 20 14:38:45 CEST 1998
- both test cases compile cleanly
Mon Apr 20 16:13:25 CEST 1998
- Phew! Finally finished parser rewriting.
Mon Apr 20 16:39:23 CEST 1998
- Cursor is opened when the open command is issued, not at declare time.
- Set version to 2.0.0
Tue Apr 21 12:53:49 CEST 1998
- Set indicator to amount of data really written (truncation).
Thu Apr 23 09:27:16 CEST 1998
- Also allow call in whenever statement with the same functionality
as do.
Thu Apr 23 12:29:28 CEST 1998
- Also rewrote variable declaration part. It is now possible to
declare more than one variable per line.
- Set version to 2.1.0
Fri Apr 24 13:50:15 CEST 1998
- Fixed some bugs.
- Set version to 2.1.1
Mon Apr 27 14:26:55 CEST 1998
- Parser now able to understand and process syntax like :foo->bar
and :foo.bar as variables.
- Set version to 2.2.0
Tue Apr 28 14:48:41 CEST 1998
- Put operator "->" back into parser. Note that :foo->bar means the
C term, but :foo ->bar means the operator "->".
Tue Apr 28 15:49:07 CEST 1998
- Added exec sql disconnect command.
- Allow varchar in C to be written in uppercase too.
- Added whenever option "do break;"
Wed Apr 29 09:17:53 CEST 1998
- Corrected parsing of C comments.
- Also allow C++ style comments.
- Make sure not found is only checked after commands that could
return it.
- Added error codes, see ecpgerror.h for details.
- Added "exec sql <TransactionStmt> release" as disconnect statement
for compatibility issues.
Thu Apr 30 10:42:10 CEST 1998
- Added a -t option to disable automatic transaction start.
- Added sqlerrd[] to sqlca struct.
- Give back number of tuples affect in sqlca.sqlerrd[2].
Thu Apr 30 13:36:02 CEST 1998
- Make the return code different in case of different errors.
Wed May 6 11:42:48 CEST 1998
- Free memory if possible
- Some bugfixes for bugs I found while changing the memory
allocation code
- Now able to fill complete array with one call (see test1.pgc for
an example)
- Set version to 2.3.0
- Set library version to 2.1
Wed May 6 16:09:45 CEST 1998
- Some more cleanups in the library.
Thu May 7 12:34:28 CEST 1998
- Made CONNECT and DISCONNECT statement more SQL3 compliant.
- Changed the API for the ECPGconnect function to be able to handle
hostnames and ports
Fri May 8 13:54:45 CEST 1998
- More changes to the parser. The connect statement now allows
ORACLE style logins.
- db-name is accepted in two ways:
- <dbname>[@<server>][:<port>]
- esql:postgresql://<server>[:<port>][/<dbname>]
Mon May 11 10:28:37 CEST 1998
- Added '? options' to connect call.
- Also allow USING as keyword for the password
Thu May 14 15:09:58 CEST 1998
- Changed preproc.y and pgc.l according to the parser changes in the
backend.
Fri May 15 09:55:21 CEST 1998
- Added connection_name handling
Mon May 18 10:33:58 CEST 1998
- Fixed some more bugs
- Set version to 2.3.1
- Set library version to 2.2
Tue May 19 11:49:34 CEST 1998
- Tested (and fixed) 'set connection'
- Fixed string notation in C
Wed May 20 10:46:48 CEST 1998
- Fixed handling of preprocessor directives and variable
initialization.
- Added enum datatype.
- Set version to 2.3.2
Wed Jun 3 13:38:57 CEST 1998
- Made sqlca struct compatible with other systems.
- Give back a warning in case of truncation
- Changed the handling of OptimizableStmt since the old one broke
CREATE RULE
- Set library version to 2.3
- Set version to 2.3.3
Thu Jul 2 20:30:14 CEST 1998
- Changed new style db name to allow connection types "tcp" and
"unix" only
Tue Jul 7 15:14:14 CEST 1998
- Fixed some bugs in preproc.y
- Set version to 2.3.4
Mon Jul 27 17:13:11 CEST 1998
- Changed text of error message to make emacs happy
Mon Aug 3 17:23:18 CEST 1998
- Added latest changes from gram.y resp. scan.l to
preproc.y resp. pgc.l
- Fixed cursor handling
- Set version to 2.3.5
- Set library version to 2.4
Fri Aug 7 12:38:50 CEST 1998
- Fixed cursor handling once again
- Added support for variables in cursor
- Set version to 2.3.6
- Set library version to 2.5
Fri Aug 14 12:44:21 CEST 1998
- Added EXEC SQL DEFINE statement
- Set version to 2.4.0
Tue Aug 18 09:24:15 CEST 1998
- Removed keyword IS from DEFINE statement
- Added latest changes from gram.y
- Removed duplicate symbols from preproc.y
- Initialize sqlca structure
- Added check for connection to ecpglib
- Set version to 2.4.1
Thu Aug 20 15:31:29 CEST 1998
- Cleaned up memory allocation in ecpglib.c
- Set library version to 2.6
Wed Aug 26 16:17:39 CEST 1998
- Sync preproc.y with gram.y
Thu Aug 27 15:32:23 CEST 1998
- Fix some minor glitches that the AIX compiler complains about
- Added patchlevel to library
Fri Aug 28 15:36:58 CEST 1998
- Removed one line of code that AIX complains about since it was not
needed anyway
- Set library version to 2.6.1
Mon Aug 31 09:40:04 CEST 1998
- Minor patch to Makefile
- Put pgc.l in sync with scan.l
Tue Sep 1 11:31:05 CEST 1998
- Fixed another bug in preproc.y
Thu Sep 3 12:21:16 CEST 1998
- Sync preproc.y with gram.y
Mon Sep 14 09:21:02 CEST 1998
- Sync preproc.y with gram.y yet again
Thu Sep 17 08:55:33 CEST 1998
- Synced preproc.y and gram.y one more time
Thu Sep 17 19:23:24 CEST 1998
- Added missing ';' in preproc.y
- Set version to 2.4.2
Tue Sep 29 10:22:00 CEST 1998
- Check strdup calls for out of memory.
- Set library version to 2.6.2
Wed Sep 30 12:15:10 CEST 1998
- Synced preproc.y with gram.y yet again.
- Set version to 2.4.3
Mon Okt 12 12:36:04 CEST 1998
- Synced preproc.y with gram.y yet again.
Thu Okt 15 10:05:04 CEST 1998
- Synced preproc.y with gram.y yet again.
- Set version to 2.4.4
Wed Dec 9 20:24:54 MEZ 1998
- Synced preproc.y with gram.y and the keywords.c files to add CASE
statement.
Tue Dec 22 19:16:11 CET 1998
- Synced preproc.y with gram.y for locking statements.
- Set version to 2.4.5
Tue Jan 7 19:19:34 CET 1999
- Synced preproc.y with gram.y for for-update clause and changes in
handling of numerics
Mon Jan 18 19:22:44 CET 1999
- Added INTERSECT, EXCEPT and UNION for Select statements
- Put keywords.c in sync again after forgettimg it the last time.
Thu Jan 21 21:29:00 CET 1999
- Fixed libecpg to not segfault if there is no connection.
- Set library version to 2.6.3
- Added 'exec sql whenever sqlwarning'.
- Set ecpg version to 2.4.6
Wed Jan 27 12:42:22 CET 1999
- Fixed bug that caused ecpg to lose 'goto' information.
- Set ecpg version to 2.4.7
Fri Jan 29 18:03:52 CET 1999
- Fixed bug that caused 'enum' to be rejected in pure C code.
- Fixed bug that caused function names to be translated to lower case.
- Set ecpg version to 2.4.8
Tue Feb 2 07:40:52 CET 1999
- Brought preproc.y in sync again with gram.y.
- Set ecpg version to 2.4.9
Wed Feb 3 18:28:46 CET 1999
- Started working on PREPARE statement.
- Fixed typo in preproc that cause CREATE statement to not work
anymore.
Thu Feb 4 19:43:39 CET 1999
- Some parts of the PREPARE statement work now.
- Added EXECUTE command
- Added DEALLOCATE PREPARE command
Fri Feb 5 18:25:07 CET 1999
- PREPARE seems to be working okay now.
- Fixed some minor bugs.
- Renamed y.tab.* to preproc.*
Mon Feb 8 07:57:29 CET 1999
- Synced preproc.y with gram.y again.
- Allow ':<name>' as positional variable in prepare statement also.
You can still specify ';;' instead of course.
- Added TYPE statement.
- Set library version to 2.7.0
Tue Feb 9 07:07:11 CET 1999
- Synced preproc.y with gram.y.
Tue Feb 9 20:21:44 CET 1999
- Added FREE statement.
Wed Feb 10 07:51:09 CET 1999
- Synced keyword.c.
Sat Feb 13 10:44:43 CET 1999
- Added DECLARE STATEMENT for compatibility with Oracle. De facto
this statement does nothing.
- Added VAR statement.
Son Feb 14 11:36:04 CET 1999
- Added type 'enum' to TYPE and VAR statement.
- Allow ecpg keywords as datatypes.
Thu Feb 18 08:35:35 CET 1999
- Make sure indicator for array is array too.
Fri Feb 19 18:38:45 CET 1999
- Finished type aliasing for structures.
- Set ecpg version to 2.5.0
Fri Feb 19 21:40:14 CET 1999
- Fixed bug in libecpg that caused it to start transactions only for
the first connection.
- Set library version to 2.7.1
Son Feb 21 14:10:47 CET 1999
- Fixed variable detection in libecpg.
Mon Feb 22 19:47:45 CET 1999
- Added 'at <db_connection>' option to all commands it is apllicable
to. Due to changing the API of some libecpg functions this
requires me to increase the major version number of libecpg.
- Synced pgc.l with scan.l.
- Added support for unions.
Tue Feb 23 17:32:25 CET 1999
- Other than a struct a union itself cannot be specified as variable.
Fri Feb 26 07:18:25 CET 1999
- Synced preproc.y with gram.y.
Sat Feb 27 20:30:03 CET 1999
- Added automatic allocating for NULL pointers.
Mon Mar 1 20:16:24 CET 1999
- Fixed parser bug that caused it to miss some blanks during output.
Thu Mar 4 19:49:28 CET 1999
- Fixed bug in ecpglib.c that caused it to allocate to few memory.
- Switched memory allocation to calloc() to make sure memory is
cleared.
- Fixed varchar auto-allocating.
Sat Mar 6 14:06:07 CET 1999
- Replaced placeholder ';;' by '?' since this is what standard says.
Mon Mar 8 17:07:14 CET 1999
- Corrected include directives to not include backend stuff.
Tue Mar 9 17:26:28 CET 1999
- Synced preproc.y with gram.y.
Sun Mar 14 15:44:18 CET 1999
- Synced preproc.y with gram.y.
Thu Mar 18 18:57:31 CET 1999
- Synced preproc.y with gram.y.
- Added '%' operator.
Thu Mar 18 19:44:10 CET 1999
- Added ECPGstatus() function.
- Cleaned up some error messages.
Fri Mar 19 08:49:32 CET 1999
- Synced preproc.y with gram.y.
- Synced keywords.c.
- Synced pgc.l with scan.l.
Sat Mar 20 19:57:42 CET 1999
- Synced preproc.y with gram.y.
- Fixed handling of ';' character.
Sun Mar 21 13:05:50 CET 1999
- Synced preproc.y with gram.y.
Mon Mar 22 19:22:38 CET 1999
- Fixed incorrect password entry in parser.
- Made no_auto_trans available for each connection seperately.
Sat Apr 10 20:10:50 CEST 1999
- Allow ecpg handle a floating point constants.
- Fix ecpg runtime library memory leak (patch by Masaaki Sakaida).
Mon Apr 12 17:56:14 CEST 1999
- Fixed ECPG variable handling.
- Make no_auto_trans be accessible via SET command.
- Do not eat comments so line numbering should be correct.
Wed Apr 14 17:59:06 CEST 1999
- Added simple calculations for array bounds.
Fri Apr 16 18:25:18 CEST 1999
- Fixed small bug in ECPGfinish().
Sat Apr 24 12:39:07 CEST 1999
- Synced preproc.y with gram.y.
- Allow more than one blank between EXEC and SQL.
- Allow statements to be prepared from a character string, too.
Fri May 7 07:11:38 CEST 1999
- Synced preproc.y with gram.y.
- Fixed small bug in parser.
Thu May 13 13:51:26 CEST 1999
- Synced preproc.y with gram.y.
Mon May 17 18:13:30 CEST 1999
- Synced preproc.y with gram.y.
Fri May 21 18:13:44 CEST 1999
- Synced preproc.y with gram.y.
Sun May 23 11:19:32 CEST 1999
- Add braces around each statement so that a simple if/else works.
Thu Jun 10 21:09:12 CEST 1999
- Fixed typo in preproc.y.
- Synced pgc.l with scan.l.
Wed Jun 16 20:21:42 CEST 1999
- Fixed another typo in preproc.y.
Thu Jun 24 18:06:43 CEST 1999
- Fixed C comment bug that caused ecpg to not accept quoted quotes.
Fri Jun 25 07:17:10 CEST 1999
- Changed error message in ecpglib.c to list correct database name.
- Set library version to 3.0.0
- Set ecpg version to 2.6.0
Mon Jul 19 07:53:20 CEST 1999
- Synced preproc.y with gram.y.
- Synced pgc.l with scan.l.
- Fixed quoting bug in ecpglib.c
- Set ecpg version to 2.6.1
- Set library version to 3.0.1
Sun Aug 1 13:31:19 CEST 1999
- Synced preproc.y with gram.y.
- Set ecpg version to 2.6.2
Tue Sep 14 22:26:40 CEST 1999
- Added patch by Andreas Theofilu <theofilu@eunet.at> to fix yet
another quoting bug.
- Minor bugfixes to ecpg
- Return OID in sqlca.sqlerrd[1] if possible.
- Set ecpg version to 2.6.3
- Set library version to 3.0.2