Comments (6)
For the future reader : in postgres, sum aggregate function determine its type as following (per docs https://www.postgresql.org/docs/current/static/functions-aggregate.html) :
bigint for smallint or int arguments, numeric for bigint arguments, otherwise the same as the argument data type
So even if you don't expect bigints or numerics from you db, you are likely to get ones soon or late if you use sum() and you should probably cast bigint and numerics as explained in the readme of this repo
from node-pg-types.
1700 should be a number (
node-pg-types/lib/binaryParsers.js
Line 129 in 5f379d2
https://www.postgresql.org/docs/current/static/datatype-oid.html
from node-pg-types.
Yes, I've checked with the following query:
select attname, atttypid from pg_attribute
where attrelid = 'myTable'::regclass and attname = 'myColumn';
and the atttypid of 'myColumn' is definitely 1700.
Could this be a bug in node-postgres rather than in node-pg-types ?
from node-pg-types.
Actually I misread the source. Here's the test:
Lines 43 to 50 in 5f379d2
numeric should be returned as a string:
The type numeric can store numbers with a very large number of digits and perform calculations exactly. It is especially recommended for storing monetary amounts and other quantities where exactness is required. However, arithmetic on numeric values is very slow compared to the integer types, or to the floating-point types described in the next section.
https://www.postgresql.org/docs/9.3/static/datatype-numeric.html
from node-pg-types.
Ah yes, I saw the test too, thx a lot.
Are you open to a PR to update the docs in order to clarify this ?
from node-pg-types.
Happy to review a PR. The thinking behind the bigint example is that it's returned from the count
and so a lot of people encounter it without realizing and without ever using a non-JS-safe type in their schema. That wouldn't be true of this case but if you can find a concise way to note it we can add something.
from node-pg-types.
Related Issues (20)
- Parser not working for bigint values HOT 3
- Can I customize type parsing per query? HOT 3
- please throw when oid is nullish HOT 1
- Reuse postgres-bytea HOT 6
- Releasing the latest changes HOT 4
- parsing postgres box type? HOT 2
- should handle null values HOT 1
- overriding a type parser HOT 1
- Does full text search with to_tsquery work ? HOT 1
- Is the Date parsing fix in the current pg release? HOT 1
- How to import pg-types using ES6 syntax? HOT 2
- Not able to use with modules HOT 1
- +num over parseInt(num, 10) HOT 1
- Changelog with breaking changes? HOT 1
- Add support for parsing RECORD types (OIDs 2249 and 2287) HOT 3
- Can this package be used in the browser? HOT 2
- Tracking down geometry oids HOT 3
- Readme. What number represents what type. HOT 2
- types.setTypeParser(types.builtins.DATE) does not work
- Numeric values are parsed as strings but arrays of numerics are parsed as number arrays HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-pg-types.