-
- Downloads
Attached is a patch implementing factorial(), returning numeric. Points
to note: 1) arttype is numeric. I thought this was the best way of allowing arbitarily large factorials, even though factorial(2^63) is a large number. Happy to change to integers if this is overkill. 2) since we're accepting numeric arguments, the patch tests for floats. If a numeric is passed with non-zero decimal portion, an error is raised since (from memory) they are undefined. Gavin Sherry
Showing
- src/backend/utils/adt/int.c 2 additions, 36 deletionssrc/backend/utils/adt/int.c
- src/backend/utils/adt/int8.c 1 addition, 21 deletionssrc/backend/utils/adt/int8.c
- src/backend/utils/adt/numeric.c 50 additions, 1 deletionsrc/backend/utils/adt/numeric.c
- src/include/catalog/pg_operator.h 3 additions, 7 deletionssrc/include/catalog/pg_operator.h
- src/include/catalog/pg_proc.h 3 additions, 14 deletionssrc/include/catalog/pg_proc.h
- src/include/utils/builtins.h 2 additions, 3 deletionssrc/include/utils/builtins.h
- src/include/utils/int8.h 1 addition, 2 deletionssrc/include/utils/int8.h
- src/test/regress/expected/create_operator.out 6 additions, 8 deletionssrc/test/regress/expected/create_operator.out
- src/test/regress/sql/create_operator.sql 6 additions, 8 deletionssrc/test/regress/sql/create_operator.sql
Loading
Please register or sign in to comment