2020-02-25
2020-02-25 01:10:52 by Stephen R. van den Berg <srb@cuci.nl>
-
d22cd991527a5f4bac2c3358ac5ee1ce8d497dbf
(31 lines)
(+15/-16)
[
Show
| Annotate
]
Branch: 8.0
pgsql: Disentangle potentially shared empty arrays.
86:
private Thread.Mutex backendmux = Thread.Mutex();
final multiset(proxy) clients = set_weak_flag((<>), Pike.WEAK);
- constant emptyarray = ({});
- constant describenodata
- = (["datarowdesc":emptyarray, "datarowtypes":emptyarray,
- "datatypeoid":emptyarray]);
- private constant censoroptions = (<"use_ssl", "force_ssl",
+ mapping describenodata
+ = (["datarowdesc":({}), "datarowtypes":({}), "datatypeoid":({})]);
+ private multiset censoroptions = (<"use_ssl", "force_ssl",
"cache_autoprepared_statements", "reconnect", "text_query", "is_superuser",
"server_encoding", "server_version", "integer_datetimes",
"session_authorization">);
622:
catch {
foreach (runningportals; sql_result result; )
if (!result.datarowtypes) {
- result.datarowtypes = emptyarray;
+ result.datarowtypes = ({});
if (result._state != PURGED && !result.delayederror)
result.delayederror = LOSTERROR;
result._ddescribe->broadcast();
867:
}
final array(string) _showbindings() {
- array(string) msgs = emptyarray;
+ array(string) msgs = ({});
if (_params) {
array from, to, paramValues;
[from, to, paramValues] = _params;
1000:
waitfordescribe();
if (!datarowdesc)
error(LOSTERROR);
- return datarowdesc + emptyarray;
+ return datarowdesc + ({});
}
#ifdef PG_DEBUG
1145:
}
final void _preparebind(array dtoid) {
- array(string|int) paramValues = _params ? _params[2] : emptyarray;
+ array(string|int) paramValues = _params ? _params[2] : ({});
if (sizeof(dtoid) != sizeof(paramValues))
SUSERERROR("Invalid number of bindings, expected %d, got %d\n",
sizeof(dtoid), sizeof(paramValues));
1518:
if (!datarowtypes) {
if (_state != PURGED && !delayederror)
delayederror = LOSTERROR;
- datarowtypes = emptyarray;
+ datarowtypes = ({});
_ddescribe->broadcast();
}
if (delayederror && pgsqlsess && !pgsqlsess.delayederror)
1757:
private int backendpid;
final int(-128..127) backendstatus;
final mapping(string:mixed) options;
- private array(string) lastmessage = emptyarray;
+ private array(string) lastmessage = ({});
final int(0..1) clearmessage;
final int(0..1) untolderror;
private mapping(string:array(mixed)) notifylist = ([]);
1838:
untolderror = 0;
string s = lastmessage * "\n";
if (clear)
- lastmessage = emptyarray;
+ lastmessage = ({});
warningscollected = 0;
return sizeof(s) && s;
}
1888:
}
private array(string) showbindings(sql_result portal) {
- return portal ? portal._showbindings() : emptyarray;
+ return portal ? portal._showbindings() : ({});
}
private void preplastmessage(mapping(string:string) msgresponse) {
2020: Inside #if defined(PG_DEBUG)
if (msglen < 1)
errtype = PROTOCOLERROR;
#endif
- array ret = emptyarray, aw = ({0});
+ array ret = ({}), aw = ({0});
do {
string w = cr->read_cstring();
msglen -= sizeof(w) + 1; aw[0] = w; ret += aw;
2317:
PD("NoData %O\n", portal._query);
#endif
portal._fetchlimit = 0; // disables subsequent Executes
- portal->_processrowdesc(emptyarray, emptyarray);
+ portal->_processrowdesc(({}), ({}));
portal = 0;
break;
}
2494:
if (clearmessage) {
warningsdropcount += warningscollected;
clearmessage = warningscollected = 0;
- lastmessage = emptyarray;
+ lastmessage = ({});
}
warningscollected++;
lastmessage = ({sprintf("%s %s: %s",