Version 1.5.2a of libpqtypes which contains a few critical bug fixes on top of official version 1.5.1
710 lines
23 KiB
Diff
710 lines
23 KiB
Diff
Index: ChangeLog
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/ChangeLog,v
|
|
retrieving revision 1.64
|
|
retrieving revision 1.67
|
|
diff -r1.64 -r1.67
|
|
10a11,36
|
|
> (NOT RELEASED), v1.5.2
|
|
> - BUG: Fixed putting binary empty strings. Previously, the string was
|
|
> incorrectly converted to SQL NULLs, but now are properly packed and
|
|
> transmitted.
|
|
> - Reported by: Dmitry Epstein
|
|
> - FEATURE: Added ability to put SQL NULLs for int2, int4, int8, float4, float8,
|
|
> numeric,"char", bool and money types. This is accomplished by using
|
|
> the type-spec pointer flag "*" and allowing these types to be passed as
|
|
> pointers:
|
|
> >>
|
|
> int *i = NULL;
|
|
> if(something_is_true)
|
|
> *i = 10;
|
|
> PQputf(param, "%int4*", i);
|
|
> >>
|
|
> Before this change, the use of "*" flag for these types was ignored
|
|
> and passing any of them as pointers was not allowed.
|
|
> - Requested by: Dmitry Epstein and several on stackoverflow.
|
|
> http://stackoverflow.com/questions/18684331/passing-sql-null-as-a-sql-statement-parameter-value-using-the-postgresql-libpqty
|
|
> - Updated Copyright statement from 2011 to 2008 - 2015, affected all source
|
|
> code and man page files.
|
|
> - Update an example within docs/man3/PQputf.3 to include putting a NULL
|
|
> using the pass-by-pointer type-specifier flag '*'.
|
|
> - Updated docs/man3/pqt-specs.3 to include documentation in regard to putting
|
|
> NULLs using the pass-by-pointer flag.
|
|
>
|
|
19c45
|
|
< TLS key for each thread's error structure. For whatever reason,
|
|
---
|
|
> TLS key for each thread's error structure. For whatever reason,
|
|
Index: LICENSE
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/LICENSE,v
|
|
retrieving revision 1.3
|
|
retrieving revision 1.4
|
|
diff -r1.3 -r1.4
|
|
5c5
|
|
< Copyright (c) 2009 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
20c20
|
|
< AND ESILO, LLC. HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
|
|
---
|
|
> AND ESILO, LLC. HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
|
|
Index: docs/man3/PQexecf.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQexecf.3,v
|
|
retrieving revision 1.6
|
|
retrieving revision 1.8
|
|
diff -r1.6 -r1.8
|
|
1c1
|
|
< .TH "PQexecf" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "PQexecf" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
96c96
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/PQgeterror.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQgeterror.3,v
|
|
retrieving revision 1.8
|
|
retrieving revision 1.10
|
|
diff -r1.8 -r1.10
|
|
1c1
|
|
< .TH "PQgeterror" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "PQgeterror" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
49c49
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/PQgetf.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQgetf.3,v
|
|
retrieving revision 1.9
|
|
retrieving revision 1.11
|
|
diff -r1.9 -r1.11
|
|
1c1
|
|
< .TH "PQgetf" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "PQgetf" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
97c97
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/PQinitTypes.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQinitTypes.3,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -r1.1 -r1.3
|
|
1c1
|
|
< .TH PQinitTypes 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH PQinitTypes 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
47c47
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/PQlocalTZInfo.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQlocalTZInfo.3,v
|
|
retrieving revision 1.5
|
|
retrieving revision 1.7
|
|
diff -r1.5 -r1.7
|
|
1c1
|
|
< .TH "PQlocalTZInfo" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "PQlocalTZInfo" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
59c59
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/PQparamCreate.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQparamCreate.3,v
|
|
retrieving revision 1.9
|
|
retrieving revision 1.11
|
|
diff -r1.9 -r1.11
|
|
1c1
|
|
< .TH "PQparamCreate" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "PQparamCreate" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
69c69
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/PQparamExec.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQparamExec.3,v
|
|
retrieving revision 1.6
|
|
retrieving revision 1.8
|
|
diff -r1.6 -r1.8
|
|
1c1
|
|
< .TH "PQparamExec" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "PQparamExec" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
99c99
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/PQparamSendQuery.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQparamSendQuery.3,v
|
|
retrieving revision 1.4
|
|
retrieving revision 1.6
|
|
diff -r1.4 -r1.6
|
|
1c1
|
|
< .TH "PQparamSendQuery" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "PQparamSendQuery" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
82c82
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/PQputf.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQputf.3,v
|
|
retrieving revision 1.9
|
|
retrieving revision 1.11
|
|
diff -r1.9 -r1.11
|
|
1c1
|
|
< .TH "PQputf" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "PQputf" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
47c47,49
|
|
< The example uses \fIPQputf\fP() to put a couple parameters into a PGparam.
|
|
---
|
|
> The example uses \fIPQputf\fP() to put a few parameters into a PGparam. Note
|
|
> that the last parameter puts an SQL NULL as an int4 using the pass-by-pointer
|
|
> type-specifier pointer flag '*', rather than pass-by-value.
|
|
52a55
|
|
> PGint4 *i4ptr = NULL;
|
|
55c58
|
|
< if(!PQputf(param, "%text %int8", text, i8))
|
|
---
|
|
> if(!PQputf(param, "%text %int8 %int4*", text, i8, i4ptr))
|
|
110c113
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/PQregisterComposites.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQregisterComposites.3,v
|
|
retrieving revision 1.3
|
|
retrieving revision 1.5
|
|
diff -r1.3 -r1.5
|
|
1c1
|
|
< .TH "PQregisterComposites" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "PQregisterComposites" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
72c72
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/PQregisterResult.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQregisterResult.3,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -r1.1 -r1.3
|
|
1c1
|
|
< .TH "PQregisterResult" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "PQregisterResult" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
112c112
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/PQregisterSubClasses.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQregisterSubClasses.3,v
|
|
retrieving revision 1.2
|
|
retrieving revision 1.4
|
|
diff -r1.2 -r1.4
|
|
1c1
|
|
< .TH "PQregisterSubClasses" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "PQregisterSubClasses" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
54c54
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/PQregisterTypes.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQregisterTypes.3,v
|
|
retrieving revision 1.2
|
|
retrieving revision 1.4
|
|
diff -r1.2 -r1.4
|
|
1c1
|
|
< .TH "PQregisterTypes" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "PQregisterTypes" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
81c81
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/PQregisterUserDefinedTypes.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQregisterUserDefinedTypes.3,v
|
|
retrieving revision 1.3
|
|
retrieving revision 1.5
|
|
diff -r1.3 -r1.5
|
|
1c1
|
|
< .TH "PQregisterUserDefinedTypes" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "PQregisterUserDefinedTypes" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
74c74
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/PQspecPrepare.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQspecPrepare.3,v
|
|
retrieving revision 1.13
|
|
retrieving revision 1.15
|
|
diff -r1.13 -r1.15
|
|
1c1
|
|
< .TH "PQspecPrepare" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "PQspecPrepare" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
115c115
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/PQtypesRegister.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/PQtypesRegister.3,v
|
|
retrieving revision 1.5
|
|
retrieving revision 1.7
|
|
diff -r1.5 -r1.7
|
|
1c1
|
|
< .TH PQtypesRegister 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH PQtypesRegister 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
45c45
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/pqt-composites.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/pqt-composites.3,v
|
|
retrieving revision 1.8
|
|
retrieving revision 1.10
|
|
diff -r1.8 -r1.10
|
|
1c1
|
|
< .TH "pqt-composites" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "pqt-composites" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
256c256
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/pqt-handlers.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/pqt-handlers.3,v
|
|
retrieving revision 1.12
|
|
retrieving revision 1.14
|
|
diff -r1.12 -r1.14
|
|
1c1
|
|
< .TH "pqt-handlers" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "pqt-handlers" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
155c155
|
|
< /* The memory behind the 'attDescs' pointer when the number of
|
|
---
|
|
> /* The memory behind the 'attDescs' pointer when the number of
|
|
591c591
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: docs/man3/pqt-specs.3
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/docs/man3/pqt-specs.3,v
|
|
retrieving revision 1.14
|
|
retrieving revision 1.16
|
|
diff -r1.14 -r1.16
|
|
1c1
|
|
< .TH "pqt-specs" 3 2011 "libpqtypes" "libpqtypes Manual"
|
|
---
|
|
> .TH "pqt-specs" 3 2008-2015 "libpqtypes" "libpqtypes Manual"
|
|
78,81c78,83
|
|
< * This is called the pointer flag. It is only supported on a
|
|
< handful of builtin types during a \fIPQputf(3)\fP, but user registered
|
|
< types can provide support for them. Supported types are:
|
|
< VARCHAR, BPCHAR, TEXT, BYTEA, NAME and the pqt.str.
|
|
---
|
|
> * This is called the pass-by-pointer flag. It is supported by all
|
|
> builtin types during a \fIPQputf(3)\fP. For integer, bool, money and
|
|
> "char" types (scalars), one can omit this flag to pass-by-value. For
|
|
> all other types, omitting this flag has no effect; they are always
|
|
> passed by pointer and thus this flag is not needed for things like
|
|
> text, timestamp, uuid, etc..
|
|
85c87,90
|
|
< it.
|
|
---
|
|
> it. For scalars (ints, bool, etc..), this tell libpqtypes
|
|
> to dereference the pointer to get the value. However, an upside
|
|
> is that you can pass in a C NULL for the scalar pointer and it
|
|
> will produce an SQL NULL when put.
|
|
112c117,119
|
|
< type, it will be silently truncated.
|
|
---
|
|
> type, it will be silently truncated. Note the use of the pass-by-pointer
|
|
> flag being used for the last two arguments, allowing you to easily put
|
|
> an SQL NULL for any numeric type.
|
|
116,117c123,125
|
|
< PQputf(param, "%int2 %int4 %int8 %float4 %float8",
|
|
< SHRT_MAX, INT_MAX, LLONG_MAX, 1234.56, 123456.789);\fP
|
|
---
|
|
> PGint2 i2 = 10;
|
|
> PQputf(param, "%int2 %int4 %int8 %float4 %float8 %int2* %int8*",
|
|
> SHRT_MAX, INT_MAX, LLONG_MAX, 1234.56, 123456.789, &i2, NULL);\fP
|
|
305c313
|
|
< PQputf(param, "%char %char", 213, c);\fP
|
|
---
|
|
> PQputf(param, "%char %char %char*", 213, c, NULL);\fP
|
|
1106c1114
|
|
< Putting a money value:
|
|
---
|
|
> Putting a money value (put two money values, one is an SQL NULL):
|
|
1111c1119
|
|
< PQputf(param, "%money", money);
|
|
---
|
|
> PQputf(param, "%money %money*", money, NULL);
|
|
1128c1136
|
|
< Putting a bool value:
|
|
---
|
|
> Putting a bool value (this puts true and a bool SQL NULL):
|
|
1133c1141
|
|
< PQputf(param, "%bool", b);
|
|
---
|
|
> PQputf(param, "%bool %bool*", b, NULL);
|
|
1206c1214
|
|
< Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: src/array.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/array.c,v
|
|
retrieving revision 1.11
|
|
retrieving revision 1.13
|
|
diff -r1.11 -r1.13
|
|
6c6
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: src/datetime.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/datetime.c,v
|
|
retrieving revision 1.12
|
|
retrieving revision 1.14
|
|
diff -r1.12 -r1.14
|
|
7c7
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: src/error.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/error.c,v
|
|
retrieving revision 1.24
|
|
retrieving revision 1.26
|
|
diff -r1.24 -r1.26
|
|
10c10
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: src/events.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/events.c,v
|
|
retrieving revision 1.16
|
|
retrieving revision 1.18
|
|
diff -r1.16 -r1.18
|
|
6c6
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: src/exec.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/exec.c,v
|
|
retrieving revision 1.25
|
|
retrieving revision 1.27
|
|
diff -r1.25 -r1.27
|
|
6c6
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: src/geo.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/geo.c,v
|
|
retrieving revision 1.11
|
|
retrieving revision 1.13
|
|
diff -r1.11 -r1.13
|
|
6c6
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: src/handler.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/handler.c,v
|
|
retrieving revision 1.29
|
|
retrieving revision 1.31
|
|
diff -r1.29 -r1.31
|
|
6c6
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: src/libpqtypes-int.h
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/libpqtypes-int.h,v
|
|
retrieving revision 1.23
|
|
retrieving revision 1.25
|
|
diff -r1.23 -r1.25
|
|
7c7
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: src/libpqtypes.h
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/libpqtypes.h,v
|
|
retrieving revision 1.35
|
|
retrieving revision 1.37
|
|
diff -r1.35 -r1.37
|
|
6c6
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: src/misc.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/misc.c,v
|
|
retrieving revision 1.10
|
|
retrieving revision 1.13
|
|
diff -r1.10 -r1.13
|
|
6c6
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
17c17,30
|
|
< *args->put.out = (PGchar) va_arg(args->ap, int);
|
|
---
|
|
> PGchar c;
|
|
>
|
|
> if (args->is_ptr)
|
|
> {
|
|
> PGchar *ptr = (PGchar *) va_arg(args->ap, PGchar *);
|
|
> PUTNULLCHK(args, ptr);
|
|
> c = *ptr;
|
|
> }
|
|
> else
|
|
> {
|
|
> c = (PGchar) va_arg(args->ap, int);
|
|
> }
|
|
>
|
|
> *args->put.out = c;
|
|
34c47,60
|
|
< *args->put.out = ((char) va_arg(args->ap, PGbool)!=0) ? 1 : 0;
|
|
---
|
|
> char b;
|
|
>
|
|
> if (args->is_ptr)
|
|
> {
|
|
> PGbool *ptr = (PGbool *) va_arg(args->ap, PGbool *);
|
|
> PUTNULLCHK(args, ptr);
|
|
> b = (char) *ptr;
|
|
> }
|
|
> else
|
|
> {
|
|
> b = (char) va_arg(args->ap, PGbool);
|
|
> }
|
|
>
|
|
> *args->put.out = b != 0 ? 1 : 0;
|
|
56c82
|
|
< PGmoney money = va_arg(args->ap, PGmoney);
|
|
---
|
|
> PGmoney money;
|
|
58a85,95
|
|
> if (args->is_ptr)
|
|
> {
|
|
> PGmoney *ptr = va_arg(args->ap, PGmoney *);
|
|
> PUTNULLCHK(args, ptr);
|
|
> money = *ptr;
|
|
> }
|
|
> else
|
|
> {
|
|
> money = va_arg(args->ap, PGmoney);
|
|
> }
|
|
>
|
|
Index: src/network.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/network.c,v
|
|
retrieving revision 1.10
|
|
retrieving revision 1.12
|
|
diff -r1.10 -r1.12
|
|
6c6
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: src/numerics.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/numerics.c,v
|
|
retrieving revision 1.11
|
|
retrieving revision 1.14
|
|
diff -r1.11 -r1.14
|
|
6c6
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
70c70,82
|
|
< PGint2 n = (PGint2) va_arg(args->ap, int);
|
|
---
|
|
> PGint2 n;
|
|
>
|
|
> if (args->is_ptr)
|
|
> {
|
|
> PGint4 *nptr = va_arg(args->ap, PGint4 *);
|
|
> PUTNULLCHK(args, nptr);
|
|
> n = (PGint2) *nptr;
|
|
> }
|
|
> else
|
|
> {
|
|
> n = (PGint2) va_arg(args->ap, PGint4);
|
|
> }
|
|
>
|
|
103c115,127
|
|
< PGint4 n = va_arg(args->ap, PGint4);
|
|
---
|
|
> PGint4 n;
|
|
>
|
|
> if (args->is_ptr)
|
|
> {
|
|
> PGint4 *nptr = va_arg(args->ap, PGint4 *);
|
|
> PUTNULLCHK(args, nptr);
|
|
> n = *nptr;
|
|
> }
|
|
> else
|
|
> {
|
|
> n = (PGint4) va_arg(args->ap, PGint4);
|
|
> }
|
|
>
|
|
136c160,172
|
|
< PGint8 i8 = va_arg(args->ap, PGint8);
|
|
---
|
|
> PGint8 i8;
|
|
>
|
|
> if (args->is_ptr)
|
|
> {
|
|
> PGint8 *nptr = va_arg(args->ap, PGint8 *);
|
|
> PUTNULLCHK(args, nptr);
|
|
> i8 = *nptr;
|
|
> }
|
|
> else
|
|
> {
|
|
> i8 = va_arg(args->ap, PGint8);
|
|
> }
|
|
>
|
|
163,164c199,211
|
|
< PGfloat4 f = (PGfloat4) va_arg(args->ap, double);
|
|
< void *vp = (void *)&f;
|
|
---
|
|
> void *vp;
|
|
>
|
|
> if (args->is_ptr)
|
|
> {
|
|
> vp = (void *) va_arg(args->ap, double *);
|
|
> PUTNULLCHK(args, vp);
|
|
> }
|
|
> else
|
|
> {
|
|
> PGfloat4 f = (PGfloat4) va_arg(args->ap, double);
|
|
> vp = (void *)&f;
|
|
> }
|
|
>
|
|
196c243,255
|
|
< PGfloat8 d = va_arg(args->ap, PGfloat8);
|
|
---
|
|
> PGfloat8 d;
|
|
>
|
|
> if (args->is_ptr)
|
|
> {
|
|
> PGfloat8 *ptr = (PGfloat8 *) va_arg(args->ap, PGfloat8 *);
|
|
> PUTNULLCHK(args, ptr);
|
|
> d = *ptr;
|
|
> }
|
|
> else
|
|
> {
|
|
> d = va_arg(args->ap, PGfloat8);
|
|
> }
|
|
>
|
|
234a294,295
|
|
> PUTNULLCHK(args, str);
|
|
>
|
|
Index: src/param.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/param.c,v
|
|
retrieving revision 1.23
|
|
retrieving revision 1.27
|
|
diff -r1.23 -r1.27
|
|
6c6
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
415a416,424
|
|
> else if (datal == 0)
|
|
> {
|
|
> /* BUG FIX: allows putting empty strings in binary mode. Without this,
|
|
> * empty strings would be converted to an SQL NULL.
|
|
> * Reported by: Dmitry Epstein
|
|
> */
|
|
> static char zero[1] = {0};
|
|
> v->data = zero;
|
|
> }
|
|
Index: src/port.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/port.c,v
|
|
retrieving revision 1.8
|
|
retrieving revision 1.10
|
|
diff -r1.8 -r1.10
|
|
7c7
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: src/record.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/record.c,v
|
|
retrieving revision 1.9
|
|
retrieving revision 1.11
|
|
diff -r1.9 -r1.11
|
|
6c6
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: src/spec.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/spec.c,v
|
|
retrieving revision 1.10
|
|
retrieving revision 1.12
|
|
diff -r1.10 -r1.12
|
|
6c6
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: src/utils.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/utils.c,v
|
|
retrieving revision 1.11
|
|
retrieving revision 1.13
|
|
diff -r1.11 -r1.13
|
|
6c6
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|
|
Index: src/varlena.c
|
|
===================================================================
|
|
RCS file: /var/lib/gforge/chroot/cvsroot/libpqtypes/libpqtypes/src/varlena.c,v
|
|
retrieving revision 1.6
|
|
retrieving revision 1.8
|
|
diff -r1.6 -r1.8
|
|
6c6
|
|
< * Copyright (c) 2011 eSilo, LLC. All rights reserved.
|
|
---
|
|
> * Copyright (c) 2008-2015 eSilo, LLC. All rights reserved.
|