SPI\_fnumber

|       SPI\_fnumber       |                                |                                 |                  |                              |
|:------------------------:|--------------------------------|---------------------------------|------------------|------------------------------|
|[Prev](spi-spi-fname.html)|[Up](spi-interface-support.html)|47.2. Interface Support Functions|[Home](index.html)| [Next](spi-spi-getvalue.html)|

---

[]()

## SPI\_fnumber

SPI\_fnumber — determine the column number for the specified column name

## Synopsis

```
int SPI_fnumber(TupleDesc rowdesc, const char * colname)

```

## Description

`SPI_fnumber` returns the column number for the column with the specified name.

 If *`colname`* refers to a system column (e.g., `ctid`) then the appropriate negative column number will be returned. The caller should be careful to test the return value for exact equality to `SPI_ERROR_NOATTRIBUTE` to detect an error; testing the result for less than or equal to 0 is not correct unless system columns should be rejected.

## Arguments

`TupleDesc *`rowdesc`*`

 input row description

`const char * *`colname`*`

 column name

## Return Value

 Column number (count starts at 1 for user-defined columns), or `SPI_ERROR_NOATTRIBUTE` if the named column was not found.

---

|[Prev](spi-spi-fname.html)|[Up](spi-interface-support.html)| [Next](spi-spi-getvalue.html)|
|:-------------------------|:------------------------------:|-----------------------------:|
|        SPI\_fname        |       [Home](index.html)       |         SPI\_getvalue        |

 // \<![CDATA[ \<-- For SVG support if ('WebSocket' in window) { (function() { function refreshCSS() { var sheets = [].slice.call(document.getElementsByTagName("link")); var head = document.getElementsByTagName("head")[0]; for (var i = 0; i \< sheets.length; ++i) { var elem = sheets[i]; head.removeChild(elem); var rel = elem.rel; if (elem.href && typeof rel != "string" || rel.length == 0 || rel.toLowerCase() == "stylesheet") { var url = elem.href.replace(/(&|\\?)\_cacheOverride=\\d+/, ''); elem.href = url + (url.indexOf('?') \>= 0 ? '&' : '?') + '\_cacheOverride=' + (new Date().valueOf()); } head.appendChild(elem); } } var protocol = window.location.protocol === 'http:' ? 'ws://' : 'wss://'; var address = protocol + window.location.host + window.location.pathname + '/ws'; var socket = new WebSocket(address); socket.onmessage = function(msg) { if (msg.data == 'reload') window.location.reload(); else if (msg.data == 'refreshcss') refreshCSS(); }; console.log('Live reload enabled.'); })(); } // ]]\>