Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
29259531
Commit
29259531
authored
May 25, 2010
by
Michael Meskes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Replace self written 'long long int' configure test by standard 'AC_TYPE_LONG_LONG_INT' macro call.
parent
9b6dba11
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
201 additions
and
119 deletions
+201
-119
config/c-compiler.m4
config/c-compiler.m4
+1
-16
configure
configure
+154
-57
configure.in
configure.in
+2
-2
src/include/pg_config.h.in
src/include/pg_config.h.in
+2
-2
src/interfaces/ecpg/ecpglib/data.c
src/interfaces/ecpg/ecpglib/data.c
+11
-11
src/interfaces/ecpg/ecpglib/descriptor.c
src/interfaces/ecpg/ecpglib/descriptor.c
+5
-5
src/interfaces/ecpg/ecpglib/execute.c
src/interfaces/ecpg/ecpglib/execute.c
+9
-9
src/interfaces/ecpg/ecpglib/misc.c
src/interfaces/ecpg/ecpglib/misc.c
+9
-9
src/interfaces/ecpg/include/ecpg_config.h.in
src/interfaces/ecpg/include/ecpg_config.h.in
+3
-3
src/interfaces/ecpg/preproc/ecpg.trailer
src/interfaces/ecpg/preproc/ecpg.trailer
+5
-5
No files found.
config/c-compiler.m4
View file @
29259531
# Macros to detect C compiler features
# $PostgreSQL: pgsql/config/c-compiler.m4,v 1.2
1 2010/05/25 14:32:55
meskes Exp $
# $PostgreSQL: pgsql/config/c-compiler.m4,v 1.2
2 2010/05/25 17:28:20
meskes Exp $
# PGAC_C_SIGNED
...
...
@@ -156,18 +156,3 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([extern void $2 (); void (*fptr) () = $2;],[])],
AC_MSG_RESULT(assuming no)])
])# PGAC_PROG_CC_LDFLAGS_OPT
# PGAC_C_LONG_LONG
# ----------------
# Check if the C compiler understands long long type.
AC_DEFUN([PGAC_C_LONG_LONG],
[AC_CACHE_CHECK(for long long type, pgac_cv_c_long_long,
[AC_TRY_COMPILE([],
[long long l;],
[pgac_cv_c_long_long=yes],
[pgac_cv_c_long_long=no])])
if test x"$pgac_cv_c_long_long" = xyes ; then
AC_DEFINE(HAVE_LONG_LONG, 1, [Define to 1 if the C compiler does understand long long type.])
fi])# PGAC_C_LONG_LONG
configure
View file @
29259531
...
...
@@ -2008,6 +2008,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_aux_dir
=
for
ac_dir
in
config
"
$srcdir
"
/config
;
do
if
test
-f
"
$ac_dir
/install-sh"
;
then
...
...
@@ -14693,63 +14694,6 @@ cat >>confdefs.h <<\_ACEOF
#define signed /**/
_ACEOF
fi
{
$as_echo
"
$as_me
:
$LINENO
: checking for long long type"
>
&5
$as_echo_n
"checking for long long type... "
>
&6
;
}
if
test
"
${
pgac_cv_c_long_long
+set
}
"
=
set
;
then
$as_echo_n
"(cached) "
>
&6
else
cat
>
conftest.
$ac_ext
<<
_ACEOF
/* confdefs.h. */
_ACEOF
cat
confdefs.h
>>
conftest.
$ac_ext
cat
>>
conftest.
$ac_ext
<<
_ACEOF
/* end confdefs.h. */
int
main ()
{
long long l;
;
return 0;
}
_ACEOF
rm
-f
conftest.
$ac_objext
if
{
(
ac_try
=
"
$ac_compile
"
case
"((
$ac_try
"
in
*
\"
*
|
*
\`
*
|
*
\\
*
)
ac_try_echo
=
\$
ac_try
;;
*
)
ac_try_echo
=
$ac_try
;;
esac
eval
ac_try_echo
=
"
\"\$
as_me:
$LINENO
:
$ac_try_echo
\"
"
$as_echo
"
$ac_try_echo
"
)
>
&5
(
eval
"
$ac_compile
"
)
2>conftest.er1
ac_status
=
$?
grep
-v
'^ *+'
conftest.er1
>
conftest.err
rm
-f
conftest.er1
cat
conftest.err
>
&5
$as_echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
&&
{
test
-z
"
$ac_c_werror_flag
"
||
test
!
-s
conftest.err
}
&&
test
-s
conftest.
$ac_objext
;
then
pgac_cv_c_long_long
=
yes
else
$as_echo
"
$as_me
: failed program was:"
>
&5
sed
's/^/| /'
conftest.
$ac_ext
>
&5
pgac_cv_c_long_long
=
no
fi
rm
-f
core conftest.err conftest.
$ac_objext
conftest.
$ac_ext
fi
{
$as_echo
"
$as_me
:
$LINENO
: result:
$pgac_cv_c_long_long
"
>
&5
$as_echo
"
$pgac_cv_c_long_long
"
>
&6
;
}
if
test
x
"
$pgac_cv_c_long_long
"
=
xyes
;
then
cat
>>
confdefs.h
<<
\
_ACEOF
#define HAVE_LONG_LONG 1
_ACEOF
fi
{
$as_echo
"
$as_me
:
$LINENO
: checking for working volatile"
>
&5
$as_echo_n
"checking for working volatile... "
>
&6
;
}
...
...
@@ -16505,6 +16449,159 @@ fi
{
$as_echo
"
$as_me
:
$LINENO
: checking for long long int"
>
&5
$as_echo_n
"checking for long long int... "
>
&6
;
}
if
test
"
${
ac_cv_type_long_long_int
+set
}
"
=
set
;
then
$as_echo_n
"(cached) "
>
&6
else
cat
>
conftest.
$ac_ext
<<
_ACEOF
/* confdefs.h. */
_ACEOF
cat
confdefs.h
>>
conftest.
$ac_ext
cat
>>
conftest.
$ac_ext
<<
_ACEOF
/* end confdefs.h. */
/* For now, do not test the preprocessor; as of 2007 there are too many
implementations with broken preprocessors. Perhaps this can
be revisited in 2012. In the meantime, code should not expect
#if to work with literals wider than 32 bits. */
/* Test literals. */
long long int ll = 9223372036854775807ll;
long long int nll = -9223372036854775807LL;
unsigned long long int ull = 18446744073709551615ULL;
/* Test constant expressions. */
typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
? 1 : -1)];
typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
? 1 : -1)];
int i = 63;
int
main ()
{
/* Test availability of runtime routines for shift and division. */
long long int llmax = 9223372036854775807ll;
unsigned long long int ullmax = 18446744073709551615ull;
return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
| (llmax / ll) | (llmax % ll)
| (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
| (ullmax / ull) | (ullmax % ull));
;
return 0;
}
_ACEOF
rm
-f
conftest.
$ac_objext
conftest
$ac_exeext
if
{
(
ac_try
=
"
$ac_link
"
case
"((
$ac_try
"
in
*
\"
*
|
*
\`
*
|
*
\\
*
)
ac_try_echo
=
\$
ac_try
;;
*
)
ac_try_echo
=
$ac_try
;;
esac
eval
ac_try_echo
=
"
\"\$
as_me:
$LINENO
:
$ac_try_echo
\"
"
$as_echo
"
$ac_try_echo
"
)
>
&5
(
eval
"
$ac_link
"
)
2>conftest.er1
ac_status
=
$?
grep
-v
'^ *+'
conftest.er1
>
conftest.err
rm
-f
conftest.er1
cat
conftest.err
>
&5
$as_echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
&&
{
test
-z
"
$ac_c_werror_flag
"
||
test
!
-s
conftest.err
}
&&
test
-s
conftest
$ac_exeext
&&
{
test
"
$cross_compiling
"
=
yes
||
$as_test_x
conftest
$ac_exeext
}
;
then
if
test
"
$cross_compiling
"
=
yes
;
then
ac_cv_type_long_long_int
=
yes
else
cat
>
conftest.
$ac_ext
<<
_ACEOF
/* confdefs.h. */
_ACEOF
cat
confdefs.h
>>
conftest.
$ac_ext
cat
>>
conftest.
$ac_ext
<<
_ACEOF
/* end confdefs.h. */
#include <limits.h>
#ifndef LLONG_MAX
# define HALF
\
(1LL << (sizeof (long long int) * CHAR_BIT - 2))
# define LLONG_MAX (HALF - 1 + HALF)
#endif
int
main ()
{
long long int n = 1;
int i;
for (i = 0; ; i++)
{
long long int m = n << i;
if (m >> i != n)
return 1;
if (LLONG_MAX / 2 < m)
break;
}
return 0;
;
return 0;
}
_ACEOF
rm
-f
conftest
$ac_exeext
if
{
(
ac_try
=
"
$ac_link
"
case
"((
$ac_try
"
in
*
\"
*
|
*
\`
*
|
*
\\
*
)
ac_try_echo
=
\$
ac_try
;;
*
)
ac_try_echo
=
$ac_try
;;
esac
eval
ac_try_echo
=
"
\"\$
as_me:
$LINENO
:
$ac_try_echo
\"
"
$as_echo
"
$ac_try_echo
"
)
>
&5
(
eval
"
$ac_link
"
)
2>&5
ac_status
=
$?
$as_echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
&&
{
ac_try
=
'./conftest$ac_exeext'
{
(
case
"((
$ac_try
"
in
*
\"
*
|
*
\`
*
|
*
\\
*
)
ac_try_echo
=
\$
ac_try
;;
*
)
ac_try_echo
=
$ac_try
;;
esac
eval
ac_try_echo
=
"
\"\$
as_me:
$LINENO
:
$ac_try_echo
\"
"
$as_echo
"
$ac_try_echo
"
)
>
&5
(
eval
"
$ac_try
"
)
2>&5
ac_status
=
$?
$as_echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
;
}
;
then
ac_cv_type_long_long_int
=
yes
else
$as_echo
"
$as_me
: program exited with status
$ac_status
"
>
&5
$as_echo
"
$as_me
: failed program was:"
>
&5
sed
's/^/| /'
conftest.
$ac_ext
>
&5
(
exit
$ac_status
)
ac_cv_type_long_long_int
=
no
fi
rm
-rf
conftest.dSYM
rm
-f
core
*
.core core.conftest.
*
gmon.out bb.out conftest
$ac_exeext
conftest.
$ac_objext
conftest.
$ac_ext
fi
else
$as_echo
"
$as_me
: failed program was:"
>
&5
sed
's/^/| /'
conftest.
$ac_ext
>
&5
ac_cv_type_long_long_int
=
no
fi
rm
-rf
conftest.dSYM
rm
-f
core conftest.err conftest.
$ac_objext
conftest_ipa8_conftest.oo
\
conftest
$ac_exeext
conftest.
$ac_ext
fi
{
$as_echo
"
$as_me
:
$LINENO
: result:
$ac_cv_type_long_long_int
"
>
&5
$as_echo
"
$ac_cv_type_long_long_int
"
>
&6
;
}
if
test
$ac_cv_type_long_long_int
=
yes
;
then
cat
>>
confdefs.h
<<
\
_ACEOF
#define HAVE_LONG_LONG_INT 1
_ACEOF
fi
{
$as_echo
"
$as_me
:
$LINENO
: checking for struct cmsgcred"
>
&5
$as_echo_n
"checking for struct cmsgcred... "
>
&6
;
}
if
test
"
${
ac_cv_type_struct_cmsgcred
+set
}
"
=
set
;
then
...
...
configure.in
View file @
29259531
dnl Process this file with autoconf to produce a configure script.
dnl $PostgreSQL: pgsql/configure.in,v 1.62
8 2010/05/25 14:32:54
meskes Exp $
dnl $PostgreSQL: pgsql/configure.in,v 1.62
9 2010/05/25 17:28:20
meskes Exp $
dnl
dnl Developers, please strive to achieve this order:
dnl
...
...
@@ -1090,7 +1090,6 @@ AC_C_CONST
PGAC_C_INLINE
AC_C_STRINGIZE
PGAC_C_SIGNED
PGAC_C_LONG_LONG
AC_C_VOLATILE
PGAC_C_FUNCNAME_SUPPORT
PGAC_STRUCT_TIMEZONE
...
...
@@ -1101,6 +1100,7 @@ PGAC_STRUCT_SOCKADDR_STORAGE_MEMBERS
PGAC_STRUCT_ADDRINFO
AC_TYPE_INTPTR_T
AC_TYPE_UINTPTR_T
AC_TYPE_LONG_LONG_INT
AC_CHECK_TYPES([struct cmsgcred, struct fcred, struct sockcred], [], [],
[#include <sys/param.h>
...
...
src/include/pg_config.h.in
View file @
29259531
...
...
@@ -330,8 +330,8 @@
/* Define to 1 if `long int' works and is 64 bits. */
#undef HAVE_LONG_INT_64
/* Define to 1 if the
C compiler does understand long long type
. */
#undef HAVE_LONG_LONG
/* Define to 1 if the
system has the type `long long int'
. */
#undef HAVE_LONG_LONG
_INT
/* Define to 1 if `long long int' works and is 64 bits. */
#undef HAVE_LONG_LONG_INT_64
...
...
src/interfaces/ecpg/ecpglib/data.c
View file @
29259531
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/data.c,v 1.5
2 2010/05/20 22:10:45
meskes Exp $ */
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/data.c,v 1.5
3 2010/05/25 17:28:20
meskes Exp $ */
#define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h"
...
...
@@ -177,12 +177,12 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
case
ECPGt_unsigned_long
:
*
((
long
*
)
(
ind
+
ind_offset
*
act_tuple
))
=
value_for_indicator
;
break
;
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
case
ECPGt_long_long
:
case
ECPGt_unsigned_long_long
:
*
((
long
long
int
*
)
(
ind
+
ind_offset
*
act_tuple
))
=
value_for_indicator
;
break
;
#endif
/* HAVE_LONG_LONG */
#endif
/* HAVE_LONG_LONG
_INT
*/
case
ECPGt_NO_INDICATOR
:
if
(
value_for_indicator
==
-
1
)
{
...
...
@@ -265,12 +265,12 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
case
ECPGt_unsigned_long
:
*
((
long
*
)
(
ind
+
ind_offset
*
act_tuple
))
=
size
;
break
;
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
case
ECPGt_long_long
:
case
ECPGt_unsigned_long_long
:
*
((
long
long
int
*
)
(
ind
+
ind_offset
*
act_tuple
))
=
size
;
break
;
#endif
/* HAVE_LONG_LONG */
#endif
/* HAVE_LONG_LONG
_INT
*/
default:
break
;
}
...
...
@@ -350,7 +350,7 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
}
break
;
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
#ifdef HAVE_STRTOLL
case
ECPGt_long_long
:
*
((
long
long
int
*
)
(
var
+
offset
*
act_tuple
))
=
strtoll
(
pval
,
&
scan_length
,
10
);
...
...
@@ -376,7 +376,7 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
break
;
#endif
/* HAVE_STRTOULL */
#endif
/* HAVE_LONG_LONG */
#endif
/* HAVE_LONG_LONG
_INT
*/
case
ECPGt_float
:
case
ECPGt_double
:
...
...
@@ -489,12 +489,12 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
case
ECPGt_unsigned_long
:
*
((
long
*
)
(
ind
+
ind_offset
*
act_tuple
))
=
size
;
break
;
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
case
ECPGt_long_long
:
case
ECPGt_unsigned_long_long
:
*
((
long
long
int
*
)
(
ind
+
ind_offset
*
act_tuple
))
=
size
;
break
;
#endif
/* HAVE_LONG_LONG */
#endif
/* HAVE_LONG_LONG
_INT
*/
default:
break
;
}
...
...
@@ -534,12 +534,12 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
case
ECPGt_unsigned_long
:
*
((
long
*
)
(
ind
+
offset
*
act_tuple
))
=
variable
->
len
;
break
;
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
case
ECPGt_long_long
:
case
ECPGt_unsigned_long_long
:
*
((
long
long
int
*
)
(
ind
+
ind_offset
*
act_tuple
))
=
variable
->
len
;
break
;
#endif
/* HAVE_LONG_LONG */
#endif
/* HAVE_LONG_LONG
_INT
*/
default:
break
;
}
...
...
src/interfaces/ecpg/ecpglib/descriptor.c
View file @
29259531
/* dynamic SQL support routines
*
* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/descriptor.c,v 1.3
7 2010/05/20 22:10:45
meskes Exp $
* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/descriptor.c,v 1.3
8 2010/05/25 17:28:20
meskes Exp $
*/
#define POSTGRES_ECPG_INTERNAL
...
...
@@ -127,14 +127,14 @@ get_int_item(int lineno, void *var, enum ECPGttype vartype, int value)
case
ECPGt_unsigned_long
:
*
(
unsigned
long
*
)
var
=
(
unsigned
long
)
value
;
break
;
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
case
ECPGt_long_long
:
*
(
long
long
int
*
)
var
=
(
long
long
int
)
value
;
break
;
case
ECPGt_unsigned_long_long
:
*
(
unsigned
long
long
int
*
)
var
=
(
unsigned
long
long
int
)
value
;
break
;
#endif
/* HAVE_LONG_LONG */
#endif
/* HAVE_LONG_LONG
_INT
*/
case
ECPGt_float
:
*
(
float
*
)
var
=
(
float
)
value
;
break
;
...
...
@@ -172,14 +172,14 @@ set_int_item(int lineno, int *target, const void *var, enum ECPGttype vartype)
case
ECPGt_unsigned_long
:
*
target
=
*
(
unsigned
long
*
)
var
;
break
;
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
case
ECPGt_long_long
:
*
target
=
*
(
long
long
int
*
)
var
;
break
;
case
ECPGt_unsigned_long_long
:
*
target
=
*
(
unsigned
long
long
int
*
)
var
;
break
;
#endif
/* HAVE_LONG_LONG */
#endif
/* HAVE_LONG_LONG
_INT
*/
case
ECPGt_float
:
*
target
=
*
(
float
*
)
var
;
break
;
...
...
src/interfaces/ecpg/ecpglib/execute.c
View file @
29259531
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/execute.c,v 1.9
6 2010/05/20 22:10:45
meskes Exp $ */
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/execute.c,v 1.9
7 2010/05/25 17:28:20
meskes Exp $ */
/*
* The aim is to get a simpler inteface to the database routines.
...
...
@@ -541,13 +541,13 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari
if
(
*
(
long
*
)
var
->
ind_value
<
0L
)
*
tobeinserted_p
=
NULL
;
break
;
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
case
ECPGt_long_long
:
case
ECPGt_unsigned_long_long
:
if
(
*
(
long
long
int
*
)
var
->
ind_value
<
(
long
long
)
0
)
*
tobeinserted_p
=
NULL
;
break
;
#endif
/* HAVE_LONG_LONG */
#endif
/* HAVE_LONG_LONG
_INT
*/
case
ECPGt_NO_INDICATOR
:
if
(
force_indicator
==
false
)
{
...
...
@@ -679,7 +679,7 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari
*
tobeinserted_p
=
mallocedval
;
break
;
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
case
ECPGt_long_long
:
if
(
!
(
mallocedval
=
ecpg_alloc
(
asize
*
30
,
lineno
)))
return
false
;
...
...
@@ -689,12 +689,12 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari
strcpy
(
mallocedval
,
"array ["
);
for
(
element
=
0
;
element
<
asize
;
element
++
)
sprintf
(
mallocedval
+
strlen
(
mallocedval
),
"%lld,"
,
((
long
long
*
)
var
->
value
)[
element
]);
sprintf
(
mallocedval
+
strlen
(
mallocedval
),
"%lld,"
,
((
long
long
int
*
)
var
->
value
)[
element
]);
strcpy
(
mallocedval
+
strlen
(
mallocedval
)
-
1
,
"]"
);
}
else
sprintf
(
mallocedval
,
"%lld"
,
*
((
long
long
*
)
var
->
value
));
sprintf
(
mallocedval
,
"%lld"
,
*
((
long
long
int
*
)
var
->
value
));
*
tobeinserted_p
=
mallocedval
;
break
;
...
...
@@ -708,16 +708,16 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari
strcpy
(
mallocedval
,
"array ["
);
for
(
element
=
0
;
element
<
asize
;
element
++
)
sprintf
(
mallocedval
+
strlen
(
mallocedval
),
"%llu,"
,
((
unsigned
long
long
*
)
var
->
value
)[
element
]);
sprintf
(
mallocedval
+
strlen
(
mallocedval
),
"%llu,"
,
((
unsigned
long
long
int
*
)
var
->
value
)[
element
]);
strcpy
(
mallocedval
+
strlen
(
mallocedval
)
-
1
,
"]"
);
}
else
sprintf
(
mallocedval
,
"%llu"
,
*
((
unsigned
long
long
*
)
var
->
value
));
sprintf
(
mallocedval
,
"%llu"
,
*
((
unsigned
long
long
int
*
)
var
->
value
));
*
tobeinserted_p
=
mallocedval
;
break
;
#endif
/* HAVE_LONG_LONG */
#endif
/* HAVE_LONG_LONG
_INT
*/
case
ECPGt_float
:
if
(
!
(
mallocedval
=
ecpg_alloc
(
asize
*
25
,
lineno
)))
return
false
;
...
...
src/interfaces/ecpg/ecpglib/misc.c
View file @
29259531
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.5
7 2010/05/20 22:10:46
meskes Exp $ */
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.5
8 2010/05/25 17:28:20
meskes Exp $ */
#define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h"
...
...
@@ -17,15 +17,15 @@
#include "pgtypes_interval.h"
#include "pg_config_paths.h"
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
#ifndef LONG_LONG_MIN
#ifdef LLONG_MIN
#define LONG_LONG_MIN LLONG_MIN
#else
#define LONG_LONG_MIN LONGLONG_MIN
#endif
#endif
#endif
#endif
/* LLONG_MIN */
#endif
/* LONG_LONG_MIN */
#endif
/* HAVE_LONG_LONG_INT */
bool
ecpg_internal_regression_mode
=
false
;
...
...
@@ -327,12 +327,12 @@ ECPGset_noind_null(enum ECPGttype type, void *ptr)
case
ECPGt_date
:
*
((
long
*
)
ptr
)
=
LONG_MIN
;
break
;
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
case
ECPGt_long_long
:
case
ECPGt_unsigned_long_long
:
*
((
long
long
*
)
ptr
)
=
LONG_LONG_MIN
;
break
;
#endif
/* HAVE_LONG_LONG */
#endif
/* HAVE_LONG_LONG
_INT
*/
case
ECPGt_float
:
memset
((
char
*
)
ptr
,
0xff
,
sizeof
(
float
));
break
;
...
...
@@ -399,13 +399,13 @@ ECPGis_noind_null(enum ECPGttype type, void *ptr)
if
(
*
((
long
*
)
ptr
)
==
LONG_MIN
)
return
true
;
break
;
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
case
ECPGt_long_long
:
case
ECPGt_unsigned_long_long
:
if
(
*
((
long
long
*
)
ptr
)
==
LONG_LONG_MIN
)
return
true
;
break
;
#endif
/* HAVE_LONG_LONG */
#endif
/* HAVE_LONG_LONG
_INT
*/
case
ECPGt_float
:
return
(
_check
(
ptr
,
sizeof
(
float
)));
break
;
...
...
src/interfaces/ecpg/include/ecpg_config.h.in
View file @
29259531
...
...
@@ -4,6 +4,9 @@
/* Define to 1 if `long int' works and is 64 bits. */
#undef HAVE_LONG_INT_64
/* Define to 1 if the system has the type `long long int'. */
#undef HAVE_LONG_LONG_INT
/* Define to 1 if `long long int' works and is 64 bits. */
#undef HAVE_LONG_LONG_INT_64
...
...
@@ -15,6 +18,3 @@
* (--enable-thread-safety) */
#undef ENABLE_THREAD_SAFETY
/* Define to 1 if the C compiler does understand long long type. */
#undef HAVE_LONG_LONG
src/interfaces/ecpg/preproc/ecpg.trailer
View file @
29259531
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg.trailer,v 1.2
5 2010/05/20 22:10:46
meskes Exp $ */
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg.trailer,v 1.2
6 2010/05/25 17:28:20
meskes Exp $ */
statements: /*EMPTY*/
| statements statement
...
...
@@ -781,7 +781,7 @@ unsigned_type: SQL_UNSIGNED SQL_SHORT { $$ = ECPGt_unsigned_short; }
| SQL_UNSIGNED SQL_LONG INT_P { $$ = ECPGt_unsigned_long; }
| SQL_UNSIGNED SQL_LONG SQL_LONG
{
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
$$ = ECPGt_unsigned_long_long;
#else
$$ = ECPGt_unsigned_long;
...
...
@@ -789,7 +789,7 @@ unsigned_type: SQL_UNSIGNED SQL_SHORT { $$ = ECPGt_unsigned_short; }
}
| SQL_UNSIGNED SQL_LONG SQL_LONG INT_P
{
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
$$ = ECPGt_unsigned_long_long;
#else
$$ = ECPGt_unsigned_long;
...
...
@@ -805,7 +805,7 @@ signed_type: SQL_SHORT { $$ = ECPGt_short; }
| SQL_LONG INT_P { $$ = ECPGt_long; }
| SQL_LONG SQL_LONG
{
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
$$ = ECPGt_long_long;
#else
$$ = ECPGt_long;
...
...
@@ -813,7 +813,7 @@ signed_type: SQL_SHORT { $$ = ECPGt_short; }
}
| SQL_LONG SQL_LONG INT_P
{
#ifdef HAVE_LONG_LONG
#ifdef HAVE_LONG_LONG
_INT
$$ = ECPGt_long_long;
#else
$$ = ECPGt_long;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment