Adding upstream version 1.7.3+dfsg.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
c602fa6d8a
commit
842cb2c6bd
79 changed files with 31786 additions and 0 deletions
100
FUNCTIONS.md
Normal file
100
FUNCTIONS.md
Normal file
|
@ -0,0 +1,100 @@
|
|||
# PacketQ SQL functions
|
||||
|
||||
## Grouping functions
|
||||
|
||||
Grouping function either groups the whole result or the result specified
|
||||
by `group by`.
|
||||
|
||||
### COUNT(wildcard)
|
||||
|
||||
Counts occurrences within a group.
|
||||
|
||||
### AVG(num)
|
||||
|
||||
Calculates the average of all `num` within a group.
|
||||
|
||||
### SUM(num)
|
||||
|
||||
Calculates the sum of all `num` within a group.
|
||||
|
||||
### MIN(num)
|
||||
|
||||
Calculates the minimum of all `num` within a group.
|
||||
|
||||
### MAX(num)
|
||||
|
||||
Calculates the maximum of all `num` within a group.
|
||||
|
||||
### STDEV(num)
|
||||
|
||||
Calculates the standard deviation of all `num` within a group.
|
||||
|
||||
## Integer functions
|
||||
|
||||
### TRUNCATE(num)
|
||||
|
||||
Converts double precision number to integer.
|
||||
|
||||
## Logical functions
|
||||
|
||||
### IF(condition, true_op, false_op)
|
||||
|
||||
Evaluates `condition` and executes `false_op` if the result is 0 (false)
|
||||
otherwise `true_op` is executed.
|
||||
|
||||
### NETMASK(address [, v4_mask_length [, v6_mask_length]])
|
||||
|
||||
Masks the specified address using the v4 and v6 mask lengths specified
|
||||
in number of bits.
|
||||
|
||||
Defaults to 24 for IPv4 and 48 for IPv6 (/24 and /48 respectively)
|
||||
|
||||
### CC(address)
|
||||
|
||||
Returns the 2-letter ISO country code associated with the address from
|
||||
a MaxMind database (see MaxMind Database below on selecting database).
|
||||
|
||||
Returns an empty string on lookup failures or if this feature was not
|
||||
built in.
|
||||
|
||||
### ASN(address)
|
||||
|
||||
Returns the autonomous system number associated with the address from
|
||||
a MaxMind database (see MaxMind Database below on selecting database).
|
||||
|
||||
Returns -1 on lookup failures or if this feature was not built in.
|
||||
|
||||
## String operations
|
||||
|
||||
### RSPLIT(string, n [, char])
|
||||
|
||||
Splits a string on character `char` (default `.`) and selects the N'th split
|
||||
from the right, i.e: `RSPLIT('192.168.0.1',2)` returns 168.
|
||||
|
||||
### NAME(table, num)
|
||||
|
||||
Translate numbers into names table can be `rcode` or `qtype`, i.e:
|
||||
`name('rcode',rcode)` returns `NXDomain`.
|
||||
|
||||
### TRIM(string, trim)
|
||||
|
||||
Trims of any occurrences of the string `trim` from both end of the string,
|
||||
i.e: `trim('se.domains.se', 'se')` returns `.domains.`.
|
||||
|
||||
### LOWER(string)
|
||||
|
||||
Turns `string` into lowercase.
|
||||
|
||||
# MaxMind Database
|
||||
|
||||
PacketQ will try to open MaxMind databases that resides in common path on
|
||||
major distributions, but you can also specify paths and database files
|
||||
using environment variables.
|
||||
|
||||
`PACKETQ_MAXMIND_PATH` sets the path to look for the databases in addition
|
||||
to the common paths, it will try `GeoLite2-Country.mmdb` for `CC()` and
|
||||
`GeoLite2-ASN.mmdb` for `ASN()`.
|
||||
|
||||
You can also specify the full path to the database file you wish to use
|
||||
for each function with `PACKETQ_MAXMIND_CC_DB` and `PACKETQ_MAXMIND_ASN_DB`,
|
||||
these settings will override path settings.
|
Loading…
Add table
Add a link
Reference in a new issue